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.ASTScalar

      `value`

    - ### 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`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ASTEnum()` |
    `ASTEnum​(Object value)` |

  - ### 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`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### 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 class `ASTScalar`

    - #### shallowCopy

          public Expression shallowCopy()

      Description copied from class: `ASTScalar`
      Creates a copy of this expression node, without copying children.
      Overrides:
        `shallowCopy` in class `ASTScalar`

    - #### 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 class `ASTScalar`
      Throws:
        `IOException`

    - #### getValue

          public Object getValue()

      Overrides:
        `getValue` in class `ASTScalar`

    - #### setEnumValue

          public void setEnumValue​(String enumPath)
                            throws ParseException

      Throws:
        `ParseException`