|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ExpressionNode
Expression node interface. This interface provides all the methods needed for value expressions and method expressions.
Tree
Method Summary | |
---|---|
MethodInfo |
getMethodInfo(Bindings bindings,
ELContext context,
java.lang.Class<?> returnType,
java.lang.Class<?>[] paramTypes)
Get method information. |
java.lang.String |
getStructuralId(Bindings bindings)
Get the canonical expression string for this node. |
java.lang.Class<?> |
getType(Bindings bindings,
ELContext context)
Get the value type accepted in setValue(Bindings, ELContext, Object) . |
java.lang.Object |
getValue(Bindings bindings,
ELContext context,
java.lang.Class<?> expectedType)
Evaluate node. |
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 setValue(Bindings, ELContext, Object) will throw a
PropertyNotWritableException . |
void |
setValue(Bindings bindings,
ELContext context,
java.lang.Object value)
Assign value. |
Methods inherited from interface de.odysseus.el.tree.Node |
---|
getCardinality, getChild |
Method Detail |
---|
boolean isLiteralText()
true
if this node represents literal textboolean isLeftValue()
true
if the subtree rooted at this node could be used as
an lvalue expression (identifier or property sequence with non-literal proefix).java.lang.Object getValue(Bindings bindings, ELContext context, java.lang.Class<?> expectedType)
bindings
- bindings containing variables and functionscontext
- evaluation contextexpectedType
- result type
java.lang.Class<?> getType(Bindings bindings, ELContext context)
setValue(Bindings, ELContext, Object)
.
bindings
- bindings containing variables and functionscontext
- evaluation context
null
for non-lvalue nodesboolean isReadOnly(Bindings bindings, ELContext context)
setValue(Bindings, ELContext, Object)
will throw a
PropertyNotWritableException
.
bindings
- bindings containing variables and functionscontext
- evaluation context
true
if this a read-only expression nodevoid setValue(Bindings bindings, ELContext context, java.lang.Object value)
bindings
- bindings containing variables and functionscontext
- evaluation contextvalue
- value to setMethodInfo getMethodInfo(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)
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
java.lang.Object invoke(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)
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
java.lang.String getStructuralId(Bindings bindings)
"${foo:bar()+2*foobar}"
may lead to
"${<fn>() + 2 * <var>}"
if foobar
is a bound variable.
Otherwise, the structural id would be "${<fn>() + 2 * foobar}"
.
If the bindings is null
, the full canonical subexpression is returned.
|
Copyright © 2006, 2007 Odysseus Software GmbH. | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |