public abstract class AstProperty extends AstNode
Modifier and Type | Field and Description |
---|---|
protected boolean |
ignoreReturnType |
protected boolean |
lvalue |
protected AstNode |
prefix |
protected boolean |
strict |
Constructor and Description |
---|
AstProperty(AstNode prefix,
boolean lvalue,
boolean strict) |
AstProperty(AstNode prefix,
boolean lvalue,
boolean strict,
boolean ignoreReturnType) |
Modifier and Type | Method and Description |
---|---|
Object |
eval(Bindings bindings,
javax.el.ELContext context) |
protected Method |
findMethod(String name,
Class<?> clazz,
Class<?> returnType,
Class<?>[] paramTypes) |
AstNode |
getChild(int i)
Get i'th child
|
javax.el.MethodInfo |
getMethodInfo(Bindings bindings,
javax.el.ELContext context,
Class<?> returnType,
Class<?>[] paramTypes)
Get method information.
|
protected AstNode |
getPrefix() |
protected abstract Object |
getProperty(Bindings bindings,
javax.el.ELContext context) |
Class<?> |
getType(Bindings bindings,
javax.el.ELContext context)
Get the value type accepted in
ExpressionNode.setValue(Bindings, ELContext, Object) . |
javax.el.ValueReference |
getValueReference(Bindings bindings,
javax.el.ELContext context)
Get value reference.
|
Object |
invoke(Bindings bindings,
javax.el.ELContext context,
Class<?> returnType,
Class<?>[] paramTypes,
Object[] paramValues)
Invoke method.
|
boolean |
isLeftValue() |
boolean |
isLiteralText() |
boolean |
isMethodInvocation() |
boolean |
isReadOnly(Bindings bindings,
javax.el.ELContext context)
Determine whether
ExpressionNode.setValue(Bindings, ELContext, Object) will throw a
PropertyNotWritableException . |
void |
setValue(Bindings bindings,
javax.el.ELContext context,
Object value)
Assign value.
|
appendStructure, findAccessibleMethod, getStructuralId, getValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getCardinality
protected final AstNode prefix
protected final boolean lvalue
protected final boolean strict
protected final boolean ignoreReturnType
public AstProperty(AstNode prefix, boolean lvalue, boolean strict)
public AstProperty(AstNode prefix, boolean lvalue, boolean strict, boolean ignoreReturnType)
protected abstract Object getProperty(Bindings bindings, javax.el.ELContext context) throws javax.el.ELException
javax.el.ELException
protected AstNode getPrefix()
public javax.el.ValueReference getValueReference(Bindings bindings, javax.el.ELContext context)
ExpressionNode
public 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 prefix).public boolean isMethodInvocation()
true
if the subtree rooted at this node is a method invocation.public Class<?> getType(Bindings bindings, javax.el.ELContext context)
ExpressionNode
ExpressionNode.setValue(Bindings, ELContext, Object)
.bindings
- bindings containing variables and functionscontext
- evaluation contextnull
for non-lvalue nodespublic boolean isReadOnly(Bindings bindings, javax.el.ELContext context) throws javax.el.ELException
ExpressionNode
ExpressionNode.setValue(Bindings, ELContext, Object)
will throw a
PropertyNotWritableException
.bindings
- bindings containing variables and functionscontext
- evaluation contexttrue
if this a read-only expression nodejavax.el.ELException
public void setValue(Bindings bindings, javax.el.ELContext context, Object value) throws javax.el.ELException
ExpressionNode
bindings
- bindings containing variables and functionscontext
- evaluation contextvalue
- value to setjavax.el.ELException
protected Method findMethod(String name, Class<?> clazz, Class<?> returnType, Class<?>[] paramTypes)
public javax.el.MethodInfo getMethodInfo(Bindings bindings, javax.el.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 Object invoke(Bindings bindings, javax.el.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 valuesCopyright © 2006–2017 Odysseus Software GmbH. All rights reserved.