Package org.apache.cayenne.exp.parser
Class ASTEnum
java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.ASTScalar
org.apache.cayenne.exp.parser.ASTEnum
- All Implemented Interfaces:
Serializable,Node,XMLSerializable
Scalar node that represents constant enumeration value.
It resolves actual value at a late stage to be parsable in environment where
final Enum class is not known, i.e. in Modeler.
- Since:
- 4.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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) Stores a String representation of Expression as EJBQL using a provided PrintWriter.protected ObjectEvaluates itself with object, pushing result on the stack.getValue()voidsetEnumValue(String enumPath) Creates a copy of this expression node, without copying children.Methods inherited from class org.apache.cayenne.exp.parser.ASTScalar
appendAsString, equals, getExpressionOperator, getType, hashCode, setValueMethods inherited from class org.apache.cayenne.exp.parser.SimpleNode
appendAsEJBQL, appendAsEscapedString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, exists, expName, flattenTree, getEJBQLExpressionOperator, getOperand, getOperandCount, getPathAliases, isValidParent, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExists, notExp, pruneNodeForPrunedChild, setOperand, unwrapChild, wrapChildMethods inherited from class org.apache.cayenne.exp.Expression
andExp, andExp, deepCopy, encodeAsXML, filter, filterObjects, first, joinExp, joinExp, match, orExp, orExp, params, params, paramsArray, setType, toEJBQL, toEJBQL, toString, transform, transformExpression, traverse, traverse
-
Constructor Details
-
ASTEnum
public ASTEnum() -
ASTEnum
-
-
Method Details
-
evaluateNode
Description copied from class:SimpleNodeEvaluates itself with object, pushing result on the stack.- Overrides:
evaluateNodein classASTScalar
-
shallowCopy
Description copied from class:ASTScalarCreates a copy of this expression node, without copying children.- Overrides:
shallowCopyin classASTScalar
-
appendAsEJBQL
public void appendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOException Description copied from class:ExpressionStores a String representation of Expression as EJBQL using a provided PrintWriter. DB path expressions produce non-standard EJBQL path expressions. If the parameterAccumulator is supplied then as the EJBQL is output, it may load parameters into this list. In this case, the EJBQL output will contain reference to positional parameters. If no parameterAccumulator is supplied and a scalar type is encountered for which there is no EJBQL literal representation (such as dates) then this method will throw a runtime exception to indicate that it was not possible to generate a string-only representation of the Expression in EJBQL.- Overrides:
appendAsEJBQLin classASTScalar- Throws:
IOException
-
getValue
-
setEnumValue
- Throws:
ParseException
-