Class 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:
  • Field Details

    • values

      protected Object[] values
  • Constructor Details

    • 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 Details

    • 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
    • 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 class SimpleNode
      Throws:
      IOException
      Since:
      4.0
    • 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 class SimpleNode
      Throws:
      IOException
    • 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
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Expression