de.odysseus.el.tree.impl.ast
Class AstText

java.lang.Object
  extended by de.odysseus.el.tree.impl.ast.AstNode
      extended by de.odysseus.el.tree.impl.ast.AstText
All Implemented Interfaces:
ExpressionNode, Node

public final class AstText
extends AstNode


Constructor Summary
AstText(java.lang.String value)
           
 
Method Summary
 void appendStructure(java.lang.StringBuilder b, Bindings bindings)
           
 java.lang.Object eval(Bindings bindings, ELContext context)
           
 int getCardinality()
          Get the node's number of children.
 AstNode getChild(int i)
          Get i'th child
 MethodInfo getMethodInfo(Bindings bindings, ELContext context, java.lang.Class returnType, java.lang.Class[] paramTypes)
          Get method information.
 java.lang.Class<?> getType(Bindings bindings, ELContext context)
          Get the value type accepted in ExpressionNode.setValue(Bindings, ELContext, Object).
 java.lang.Object invoke(Bindings bindings, ELContext context, java.lang.Class returnType, java.lang.Class[] paramTypes, java.lang.Object[] paramValues)
          Invoke method.
 boolean isLeftValue()
           
 boolean isLiteralText()
           
 boolean isReadOnly(Bindings bindings, ELContext context)
          Determine whether ExpressionNode.setValue(Bindings, ELContext, Object) will throw a PropertyNotWritableException.
 void setValue(Bindings bindings, ELContext context, java.lang.Object value)
          Assign value.
 java.lang.String toString()
           
 
Methods inherited from class de.odysseus.el.tree.impl.ast.AstNode
getStructuralId, getValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AstText

public AstText(java.lang.String value)
Method Detail

isLiteralText

public boolean isLiteralText()
Returns:
true if this node represents literal text

isLeftValue

public boolean isLeftValue()
Returns:
true if the subtree rooted at this node could be used as an lvalue expression (identifier or property sequence with non-literal proefix).

getType

public java.lang.Class<?> getType(Bindings bindings,
                                  ELContext context)
Description copied from interface: ExpressionNode
Get the value type accepted in ExpressionNode.setValue(Bindings, ELContext, Object).

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
Returns:
accepted type or null for non-lvalue nodes

isReadOnly

public boolean isReadOnly(Bindings bindings,
                          ELContext context)
Description copied from interface: ExpressionNode
Determine whether ExpressionNode.setValue(Bindings, ELContext, Object) will throw a PropertyNotWritableException.

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
Returns:
true if this a read-only expression node

setValue

public void setValue(Bindings bindings,
                     ELContext context,
                     java.lang.Object value)
Description copied from interface: ExpressionNode
Assign value.

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
value - value to set

eval

public java.lang.Object eval(Bindings bindings,
                             ELContext context)
Specified by:
eval in class AstNode

getMethodInfo

public MethodInfo getMethodInfo(Bindings bindings,
                                ELContext context,
                                java.lang.Class returnType,
                                java.lang.Class[] paramTypes)
Description copied from interface: ExpressionNode
Get method information. If this is a non-lvalue node, answer null.

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
returnType - expected method return type (may be null meaning don't care)
paramTypes - expected method argument types
Returns:
method information or null

invoke

public java.lang.Object invoke(Bindings bindings,
                               ELContext context,
                               java.lang.Class returnType,
                               java.lang.Class[] paramTypes,
                               java.lang.Object[] paramValues)
Description copied from interface: ExpressionNode
Invoke method.

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
returnType - expected method return type (may be null meaning don't care)
paramTypes - expected method argument types
paramValues - parameter values
Returns:
result of the method invocation

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

appendStructure

public void appendStructure(java.lang.StringBuilder b,
                            Bindings bindings)
Specified by:
appendStructure in class AstNode

getCardinality

public int getCardinality()
Description copied from interface: Node
Get the node's number of children.


getChild

public AstNode getChild(int i)
Description copied from interface: Node
Get i'th child


Copyright © 2006, 2007 Odysseus Software GmbH.