Package org.apache.cayenne.exp.parser
Class ConditionNode
java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.ConditionNode
- All Implemented Interfaces:
Serializable
,Node
,XMLSerializable
- Direct Known Subclasses:
ASTAll
,ASTAny
,ASTBetween
,ASTEqual
,ASTExists
,ASTFalse
,ASTGreater
,ASTGreaterOrEqual
,ASTIn
,ASTLess
,ASTLessOrEqual
,ASTNotBetween
,ASTNotEqual
,ASTNotExists
,ASTNotIn
,ASTTrue
,PatternMatchNode
Superclass of conditional expressions.
- 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, 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
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
Evaluates itself with object, pushing result on the stack.protected abstract Boolean
evaluateSubNode
(Object o, Object[] evaluatedChildren) exists()
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 abstract int
protected boolean
Additional parent check that we can't handle properly in the grammar By default it just returns true.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).Methods inherited from class org.apache.cayenne.exp.parser.SimpleNode
appendAsEJBQL, appendAsEJBQL, appendAsEscapedString, appendAsString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, expName, flattenTree, getEJBQLExpressionOperator, getExpressionOperator, getOperand, getOperandCount, getPathAliases, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExp, pruneNodeForPrunedChild, 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, transformExpression, traverse, traverse
-
Constructor Details
-
ConditionNode
public ConditionNode(int i)
-
-
Method Details
-
isValidParent
Description copied from class:SimpleNode
Additional parent check that we can't handle properly in the grammar By default it just returns true.- Overrides:
isValidParent
in classSimpleNode
- Parameters:
n
- potential parent node to check- Returns:
- true if node could be set as a parent for the current node
-
evaluateNode
Description copied from class:SimpleNode
Evaluates itself with object, pushing result on the stack.- Specified by:
evaluateNode
in classSimpleNode
- Throws:
Exception
-
getRequiredChildrenCount
protected abstract int getRequiredChildrenCount() -
evaluateSubNode
- Throws:
Exception
-
exists
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).- Overrides:
exists
in classSimpleNode
- Returns:
- exists expression
- Since:
- 5.0
- See Also:
-
notExists
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).- Overrides:
notExists
in classSimpleNode
- Returns:
- not exists expression
- Since:
- 5.0
- See Also:
-