# 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

  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 Object

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

- ## Constructor Details

  - ### SimpleNode

    public SimpleNode(int id)

- ## Method Details

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