|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.odysseus.el.tree.impl.ast.AstNode
de.odysseus.el.tree.impl.ast.AstProperty
public abstract class AstProperty
Field Summary | |
---|---|
protected boolean |
lvalue
|
protected AstNode |
prefix
|
protected boolean |
strict
|
Constructor Summary | |
---|---|
AstProperty(AstNode prefix,
boolean lvalue,
boolean strict)
|
Method Summary | |
---|---|
java.lang.Object |
eval(Bindings bindings,
ELContext context)
|
protected java.lang.reflect.Method |
findMethod(java.lang.String name,
java.lang.Class<?> clazz,
java.lang.Class<?> returnType,
java.lang.Class<?>[] paramTypes)
|
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 AstNode |
getPrefix()
|
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) . |
ValueReference |
getValueReference(Bindings bindings,
ELContext context)
Get value reference. |
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 |
isMethodInvocation()
|
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. |
Methods inherited from class de.odysseus.el.tree.impl.ast.AstNode |
---|
appendStructure, findAccessibleMethod, getStructuralId, getValue |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface de.odysseus.el.tree.Node |
---|
getCardinality |
Field Detail |
---|
protected final AstNode prefix
protected final boolean lvalue
protected final boolean strict
Constructor Detail |
---|
public AstProperty(AstNode prefix, boolean lvalue, boolean strict)
Method Detail |
---|
protected abstract java.lang.Object getProperty(Bindings bindings, ELContext context) throws ELException
ELException
protected AstNode getPrefix()
public ValueReference getValueReference(Bindings bindings, ELContext context)
ExpressionNode
public java.lang.Object eval(Bindings bindings, ELContext context)
eval
in class AstNode
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 java.lang.Class<?> getType(Bindings bindings, ELContext context)
ExpressionNode
ExpressionNode.setValue(Bindings, ELContext, Object)
.
bindings
- bindings containing variables and functionscontext
- evaluation context
null
for non-lvalue nodespublic boolean isReadOnly(Bindings bindings, ELContext context) throws ELException
ExpressionNode
ExpressionNode.setValue(Bindings, ELContext, Object)
will throw a
PropertyNotWritableException
.
bindings
- bindings containing variables and functionscontext
- evaluation context
true
if this a read-only expression node
ELException
public void setValue(Bindings bindings, ELContext context, java.lang.Object value) throws ELException
ExpressionNode
bindings
- bindings containing variables and functionscontext
- evaluation contextvalue
- value to set
ELException
protected java.lang.reflect.Method findMethod(java.lang.String name, java.lang.Class<?> clazz, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)
public MethodInfo getMethodInfo(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.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 types
null
public java.lang.Object invoke(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.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 values
public AstNode getChild(int i)
Node
|
Copyright © 2006-2009 Odysseus Software GmbH. | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |