Package org.apache.cayenne.ejbql.parser

## 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

    All Methods Instance Methods Abstract Methods
    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 org.apache.cayenne.ejbql.EJBQLExpression

      `getChild, getChildrenCount, getText, isNegated, visit`

- - ### Method Detail

    - #### 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.