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, parentFields inherited from class org.apache.cayenne.exp.Expression
ADD, ALL, AND, ANY, ASTERISK, BETWEEN, BITWISE_AND, BITWISE_LEFT_SHIFT, BITWISE_NOT, BITWISE_OR, BITWISE_RIGHT_SHIFT, BITWISE_XOR, CASE_WHEN, CUSTOM_OP, DB_PATH, DBID_PATH, DIVIDE, ELSE, 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, SCALAR, SUBQUERY, SUBTRACT, THEN, TRUE, type, WHEN -
Method Summary
Modifier and TypeMethodDescriptionexists()Returns expression that will be dynamically resolved to proper subqueries based on a relationships used (if no relationships are present in the original expression no subqueries will be used).protected booleanAdditional parent check that we can't handle properly in the grammar By default it just returns true.voidjjtAddChild(Node n, int i) This method tells the node to add its argument to the node's list of children.Returns expression that will be dynamically resolved to proper subqueries based on a relationships used (if no relationships are present in the original expression no subqueries will be used).protected booleanpruneNodeForPrunedChild(Object prunedChild) Returns true if this node should be pruned from expression tree in the event a child is removed.protected ObjecttransformExpression(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, jjtSetParent, notExp, setOperand, unwrapChild, wrapChildMethods 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:ExpressionReturns true if this node should be pruned from expression tree in the event a child is removed.- Overrides:
pruneNodeForPrunedChildin classSimpleNode
-
transformExpression
Description copied from class:ExpressionA recursive method called from "transform" to do the actual transformation.- Overrides:
transformExpressionin classExpression- Returns:
- null, Expression.PRUNED_NODE or transformed expression.
-
isValidParent
Description copied from class:SimpleNodeAdditional parent check that we can't handle properly in the grammar By default it just returns true.- Overrides:
isValidParentin classSimpleNode- Parameters:
n- potential parent node to check- Returns:
- true if node could be set as a parent for the current node
-
jjtAddChild
Description copied from interface:NodeThis method tells the node to add its argument to the node's list of children.- Specified by:
jjtAddChildin interfaceNode- Overrides:
jjtAddChildin classSimpleNode
-
exists
Description copied from class:ExpressionReturns expression that will be dynamically resolved to proper subqueries based on a relationships used (if no relationships are present in the original expression no subqueries will be used).- Overrides:
existsin classSimpleNode- Returns:
- exists expression
- See Also:
-
notExists
Description copied from class:ExpressionReturns expression that will be dynamically resolved to proper subqueries based on a relationships used (if no relationships are present in the original expression no subqueries will be used).- Overrides:
notExistsin classSimpleNode- Returns:
- not exists expression
- See Also:
-