Package org.apache.cayenne.exp.parser
Class ASTDbPath
java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.ASTPath
org.apache.cayenne.exp.parser.ASTDbPath
- All Implemented Interfaces:
Serializable
,Node
,XMLSerializable
- Direct Known Subclasses:
ASTDbIdPath
Path expression traversing DB relationships and attributes.
- Since:
- 1.1
- See Also:
-
Field Summary
Fields inherited from class org.apache.cayenne.exp.parser.ASTPath
path, 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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
appendAsEJBQL
(List<Object> parameterAccumulator, Appendable out, String rootId) Stores a String representation of Expression as EJBQL using a provided PrintWriter.void
appendAsString
(Appendable out) Appends own content as a String to the provided Appendable.protected CayenneMapEntry
evaluateEntityNode
(Entity entity) Helper method to evaluate path expression with Cayenne Entity.protected Object
Evaluates itself with object, pushing result on the stack.int
getType()
Returns a type of expression.Creates a copy of this expression node, without copying children.protected Map
<?, ?> Methods inherited from class org.apache.cayenne.exp.parser.ASTPath
getExpressionOperator, getOperand, getOperandCount, getPath, getPathAliases, hashCode, setOperand, setPath, setPathAliases
Methods inherited from class org.apache.cayenne.exp.parser.SimpleNode
appendAsEJBQL, appendAsEscapedString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, expName, flattenTree, getEJBQLExpressionOperator, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExp, pruneNodeForPrunedChild, unwrapChild, wrapChild
Methods inherited from class org.apache.cayenne.exp.Expression
andExp, andExp, deepCopy, encodeAsXML, equals, filter, filterObjects, first, joinExp, joinExp, match, orExp, orExp, params, params, paramsArray, setType, toEJBQL, toEJBQL, toString, transform, transformExpression, traverse, traverse
-
Field Details
-
DB_PREFIX
- See Also:
-
-
Constructor Details
-
ASTDbPath
public ASTDbPath() -
ASTDbPath
-
-
Method Details
-
evaluateNode
Description copied from class:SimpleNode
Evaluates itself with object, pushing result on the stack.- Specified by:
evaluateNode
in classSimpleNode
- Throws:
Exception
-
toMap
-
shallowCopy
Creates a copy of this expression node, without copying children.- Specified by:
shallowCopy
in classExpression
-
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 classSimpleNode
- Throws:
IOException
- Since:
- 4.0
-
appendAsString
Description copied from class:Expression
Appends own content as a String to the provided Appendable.- Overrides:
appendAsString
in classSimpleNode
- Throws:
IOException
- Since:
- 4.0
-
getType
public int getType()Description copied from class:Expression
Returns a type of expression. Most common types are defined as public static fields of this interface.- Overrides:
getType
in classExpression
-
evaluateEntityNode
Helper method to evaluate path expression with Cayenne Entity.- Overrides:
evaluateEntityNode
in classASTPath
-