Package org.apache.cayenne.exp.parser
Class ASTDbIdPath
- 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
-
- org.apache.cayenne.exp.parser.ASTDbIdPath
-
- All Implemented Interfaces:
Serializable
,Node
,XMLSerializable
public class ASTDbIdPath extends ASTDbPath
- Since:
- 4.2
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
DBID_PREFIX
-
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
Constructors Constructor Description ASTDbIdPath()
ASTDbIdPath(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.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
evaluateNode(Object o)
Evaluates itself with object, pushing result on the stack.protected Object
evaluateNode(Object o, String localPath)
int
getType()
Returns a type of expression.Expression
shallowCopy()
Creates a copy of this expression node, without copying children.protected Map<?,?>
toMap(Object o)
-
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 Detail
-
DBID_PREFIX
public static final String DBID_PREFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ASTDbIdPath
public ASTDbIdPath()
-
ASTDbIdPath
public ASTDbIdPath(Object value)
-
-
Method Detail
-
shallowCopy
public Expression shallowCopy()
Creates a copy of this expression node, without copying children.- Overrides:
shallowCopy
in classASTDbPath
-
evaluateNode
protected Object evaluateNode(Object o)
Description copied from class:SimpleNode
Evaluates itself with object, pushing result on the stack.- Overrides:
evaluateNode
in classASTDbPath
-
evaluateEntityNode
protected CayenneMapEntry evaluateEntityNode(Entity entity)
Description copied from class:ASTDbPath
Helper method to evaluate path expression with Cayenne Entity.- Overrides:
evaluateEntityNode
in classASTDbPath
-
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.
-
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 classASTDbPath
- Throws:
IOException
-
appendAsString
public void appendAsString(Appendable out) throws IOException
Description copied from class:Expression
Appends own content as a String to the provided Appendable.- Overrides:
appendAsString
in classASTDbPath
- Throws:
IOException
-
-