public abstract class AstProperty extends AstNode
| Constructor and Description |
|---|
AstProperty(AstNode prefix,
boolean lvalue,
boolean strict) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
eval(Bindings bindings,
ELContext context) |
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.
|
protected abstract java.lang.Object |
getProperty(Bindings bindings,
ELContext context) |
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.
|
appendStructure, getStructuralId, getValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetCardinalitypublic AstProperty(AstNode prefix, boolean lvalue, boolean strict)
protected abstract java.lang.Object getProperty(Bindings bindings, ELContext context) throws ELException
ELExceptionpublic final boolean isLiteralText()
true if this node represents literal textpublic final boolean isLeftValue()
true if the subtree rooted at this node could be used as
an lvalue expression (identifier or property sequence with non-literal proefix).public final java.lang.Class<?> getType(Bindings bindings, ELContext context)
ExpressionNodeExpressionNode.setValue(Bindings, ELContext, Object).bindings - bindings containing variables and functionscontext - evaluation contextnull for non-lvalue nodespublic final boolean isReadOnly(Bindings bindings, ELContext context) throws ELException
ExpressionNodeExpressionNode.setValue(Bindings, ELContext, Object) will throw a
PropertyNotWritableException.bindings - bindings containing variables and functionscontext - evaluation contexttrue if this a read-only expression nodeELExceptionpublic final void setValue(Bindings bindings, ELContext context, java.lang.Object value) throws ELException
ExpressionNodebindings - bindings containing variables and functionscontext - evaluation contextvalue - value to setELExceptionpublic final MethodInfo getMethodInfo(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.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 final java.lang.Object invoke(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.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 values