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
public class ASTEnum extends ASTScalar
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:
- 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, 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId)
Stores a String representation of Expression as EJBQL using a provided PrintWriter.protected Object
evaluateNode(Object o)
Evaluates itself with object, pushing result on the stack.Object
getValue()
void
setEnumValue(String enumPath)
Expression
shallowCopy()
Creates a copy of this expression node, without copying children.-
Methods inherited from class org.apache.cayenne.exp.parser.ASTScalar
appendAsString, equals, getExpressionOperator, hashCode, setValue
-
Methods inherited from class org.apache.cayenne.exp.parser.SimpleNode
appendAsEJBQL, appendAsEscapedString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, expName, flattenTree, getEJBQLExpressionOperator, 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, filter, filterObjects, first, getType, joinExp, joinExp, match, orExp, orExp, params, params, paramsArray, setType, toEJBQL, toEJBQL, toString, transform, transformExpression, traverse, traverse
-
-
-
-
Constructor Detail
-
ASTEnum
public ASTEnum()
-
ASTEnum
public ASTEnum(Object value)
-
-
Method Detail
-
evaluateNode
protected Object evaluateNode(Object o)
Description copied from class:SimpleNode
Evaluates itself with object, pushing result on the stack.- Overrides:
evaluateNode
in classASTScalar
-
shallowCopy
public Expression shallowCopy()
Description copied from class:ASTScalar
Creates a copy of this expression node, without copying children.- Overrides:
shallowCopy
in classASTScalar
-
appendAsEJBQL
public void appendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOException
Description copied from class:Expression
Stores 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:
appendAsEJBQL
in classASTScalar
- Throws:
IOException
-
setEnumValue
public void setEnumValue(String enumPath) throws ParseException
- Throws:
ParseException
-
-