org.apache.cayenne.exp.parser
Class ASTList

java.lang.Object
  extended by org.apache.cayenne.exp.Expression
      extended by org.apache.cayenne.exp.parser.SimpleNode
          extended by 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 Summary
protected  Object[] values
           
 
Fields inherited from class org.apache.cayenne.exp.parser.SimpleNode
children, id, parent
 
Fields inherited from class org.apache.cayenne.exp.Expression
ADD, AND, BETWEEN, DB_PATH, DIVIDE, EQUAL_TO, FALSE, 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
ASTList()
           
ASTList(Collection objects)
          Initializes a list expression with a Java Collection
ASTList(Iterator objects)
          Initializes a list expression with a Java Iterator.
ASTList(Object[] objects)
          Initializes a list expression with an Object[].
 
Method Summary
 void encodeAsEJBQL(PrintWriter pw, String rootId)
          Stores a String representation of Expression as EJBQL using a provided PrintWriter.
 void encodeAsString(PrintWriter pw)
          Stores a String representation of Expression using a provided PrintWriter.
protected  Object evaluateNode(Object o)
          Evaluates itself with object, pushing result on the stack.
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.
 int getType()
          Returns a type of expression.
 void jjtClose()
          Called after all the child nodes have been added.
 void setOperand(int index, Object value)
          Sets a value of operand at index.
protected  void setValues(Object value)
          Sets an internal collection of values.
 Expression shallowCopy()
          Creates a copy of this expression node, without copying children.
 
Methods inherited from class org.apache.cayenne.exp.parser.SimpleNode
connectChildren, encodeAsEscapedString, encodeChildrenAsEJBQL, encodeScalarAsString, evaluate, evaluateChild, expName, flattenTree, getEJBQLExpressionOperator, getPathAliases, jjtAddChild, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, notExp, pruneNodeForPrunedChild, unwrapChild, wrapChild
 
Methods inherited from class org.apache.cayenne.exp.Expression
andExp, deepCopy, encodeAsXML, equals, expWithParameters, expWithParameters, filter, filterObjects, fromString, joinExp, match, orExp, setType, toEJBQL, toString, transform, transformExpression, traverse, traverse
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

values

protected Object[] values
Constructor Detail

ASTList

public ASTList()

ASTList

public ASTList(Object[] objects)
Initializes a list expression with an Object[].


ASTList

public ASTList(Collection objects)
Initializes a list expression with a Java Collection


ASTList

public ASTList(Iterator objects)
Initializes a list expression with a Java Iterator.

Method Detail

shallowCopy

public Expression shallowCopy()
Creates a copy of this expression node, without copying children.

Specified by:
shallowCopy in class Expression

evaluateNode

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

Specified by:
evaluateNode in class SimpleNode
Throws:
Exception

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 class Expression

getExpressionOperator

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

encodeAsString

public void encodeAsString(PrintWriter pw)
Description copied from class: Expression
Stores a String representation of Expression using a provided PrintWriter.

Overrides:
encodeAsString in class SimpleNode

encodeAsEJBQL

public void encodeAsEJBQL(PrintWriter pw,
                          String rootId)
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.

Overrides:
encodeAsEJBQL in class SimpleNode
Since:
3.0

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

setValues

protected void setValues(Object value)
Sets an internal collection of values. Value argument can be an Object[], a Collection or an iterator.


jjtClose

public void jjtClose()
Description copied from interface: Node
Called after all the child nodes have been added.

Specified by:
jjtClose in interface Node
Overrides:
jjtClose in class SimpleNode


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.