Package org.apache.cayenne.exp.parser

# Class ASTPath

java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.ASTPath

All Implemented Interfaces:
  `Serializable`, `Node`, `XMLSerializable`

Direct Known Subclasses:
  `ASTDbPath`, `ASTObjPath`

public abstract class ASTPath extends SimpleNode
Generic path expression.

Since:
  1.1
See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String`
  `path`
  `protected Map<String,String>`
  `pathAliases`

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

  Modifier and Type
  Method
  Description
  `protected CayenneMapEntry`
  `evaluateEntityNode(Entity entity)`
  Helper method to evaluate path expression with Cayenne Entity.
  `protected String`
  `getExpressionOperator(int index)`
  `Object`
  `getOperand(int index)`
  Returns a value of operand at `index`.
  `int`
  `getOperandCount()`
  Returns a count of operands of this expression.
  `String`
  `getPath()`
  `Map<String,String>`
  `getPathAliases()`
  Always returns empty map.
  `int`
  `hashCode()`
  `void`
  `setOperand(int index, Object value)`
  Sets a value of operand at `index`.
  `protected void`
  `setPath(Object path)`
  `void`
  `setPathAliases(Map<String,String> pathAliases)`

  ### Methods inherited from class org.apache.cayenne.exp.parser.SimpleNode

  `appendAsEJBQL, appendAsEJBQL, appendAsEscapedString, appendAsString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, evaluateNode, expName, flattenTree, getEJBQLExpressionOperator, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExp, numericToString, pruneNodeForPrunedChild, unwrapChild, wrapChild`

  ### Methods inherited from class org.apache.cayenne.exp.Expression

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

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

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

- ## Field Details

  - ### path

    protected String path

  - ### pathAliases

    protected Map<String,String> pathAliases

- ## Method Details

  - ### getOperandCount

    public int getOperandCount()
    Description copied from class: `Expression`
    Returns a count of operands of this expression. In real life there are unary (count == 1), binary (count == 2) and ternary (count == 3) expressions.
    Overrides:
      `getOperandCount` in class `SimpleNode`

  - ### getOperand

    public Object getOperand(int index)
    Description copied from class: `Expression`
    Returns a value of operand at `index`. Operand indexing starts at 0.
    Overrides:
      `getOperand` in class `SimpleNode`

  - ### setOperand

    public void setOperand(int index, Object value)
    Description copied from class: `Expression`
    Sets a value of operand at `index`. Operand indexing starts at 0.
    Overrides:
      `setOperand` in class `SimpleNode`

  - ### setPath

    protected void setPath(Object path)

  - ### getPath

    public String getPath()

  - ### getPathAliases

    public Map<String,String> getPathAliases()
    Description copied from class: `SimpleNode`
    Always returns empty map.
    Overrides:
      `getPathAliases` in class `SimpleNode`
    Since:
      3.0

  - ### setPathAliases

    public void setPathAliases(Map<String,String> pathAliases)
    Since:
      3.0

  - ### evaluateEntityNode

    protected CayenneMapEntry evaluateEntityNode(Entity entity)
    Helper method to evaluate path expression with Cayenne Entity.

  - ### getExpressionOperator

    protected String getExpressionOperator(int index)
    Specified by:
      `getExpressionOperator` in class `SimpleNode`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Expression`