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:
java.io.Serializable, Node, XMLSerializable

public class ASTList
extends SimpleNode

A leaf expression representing an immutable collection of values.

Since:
1.1
Author:
Andrei Adamchik
See Also:
Serialized Form

Field Summary
protected  java.lang.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, ALL, AND, ANY, AVG, BETWEEN, COUNT, DB_PATH, DIVIDE, EQUAL_TO, EXISTS, GREATER_THAN, GREATER_THAN_EQUAL_TO, IN, LESS_THAN, LESS_THAN_EQUAL_TO, LIKE, LIKE_IGNORE_CASE, LIST, MAX, MIN, MULTIPLY, NEGATIVE, NOT, NOT_BETWEEN, NOT_EQUAL_TO, NOT_IN, NOT_LIKE, NOT_LIKE_IGNORE_CASE, OBJ_PATH, OR, POSITIVE, PRUNED_NODE, RAW_SQL, SOME, SUBQUERY, SUBTRACT, SUM, type
 
Constructor Summary
ASTList()
           
ASTList(java.util.Collection objects)
          Initializes a list expression with a Java Collection
ASTList(java.util.Iterator objects)
          Initializes a list expression with a Java Iterator.
ASTList(java.lang.Object[] objects)
          Initializes a list expression with an Object[].
 
Method Summary
 void encodeAsString(java.io.PrintWriter pw)
          Stores a String representation of Expression using a provided PrintWriter.
protected  java.lang.Object evaluateNode(java.lang.Object o)
          Evaluates itself with object, pushing result on the stack.
protected  java.lang.String getExpressionOperator(int index)
           
 java.lang.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, java.lang.Object value)
          Sets a value of operand at index.
protected  void setValues(java.lang.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
encodeAsEscapedString, encodeScalarAsString, evaluate, evaluateChild, expName, flattenTree, 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, 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 java.lang.Object[] values
Constructor Detail

ASTList

public ASTList()

ASTList

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


ASTList

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


ASTList

public ASTList(java.util.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 java.lang.Object evaluateNode(java.lang.Object o)
                                 throws java.lang.Exception
Description copied from class: SimpleNode
Evaluates itself with object, pushing result on the stack.

Specified by:
evaluateNode in class SimpleNode
Throws:
java.lang.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 java.lang.String getExpressionOperator(int index)
Specified by:
getExpressionOperator in class SimpleNode

encodeAsString

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

Overrides:
encodeAsString in class SimpleNode

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 java.lang.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,
                       java.lang.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(java.lang.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-2006 Apache.org All Rights Reserved.