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

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

public class AstFunction
extends AstRightValue
implements FunctionNode


Constructor Summary
AstFunction(java.lang.String name, int index, AstParameters params)
           
AstFunction(java.lang.String name, int index, AstParameters params, boolean varargs)
           
 
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
 int getIndex()
          Get the unique index of this identifier in the expression (e.g.
 java.lang.String getName()
          Get the full function name
protected  AstNode getParam(int i)
           
 int getParamCount()
          Get the number of parameters for this function
protected  java.lang.Object invoke(Bindings bindings, ELContext context, java.lang.Object base, java.lang.reflect.Method method)
          Invoke method.
 boolean isVarArgs()
           
 java.lang.String toString()
           
 
Methods inherited from class de.odysseus.el.tree.impl.ast.AstRightValue
getMethodInfo, getType, getValueReference, invoke, isLeftValue, isLiteralText, isMethodInvocation, isReadOnly, setValue
 
Methods inherited from class de.odysseus.el.tree.impl.ast.AstNode
findAccessibleMethod, getStructuralId, getValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AstFunction

public AstFunction(java.lang.String name,
                   int index,
                   AstParameters params)

AstFunction

public AstFunction(java.lang.String name,
                   int index,
                   AstParameters params,
                   boolean varargs)
Method Detail

invoke

protected java.lang.Object invoke(Bindings bindings,
                                  ELContext context,
                                  java.lang.Object base,
                                  java.lang.reflect.Method method)
                           throws java.lang.reflect.InvocationTargetException,
                                  java.lang.IllegalAccessException
Invoke method.

Parameters:
bindings -
context -
base -
method -
Returns:
method result
Throws:
java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException

eval

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

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

getIndex

public int getIndex()
Description copied from interface: FunctionNode
Get the unique index of this identifier in the expression (e.g. preorder index)

Specified by:
getIndex in interface FunctionNode

getName

public java.lang.String getName()
Description copied from interface: FunctionNode
Get the full function name

Specified by:
getName in interface FunctionNode

isVarArgs

public boolean isVarArgs()
Specified by:
isVarArgs in interface FunctionNode
Returns:
true if this node supports varargs.

getParamCount

public int getParamCount()
Description copied from interface: FunctionNode
Get the number of parameters for this function

Specified by:
getParamCount in interface FunctionNode

getParam

protected AstNode getParam(int i)

getCardinality

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

Specified by:
getCardinality in interface Node

getChild

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

Specified by:
getChild in interface Node

Copyright © 2006-2009 Odysseus Software GmbH.