public final class AstIdentifier extends AstNode implements IdentifierNode
| Constructor and Description |
|---|
AstIdentifier(java.lang.String name,
int index) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
MethodInfo |
getMethodInfo(Bindings bindings,
ELContext context,
java.lang.Class<?> returnType,
java.lang.Class<?>[] paramTypes)
Get method information.
|
java.lang.String |
getName()
Get the identifier name
|
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[] params)
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() |
getStructuralId, getValuepublic java.lang.Class<?> getType(Bindings bindings, ELContext context)
ExpressionNodeExpressionNode.setValue(Bindings, ELContext, Object).getType in interface ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contextnull for non-lvalue nodespublic boolean isLeftValue()
isLeftValue in interface ExpressionNodetrue if the subtree rooted at this node could be used as
an lvalue expression (identifier or property sequence with non-literal proefix).public boolean isLiteralText()
isLiteralText in interface ExpressionNodetrue if this node represents literal textpublic void setValue(Bindings bindings, ELContext context, java.lang.Object value)
ExpressionNodesetValue in interface ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contextvalue - value to setpublic boolean isReadOnly(Bindings bindings, ELContext context)
ExpressionNodeExpressionNode.setValue(Bindings, ELContext, Object) will throw a
PropertyNotWritableException.isReadOnly in interface ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contexttrue if this a read-only expression nodepublic MethodInfo getMethodInfo(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)
ExpressionNodenull.getMethodInfo in interface ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contextreturnType - expected method return type (may be null meaning don't care)paramTypes - expected method argument typesnullpublic java.lang.Object invoke(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.Object[] params)
ExpressionNodeinvoke in interface ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contextreturnType - expected method return type (may be null meaning don't care)paramTypes - expected method argument typesparams - parameter valuespublic java.lang.String toString()
toString in class java.lang.Objectpublic void appendStructure(java.lang.StringBuilder b,
Bindings bindings)
appendStructure in class AstNodepublic int getIndex()
IdentifierNodegetIndex in interface IdentifierNodepublic java.lang.String getName()
IdentifierNodegetName in interface IdentifierNodepublic int getCardinality()
NodegetCardinality in interface Node