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, getValue
public AstMethod(AstProperty property, AstParameters params)
public boolean isLiteralText()
true
if this node represents literal textpublic Class<?> getType(Bindings bindings, ELContext context)
ExpressionNode
ExpressionNode.setValue(Bindings, ELContext, Object)
.bindings
- bindings containing variables and functionscontext
- evaluation contextnull
for non-lvalue nodespublic boolean isReadOnly(Bindings bindings, ELContext context)
ExpressionNode
ExpressionNode.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)
ExpressionNode
bindings
- bindings containing variables and functionscontext
- evaluation contextvalue
- value to setpublic MethodInfo getMethodInfo(Bindings bindings, ELContext context, Class<?> returnType, Class<?>[] paramTypes)
ExpressionNode
null
.bindings
- bindings containing variables and functionscontext
- evaluation contextreturnType
- expected method return type (may be null
meaning don't care)paramTypes
- expected method argument typesnull
public 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)
ExpressionNode
public void appendStructure(StringBuilder builder, Bindings bindings)
appendStructure
in class AstNode
public Object invoke(Bindings bindings, ELContext context, Class<?> returnType, Class<?>[] paramTypes, Object[] paramValues)
ExpressionNode
bindings
- 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()
Node
Copyright © 2021. All rights reserved.