# Class ASTNamedParameter

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

All Implemented Interfaces:
  `Serializable, Node, XMLSerializable`

public class ASTNamedParameter extends ASTScalar
A named expression parameter.

Since:
  1.1
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class ASTScalar

  `value`

  ### Fields inherited from class SimpleNode

  `children, id, parent`

  ### Fields inherited from class 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
  Constructor
  Description
  `ASTNamedParameter()`
  `ASTNamedParameter(Object value)`

- ## Method Summary

  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.
  `void`
  `setValue(Object value)`
  `Expression`
  `shallowCopy()`
  Creates a copy of this expression node, without copying children.

  ### Methods inherited from class ASTScalar

  `appendAsString, equals, getExpressionOperator, getType, getValue, hashCode`

  ### Methods inherited from class 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, numericToString, pruneNodeForPrunedChild, setOperand, unwrapChild, wrapChild`

  ### Methods inherited from class Expression

  `andExp, andExp, deepCopy, encodeAsXML, filter, filterObjects, first, joinExp, joinExp, match, orExp, orExp, params, params, paramsArray, setType, toEJBQL, toEJBQL, toString, transform, transformExpression, traverse, traverse`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### ASTNamedParameter

    public ASTNamedParameter()

  - ### ASTNamedParameter

    public ASTNamedParameter(Object value)

- ## Method Details

  - ### evaluateNode

    protected Object evaluateNode(Object o) throws Exception
    Description copied from class: `SimpleNode`
    Evaluates itself with object, pushing result on the stack.
    Overrides:
      `evaluateNode` in class `ASTScalar`
    Throws:
      `Exception`

  - ### shallowCopy

    public Expression shallowCopy()
    Creates a copy of this expression node, without copying children.
    Overrides:
      `shallowCopy` in class `ASTScalar`

  - ### setValue

    public void setValue(Object value)
    Overrides:
      `setValue` 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`
    Since:
      4.0