Package org.apache.cayenne.exp.parser
Class AggregateConditionNode
java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.AggregateConditionNode
- All Implemented Interfaces:
Serializable
,Node
,XMLSerializable
Superclass of aggregated conditional nodes such as NOT, AND, OR. Performs
extra checks on parent and child expressions to validate conditions that are
not addressed in the Cayenne expressions grammar.
- Since:
- 1.1
- See Also:
-
Field Summary
Fields inherited from class org.apache.cayenne.exp.parser.SimpleNode
children, id, parent
Fields inherited from class org.apache.cayenne.exp.Expression
ADD, AND, ASTERISK, BETWEEN, BITWISE_AND, BITWISE_LEFT_SHIFT, BITWISE_NOT, BITWISE_OR, BITWISE_RIGHT_SHIFT, BITWISE_XOR, CUSTOM_OP, DB_PATH, DBID_PATH, DIVIDE, ENCLOSING_OBJECT, EQUAL_TO, EXISTS, FALSE, FULL_OBJECT, FUNCTION_CALL, GREATER_THAN, GREATER_THAN_EQUAL_TO, IN, LESS_THAN, LESS_THAN_EQUAL_TO, LIKE, LIKE_IGNORE_CASE, LIST, MULTIPLY, NEGATIVE, NOT, NOT_BETWEEN, NOT_EQUAL_TO, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_LIKE_IGNORE_CASE, OBJ_PATH, OR, PRUNED_NODE, SUBQUERY, SUBTRACT, TRUE, type
-
Method Summary
Modifier and TypeMethodDescriptionvoid
jjtAddChild
(Node n, int i) This method tells the node to add its argument to the node's list of children.void
jjtSetParent
(Node n) This pair of methods are used to inform the node of its parent.protected boolean
pruneNodeForPrunedChild
(Object prunedChild) Returns true if this node should be pruned from expression tree in the event a child is removed.protected Object
transformExpression
(Function<Object, Object> transformer) A recursive method called from "transform" to do the actual transformation.Methods inherited from class org.apache.cayenne.exp.parser.SimpleNode
appendAsEJBQL, appendAsEJBQL, appendAsEscapedString, appendAsString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, evaluateNode, expName, flattenTree, getEJBQLExpressionOperator, getExpressionOperator, getOperand, getOperandCount, getPathAliases, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, notExp, setOperand, unwrapChild, wrapChild
Methods inherited from class org.apache.cayenne.exp.Expression
andExp, andExp, deepCopy, encodeAsXML, equals, filter, filterObjects, first, getType, hashCode, joinExp, joinExp, match, orExp, orExp, params, params, paramsArray, setType, shallowCopy, toEJBQL, toEJBQL, toString, transform, traverse, traverse
-
Method Details
-
pruneNodeForPrunedChild
Description copied from class:Expression
Returns true if this node should be pruned from expression tree in the event a child is removed.- Overrides:
pruneNodeForPrunedChild
in classSimpleNode
-
transformExpression
Description copied from class:Expression
A recursive method called from "transform" to do the actual transformation.- Overrides:
transformExpression
in classExpression
- Returns:
- null, Expression.PRUNED_NODE or transformed expression.
-
jjtSetParent
Description copied from interface:Node
This pair of methods are used to inform the node of its parent.- Specified by:
jjtSetParent
in interfaceNode
- Overrides:
jjtSetParent
in classSimpleNode
-
jjtAddChild
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 interfaceNode
- Overrides:
jjtAddChild
in classSimpleNode
-