Node (cayenne-doc: Cayenne Documentation 5.0-M2 API)
Description: declaration: package: org.apache.cayenne.ejbql.parser, interface: Node

# Interface Node

All Superinterfaces:
  `EJBQLExpression`

All Known Implementing Classes:
  `AggregateConditionNode, EJBQLAbs, EJBQLAbstractSchemaName, EJBQLAdd, EJBQLAggregate, EJBQLAggregateColumn, EJBQLAll, EJBQLAnd, EJBQLAny, EJBQLAscending, EJBQLAverage, EJBQLBetween, EJBQLBooleanLiteral, EJBQLClassName, EJBQLConcat, EJBQLConstructor, EJBQLConstructorParameter, EJBQLConstructorParameters, EJBQLCount, EJBQLCurrentDate, EJBQLCurrentTime, EJBQLCurrentTimestamp, EJBQLDbPath, EJBQLDecimalLiteral, EJBQLDelete, EJBQLDescending, EJBQLDistinct, EJBQLDivide, EJBQLEquals, EJBQLEscapeCharacter, EJBQLExists, EJBQLFrom, EJBQLFromItem, EJBQLGreaterOrEqual, EJBQLGreaterThan, EJBQLGroupBy, EJBQLHaving, EJBQLIdentificationVariable, EJBQLIdentifier, EJBQLIn, EJBQLInnerFetchJoin, EJBQLInnerJoin, EJBQLIntegerLiteral, EJBQLIsEmpty, EJBQLIsNull, EJBQLJoin, EJBQLLength, EJBQLLessOrEqual, EJBQLLessThan, EJBQLLike, EJBQLLocate, EJBQLLower, EJBQLMax, EJBQLMemberOf, EJBQLMin, EJBQLMod, EJBQLMultiply, EJBQLNamedInputParameter, EJBQLNegative, EJBQLNot, EJBQLNotEquals, EJBQLOr, EJBQLOrderBy, EJBQLOrderByItem, EJBQLOuterFetchJoin, EJBQLOuterJoin, EJBQLPath, EJBQLPatternValue, EJBQLPositionalInputParameter, EJBQLSelect, EJBQLSelectClause, EJBQLSelectExpression, EJBQLSelectExpressions, EJBQLSize, EJBQLSqrt, EJBQLStringLiteral, EJBQLSubselect, EJBQLSubstring, EJBQLSubtract, EJBQLSum, EJBQLTok, EJBQLTrim, EJBQLTrimBoth, EJBQLTrimCharacter, EJBQLTrimLeading, EJBQLTrimSpecification, EJBQLTrimTrailing, EJBQLUpdate, EJBQLUpdateField, EJBQLUpdateItem, EJBQLUpdateValue, EJBQLUpper, EJBQLWhere, SimpleNode`

public interface Node extends EJBQLExpression
A JJTree-compliant tree node interface.

Since:
  3.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `jjtAddChild(Node n, int i)`
  This method tells the node to add its argument to the node's list of children.
  `void`
  `jjtClose()`
  This method is called after all the child nodes have been added.
  `Node`
  `jjtGetChild(int i)`
  This method returns a child node.
  `int`
  `jjtGetNumChildren()`
  Return the number of children the node has.
  `Node`
  `jjtGetParent()`
  `void`
  `jjtOpen()`
  This method is called after the node has been made the current node.
  `void`
  `jjtSetParent(Node n)`
  This pair of methods are used to inform the node of its parent.

  ### Methods inherited from interface EJBQLExpression

  `getChild, getChildrenCount, getText, isNegated, visit`
  Modifier and Type
  Method
  Description
  `EJBQLExpression`
  `getChild(int index)`
  Returns a child expression node at the specified index.
  `int`
  `getChildrenCount()`
  Returns a number of child operands of this expression node.
  `String`
  `getText()`
  Returns a text property of the node.
  `boolean`
  `isNegated()`
  Returns an optional boolean flag that negates the value of the expression.
  `void`
  `visit(EJBQLExpressionVisitor visitor)`
  Accepts a visitor, calling appropriate visitor method.

- ## Method Details

  - ### jjtOpen

    void jjtOpen()
    This method is called after the node has been made the current node. It indicates that child nodes can now be added to it.

  - ### jjtClose

    void jjtClose()
    This method is called after all the child nodes have been added.

  - ### jjtSetParent

    void jjtSetParent(Node n)
    This pair of methods are used to inform the node of its parent.

  - ### jjtGetParent

    Node jjtGetParent()

  - ### jjtAddChild

    void jjtAddChild(Node n, int i)
    This method tells the node to add its argument to the node's list of children.

  - ### jjtGetChild

    Node jjtGetChild(int i)
    This method returns a child node. The children are numbered from zero, left to right.

  - ### jjtGetNumChildren

    int jjtGetNumChildren()
    Return the number of children the node has.