public class AstMethod extends AstNode
| Constructor and Description |
|---|
AstMethod(AstProperty property,
AstParameters params) |
| Modifier and Type | Method and Description |
|---|---|
void |
appendStructure(StringBuilder builder,
Bindings bindings) |
Object |
eval(Bindings bindings,
ELContext context) |
int |
getCardinality()
Get the node's number of children.
|
Node |
getChild(int i)
Get i'th child
|
MethodInfo |
getMethodInfo(Bindings bindings,
ELContext context,
Class<?> returnType,
Class<?>[] paramTypes)
Get method information.
|
Class<?> |
getType(Bindings bindings,
ELContext context)
Get the value type accepted in
ExpressionNode.setValue(Bindings, ELContext, Object). |
ValueReference |
getValueReference(Bindings bindings,
ELContext context)
Get value reference.
|
Object |
invoke(Bindings bindings,
ELContext context,
Class<?> returnType,
Class<?>[] paramTypes,
Object[] paramValues)
Invoke method.
|
boolean |
isLeftValue() |
boolean |
isLiteralText() |
boolean |
isMethodInvocation() |
boolean |
isReadOnly(Bindings bindings,
ELContext context)
Determine whether
ExpressionNode.setValue(Bindings, ELContext, Object) will throw a
PropertyNotWritableException. |
void |
setValue(Bindings bindings,
ELContext context,
Object value)
Assign value.
|
String |
toString() |
getStructuralId, getValuepublic AstMethod(AstProperty property, AstParameters params)
public boolean isLiteralText()
true if this node represents literal textpublic Class<?> getType(Bindings bindings, ELContext context)
ExpressionNodeExpressionNode.setValue(Bindings, ELContext, Object).bindings - bindings containing variables and functionscontext - evaluation contextnull for non-lvalue nodespublic boolean isReadOnly(Bindings bindings, ELContext context)
ExpressionNodeExpressionNode.setValue(Bindings, ELContext, Object) will throw a
PropertyNotWritableException.bindings - bindings containing variables and functionscontext - evaluation contexttrue if this a read-only expression nodepublic void setValue(Bindings bindings, ELContext context, Object value)
ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contextvalue - value to setpublic MethodInfo getMethodInfo(Bindings bindings, ELContext context, Class<?> returnType, Class<?>[] paramTypes)
ExpressionNodenull.bindings - bindings containing variables and functionscontext - evaluation contextreturnType - expected method return type (may be null meaning don't care)paramTypes - expected method argument typesnullpublic boolean isLeftValue()
true if the subtree rooted at this node could be used as an lvalue
expression (identifier or property sequence with non-literal prefix).public boolean isMethodInvocation()
true if the subtree rooted at this node is a method invocation.public final ValueReference getValueReference(Bindings bindings, ELContext context)
ExpressionNodepublic void appendStructure(StringBuilder builder, Bindings bindings)
appendStructure in class AstNodepublic Object invoke(Bindings bindings, ELContext context, Class<?> returnType, Class<?>[] paramTypes, Object[] paramValues)
ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contextreturnType - expected method return type (may be null meaning don't care)paramTypes - expected method argument typesparamValues - parameter valuespublic int getCardinality()
NodeCopyright © 2018. All rights reserved.