Package org.apache.cayenne.ejbql.parser

## Class SimpleNode

- java.lang.Object
- - org.apache.cayenne.ejbql.parser.SimpleNode

- All Implemented Interfaces:
    `Serializable`, `EJBQLExpression`, `Node`
  Direct Known Subclasses:
    `AggregateConditionNode`, `EJBQLAbs`, `EJBQLAbstractSchemaName`, `EJBQLAdd`, `EJBQLAggregate`, `EJBQLAggregateColumn`, `EJBQLAll`, `EJBQLAny`, `EJBQLAscending`, `EJBQLBetween`, `EJBQLBooleanLiteral`, `EJBQLClassName`, `EJBQLConcat`, `EJBQLConstructor`, `EJBQLConstructorParameter`, `EJBQLConstructorParameters`, `EJBQLCurrentDate`, `EJBQLCurrentTime`, `EJBQLCurrentTimestamp`, `EJBQLDecimalLiteral`, `EJBQLDelete`, `EJBQLDescending`, `EJBQLDistinct`, `EJBQLDivide`, `EJBQLEquals`, `EJBQLEscapeCharacter`, `EJBQLExists`, `EJBQLFrom`, `EJBQLFromItem`, `EJBQLGreaterOrEqual`, `EJBQLGreaterThan`, `EJBQLGroupBy`, `EJBQLHaving`, `EJBQLIdentificationVariable`, `EJBQLIdentifier`, `EJBQLIn`, `EJBQLIntegerLiteral`, `EJBQLIsEmpty`, `EJBQLIsNull`, `EJBQLJoin`, `EJBQLLength`, `EJBQLLessOrEqual`, `EJBQLLessThan`, `EJBQLLike`, `EJBQLLocate`, `EJBQLLower`, `EJBQLMemberOf`, `EJBQLMod`, `EJBQLMultiply`, `EJBQLNamedInputParameter`, `EJBQLNegative`, `EJBQLNotEquals`, `EJBQLOrderBy`, `EJBQLOrderByItem`, `EJBQLPath`, `EJBQLPatternValue`, `EJBQLPositionalInputParameter`, `EJBQLSelect`, `EJBQLSelectClause`, `EJBQLSelectExpression`, `EJBQLSelectExpressions`, `EJBQLSize`, `EJBQLSqrt`, `EJBQLStringLiteral`, `EJBQLSubselect`, `EJBQLSubstring`, `EJBQLSubtract`, `EJBQLTok`, `EJBQLTrim`, `EJBQLTrimCharacter`, `EJBQLTrimSpecification`, `EJBQLUpdate`, `EJBQLUpdateField`, `EJBQLUpdateItem`, `EJBQLUpdateValue`, `EJBQLUpper`, `EJBQLWhere`

      public abstract class SimpleNode
      extends Object
      implements Node, Serializable, EJBQLExpression

  A base node for the EJBQL concrete nodes that satisfies JJTree requirements.
  Since:
    3.0
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SimpleNode​(int id)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    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` | `getName()` |
    `String` | `getText()` | Returns a text property of the node.
    `boolean` | `isNegated()` | Returns an optional boolean flag that negates the value of the expression.
    `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 parent)` | This pair of methods are used to inform the node of its parent.
    `void` | `setText​(String text)` |
    `String` | `toString()` |
    `void` | `visit​(EJBQLExpressionVisitor visitor)` | A recursive visit method that passes a visitor to this node and all its children, depth first.
    `protected boolean` | `visitChild​(EJBQLExpressionVisitor visitor, int childIndex)` | Recursively visits a child at the specified index.
    `protected boolean` | `visitNode​(EJBQLExpressionVisitor visitor)` | Visits this node without recursion.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### SimpleNode

          public SimpleNode​(int id)

  - ### Method Detail

    - #### getText

          public String getText()

      Description copied from interface: `EJBQLExpression`
      Returns a text property of the node.
      Specified by:
        `getText` in interface `EJBQLExpression`

    - #### isNegated

          public boolean isNegated()

      Description copied from interface: `EJBQLExpression`
      Returns an optional boolean flag that negates the value of the expression.
      Specified by:
        `isNegated` in interface `EJBQLExpression`

    - #### visit

          public void visit​(EJBQLExpressionVisitor visitor)

      A recursive visit method that passes a visitor to this node and all its children, depth first.
      Specified by:
        `visit` in interface `EJBQLExpression`

    - #### visitNode

          protected boolean visitNode​(EJBQLExpressionVisitor visitor)

      Visits this node without recursion. Default implementation simply returns true. Subclasses override this method to call an appropriate visitor method.

    - #### visitChild

          protected boolean visitChild​(EJBQLExpressionVisitor visitor,
                                       int childIndex)

      Recursively visits a child at the specified index. Subclasses override this method if they desire to implement callbacks after visiting each child.

    - #### getChild

          public EJBQLExpression getChild​(int index)

      Description copied from interface: `EJBQLExpression`
      Returns a child expression node at the specified index.
      Specified by:
        `getChild` in interface `EJBQLExpression`

    - #### getChildrenCount

          public int getChildrenCount()

      Description copied from interface: `EJBQLExpression`
      Returns a number of child operands of this expression node.
      Specified by:
        `getChildrenCount` in interface `EJBQLExpression`

    - #### getName

          public String getName()

    - #### jjtOpen

          public void jjtOpen()

      Description copied from interface: `Node`
      This method is called after the node has been made the current node. It indicates that child nodes can now be added to it.
      Specified by:
        `jjtOpen` in interface `Node`

    - #### jjtClose

          public void jjtClose()

      Description copied from interface: `Node`
      This method is called after all the child nodes have been added.
      Specified by:
        `jjtClose` in interface `Node`

    - #### jjtSetParent

          public void jjtSetParent​(Node parent)

      Description copied from interface: `Node`
      This pair of methods are used to inform the node of its parent.
      Specified by:
        `jjtSetParent` in interface `Node`

    - #### jjtGetParent

          public Node jjtGetParent()

      Specified by:
        `jjtGetParent` in interface `Node`

    - #### jjtAddChild

          public void jjtAddChild​(Node n,
                                  int i)

      Description copied from interface: `Node`
      This method tells the node to add its argument to the node's list of children.
      Specified by:
        `jjtAddChild` in interface `Node`

    - #### jjtGetChild

          public Node jjtGetChild​(int i)

      Description copied from interface: `Node`
      This method returns a child node. The children are numbered from zero, left to right.
      Specified by:
        `jjtGetChild` in interface `Node`

    - #### jjtGetNumChildren

          public int jjtGetNumChildren()

      Description copied from interface: `Node`
      Return the number of children the node has.
      Specified by:
        `jjtGetNumChildren` in interface `Node`

    - #### setText

          public void setText​(String text)

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`