Package org.apache.cayenne.exp.parser
Class ASTList
java.lang.Object
org.apache.cayenne.exp.Expression
org.apache.cayenne.exp.parser.SimpleNode
org.apache.cayenne.exp.parser.ASTList
- All Implemented Interfaces:
- Serializable,- Node,- XMLSerializable
public class ASTList extends SimpleNode
A leaf expression representing an immutable collection of values.
- Since:
- 1.1
- See Also:
- Serialized Form
- 
Field SummaryFields inherited from class org.apache.cayenne.exp.parser.SimpleNodechildren, id, parentFields inherited from class org.apache.cayenne.exp.ExpressionADD, 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
- 
Method SummaryModifier and Type Method Description voidappendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId)Stores a String representation of Expression as EJBQL using a provided PrintWriter.voidappendAsString(Appendable out)Appends own content as a String to the provided Appendable.protected ObjectevaluateNode(Object o)Evaluates itself with object, pushing result on the stack.protected StringgetExpressionOperator(int index)ObjectgetOperand(int index)Returns a value of operand atindex.intgetOperandCount()Returns a count of operands of this expression.intgetType()Returns a type of expression.inthashCode()voidjjtClose()Called after all the child nodes have been added.voidsetOperand(int index, Object value)Sets a value of operand atindex.protected voidsetValues(Object value)Sets an internal collection of values.ExpressionshallowCopy()Creates a copy of this expression node, without copying children.Methods inherited from class org.apache.cayenne.exp.parser.SimpleNodeappendAsEJBQL, appendAsEscapedString, appendChildrenAsEJBQL, appendScalarAsString, connectChildren, encodeScalarAsEJBQL, evaluate, evaluateChild, expName, flattenTree, getEJBQLExpressionOperator, getPathAliases, jjtAddChild, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExp, pruneNodeForPrunedChild, unwrapChild, wrapChildMethods inherited from class org.apache.cayenne.exp.ExpressionandExp, 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- 
values
 
- 
- 
Constructor Details- 
ASTListpublic ASTList()
- 
ASTListInitializes a list expression with an Object[].
- 
ASTListInitializes a list expression with a Java Collection
- 
ASTListInitializes a list expression with a Java Iterator.
 
- 
- 
Method Details- 
shallowCopyCreates a copy of this expression node, without copying children.- Specified by:
- shallowCopyin class- Expression
 
- 
evaluateNodeDescription copied from class:SimpleNodeEvaluates itself with object, pushing result on the stack.- Specified by:
- evaluateNodein class- SimpleNode
- Throws:
- Exception
 
- 
getTypepublic int getType()Description copied from class:ExpressionReturns a type of expression. Most common types are defined as public static fields of this interface.- Overrides:
- getTypein class- Expression
 
- 
getExpressionOperator- Specified by:
- getExpressionOperatorin class- SimpleNode
 
- 
appendAsStringDescription copied from class:ExpressionAppends own content as a String to the provided Appendable.- Overrides:
- appendAsStringin class- SimpleNode
- Throws:
- IOException
- Since:
- 4.0
 
- 
appendAsEJBQLpublic void appendAsEJBQL(List<Object> parameterAccumulator, Appendable out, String rootId) throws IOExceptionDescription copied from class:ExpressionStores 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:
- appendAsEJBQLin class- SimpleNode
- Throws:
- IOException
 
- 
getOperandCountpublic int getOperandCount()Description copied from class:ExpressionReturns a count of operands of this expression. In real life there are unary (count == 1), binary (count == 2) and ternary (count == 3) expressions.- Overrides:
- getOperandCountin class- SimpleNode
 
- 
getOperandDescription copied from class:ExpressionReturns a value of operand atindex. Operand indexing starts at 0.- Overrides:
- getOperandin class- SimpleNode
 
- 
setOperandDescription copied from class:ExpressionSets a value of operand atindex. Operand indexing starts at 0.- Overrides:
- setOperandin class- SimpleNode
 
- 
setValuesSets an internal collection of values. Value argument can be an Object[], a Collection or an iterator.
- 
jjtClosepublic void jjtClose()Description copied from interface:NodeCalled after all the child nodes have been added.- Specified by:
- jjtClosein interface- Node
- Overrides:
- jjtClosein class- SimpleNode
 
- 
hashCodepublic int hashCode()- Overrides:
- hashCodein class- Expression
 
 
-