Package de.odysseus.el.tree.impl.ast
Class AstRightValue
- java.lang.Object
-
- de.odysseus.el.tree.impl.ast.AstNode
-
- de.odysseus.el.tree.impl.ast.AstRightValue
-
- All Implemented Interfaces:
ExpressionNode
,Node
- Direct Known Subclasses:
AstBinary
,AstChoice
,AstComposite
,AstFunction
,AstLiteral
,AstNested
,AstParameters
,AstUnary
public abstract class AstRightValue extends AstNode
-
-
Constructor Summary
Constructors Constructor Description AstRightValue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.el.MethodInfo
getMethodInfo(Bindings bindings, javax.el.ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)
Get method information.java.lang.Class<?>
getType(Bindings bindings, javax.el.ELContext context)
according to the spec, the result is undefined for rvalues, so answernull
javax.el.ValueReference
getValueReference(Bindings bindings, javax.el.ELContext context)
Get value reference.java.lang.Object
invoke(Bindings bindings, javax.el.ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)
Invoke method.boolean
isLeftValue()
boolean
isLiteralText()
Answerfalse
boolean
isMethodInvocation()
boolean
isReadOnly(Bindings bindings, javax.el.ELContext context)
non-lvalues are always readonly, so answertrue
void
setValue(Bindings bindings, javax.el.ELContext context, java.lang.Object value)
non-lvalues are always readonly, so throw an exception-
Methods inherited from class de.odysseus.el.tree.impl.ast.AstNode
appendStructure, eval, 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, getChild
-
-
-
-
Method Detail
-
isLiteralText
public final boolean isLiteralText()
Answerfalse
- Returns:
true
if this node represents literal text
-
getType
public final java.lang.Class<?> getType(Bindings bindings, javax.el.ELContext context)
according to the spec, the result is undefined for rvalues, so answernull
- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation context- Returns:
- accepted type or
null
for non-lvalue nodes
-
isReadOnly
public final boolean isReadOnly(Bindings bindings, javax.el.ELContext context)
non-lvalues are always readonly, so answertrue
- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation context- Returns:
true
if this a read-only expression node
-
setValue
public final void setValue(Bindings bindings, javax.el.ELContext context, java.lang.Object value)
non-lvalues are always readonly, so throw an exception- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation contextvalue
- value to set
-
getMethodInfo
public final javax.el.MethodInfo getMethodInfo(Bindings bindings, javax.el.ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)
Description copied from interface:ExpressionNode
Get method information. If this is a non-lvalue node, answernull
.- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation contextreturnType
- expected method return type (may benull
meaning don't care)paramTypes
- expected method argument types- Returns:
- method information or
null
-
invoke
public final java.lang.Object invoke(Bindings bindings, javax.el.ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)
Description copied from interface:ExpressionNode
Invoke method.- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation contextreturnType
- expected method return type (may benull
meaning don't care)paramTypes
- expected method argument typesparamValues
- parameter values- Returns:
- result of the method invocation
-
isLeftValue
public final boolean isLeftValue()
- Returns:
true
if the subtree rooted at this node could be used as an lvalue expression (identifier or property sequence with non-literal prefix).
-
isMethodInvocation
public boolean isMethodInvocation()
- Returns:
true
if the subtree rooted at this node is a method invocation.
-
getValueReference
public final javax.el.ValueReference getValueReference(Bindings bindings, javax.el.ELContext context)
Description copied from interface:ExpressionNode
Get value reference.- Returns:
- value reference
-
-