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
public abstract class AggregateConditionNode extends SimpleNode
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:
- Serialized Form
-
-
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, DB_PATH, DIVIDE, EQUAL_TO, 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_IN, NOT_LIKE, NOT_LIKE_IGNORE_CASE, OBJ_PATH, OR, PRUNED_NODE, SUBTRACT, TRUE, type
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidjjtAddChild(Node n, int i)This method tells the node to add its argument to the node's list of children.voidjjtSetParent(Node n)This pair of methods are used to inform the node of its parent.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, 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 Detail
-
pruneNodeForPrunedChild
protected boolean pruneNodeForPrunedChild(Object prunedChild)
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
protected Object transformExpression(Function<Object,Object> transformer)
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.
-
jjtSetParent
public void jjtSetParent(Node n)
Description copied from interface:NodeThis pair of methods are used to inform the node of its parent.- Specified by:
jjtSetParentin interfaceNode- Overrides:
jjtSetParentin classSimpleNode
-
jjtAddChild
public void jjtAddChild(Node n, int i)
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
-
-