## Uses of Interface
org.apache.cayenne.exp.parser.Node

- Packages that use Node
  Package | Description
  --- | ---
  org.apache.cayenne.exp.parser | Contains expression parser and other expression internals.

- - ### Uses of Node in org.apache.cayenne.exp.parser

    Classes in org.apache.cayenne.exp.parser that implement Node
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AggregateConditionNode` | Superclass of aggregated conditional nodes such as NOT, AND, OR.
    `class` | `ASTAbs` |
    `class` | `ASTAdd` | "Add" Expression.
    `class` | `ASTAggregateFunctionCall` | Base class for all aggregation functions expressions It's more like marker interface for now.
    `class` | `ASTAnd` | "And" expression.
    `class` | `ASTAsterisk` | Asterisk operator for COUNT(*) expression.
    `class` | `ASTAvg` |
    `class` | `ASTBetween` | "Between" expression.
    `class` | `ASTBitwiseAnd` | Bitwise conjunction (AND or '&') expression
    `class` | `ASTBitwiseLeftShift` | Bitwise left shift '<<' operation.
    `class` | `ASTBitwiseNot` | Bitwise negation (NOT i.e.
    `class` | `ASTBitwiseOr` | Bitwise disjunction (OR or '|') expression.
    `class` | `ASTBitwiseRightShift` | Bitwise right shift '>>' operation.
    `class` | `ASTBitwiseXor` | Bitwise exclusive disjunction (XOR or '^') operation.
    `class` | `ASTConcat` |
    `class` | `ASTCount` |
    `class` | `ASTCurrentDate` |
    `class` | `ASTCurrentTime` |
    `class` | `ASTCurrentTimestamp` |
    `class` | `ASTCustomFunction` |
    `class` | `ASTCustomOperator` |
    `class` | `ASTDbIdPath` |
    `class` | `ASTDbPath` | Path expression traversing DB relationships and attributes.
    `class` | `ASTDistinct` |
    `class` | `ASTDivide` | "Divide" expression.
    `class` | `ASTEnclosingObject` |
    `class` | `ASTEnum` | Scalar node that represents constant enumeration value.
    `class` | `ASTEqual` | "Equal To" expression.
    `class` | `ASTExists` |
    `class` | `ASTExtract` |
    `class` | `ASTFalse` | Boolean false expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value.
    `class` | `ASTFullObject` |
    `class` | `ASTFunctionCall` |
    `class` | `ASTGreater` | "Greater Than" expression.
    `class` | `ASTGreaterOrEqual` | "Greater Than Or Equal To" expression.
    `class` | `ASTIn` | "In" expression.
    `class` | `ASTLength` |
    `class` | `ASTLess` | "Less Then" expression.
    `class` | `ASTLessOrEqual` | "Less than or equal to" expression.
    `class` | `ASTLike` | "Like" expression.
    `class` | `ASTLikeIgnoreCase` | "Case insensitive like" expression.
    `class` | `ASTList` | A leaf expression representing an immutable collection of values.
    `class` | `ASTLocate` |
    `class` | `ASTLower` |
    `class` | `ASTMax` |
    `class` | `ASTMin` |
    `class` | `ASTMod` |
    `class` | `ASTMultiply` | "Multiply" expression.
    `class` | `ASTNamedParameter` | A named expression parameter.
    `class` | `ASTNegate` | "Negate" expression.
    `class` | `ASTNot` | "Not" expression.
    `class` | `ASTNotBetween` | "Not Between" expression.
    `class` | `ASTNotEqual` | "Not equal to" expression.
    `class` | `ASTNotExists` |
    `class` | `ASTNotIn` | "Not In" expression.
    `class` | `ASTNotLike` | "Not Like" expression.
    `class` | `ASTNotLikeIgnoreCase` | "Not like, ignore case" expression.
    `class` | `ASTObjPath` |
    `class` | `ASTOr` | "Or" expression.
    `class` | `ASTPath` | Generic path expression.
    `class` | `ASTScalar` | A scalar value wrapper expression.
    `class` | `ASTSqrt` |
    `class` | `ASTSubquery` |
    `class` | `ASTSubstring` |
    `class` | `ASTSubtract` | "Subtract" expression.
    `class` | `ASTSum` |
    `class` | `ASTTrim` |
    `class` | `ASTTrue` | Boolean true expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value.
    `class` | `ASTUpper` |
    `class` | `ConditionNode` | Superclass of conditional expressions.
    `class` | `EvaluatedBitwiseNode` |
    `class` | `EvaluatedMathNode` |
    `class` | `EvaluatedNode` |
    `class` | `PatternMatchNode` | Superclass of pattern matching nodes.
    `class` | `SimpleNode` | Superclass of AST* expressions that implements Node interface defined by JavaCC framework.

    Fields in org.apache.cayenne.exp.parser declared as Node
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Node[]` | SimpleNode.`children` |
    `protected Node` | SimpleNode.`parent` |

    Methods in org.apache.cayenne.exp.parser that return Node
    Modifier and Type | Method | Description
    --- | --- | ---
    `Node` | Node.`jjtGetChild​(int i)` | This method returns a child node.
    `Node` | SimpleNode.`jjtGetChild​(int i)` |
    `Node` | Node.`jjtGetParent()` |
    `Node` | SimpleNode.`jjtGetParent()` |
    `Node` | JJTExpressionParserState.`peekNode()` |
    `Node` | JJTExpressionParserState.`popNode()` |
    `Node` | JJTExpressionParserState.`rootNode()` |
    `protected Node` | SimpleNode.`wrapChild​(Object child)` |

    Methods in org.apache.cayenne.exp.parser with parameters of type Node
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | JJTExpressionParserState.`clearNodeScope​(Node n)` |
    `void` | JJTExpressionParserState.`closeNodeScope​(Node n, boolean condition)` |
    `void` | JJTExpressionParserState.`closeNodeScope​(Node n, int num)` |
    `void` | AggregateConditionNode.`jjtAddChild​(Node n, int i)` |
    `void` | ASTCustomFunction.`jjtAddChild​(Node n, int i)` |
    `void` | ASTCustomOperator.`jjtAddChild​(Node n, int i)` |
    `void` | Node.`jjtAddChild​(Node n, int i)` | This method tells the node to add its argument to the node's list of children.
    `void` | PatternMatchNode.`jjtAddChild​(Node n, int i)` |
    `void` | SimpleNode.`jjtAddChild​(Node n, int i)` |
    `void` | AggregateConditionNode.`jjtSetParent​(Node n)` |
    `void` | ConditionNode.`jjtSetParent​(Node n)` |
    `void` | Node.`jjtSetParent​(Node n)` | This pair of methods are used to inform the node of its parent.
    `void` | SimpleNode.`jjtSetParent​(Node n)` |
    `void` | JJTExpressionParserState.`openNodeScope​(Node n)` |
    `void` | JJTExpressionParserState.`pushNode​(Node n)` |
    `protected Object` | SimpleNode.`unwrapChild​(Node child)` |

    Constructors in org.apache.cayenne.exp.parser with parameters of type Node
    Constructor | Description
    --- | ---
    `ASTNot​(Node expression)` |

    Constructor parameters in org.apache.cayenne.exp.parser with type arguments of type Node
    Constructor | Description
    --- | ---
    `ASTAnd​(Collection<? extends Node> nodes)` |
    `ASTOr​(Collection<? extends Node> nodes)` |