Class AstProperty
java.lang.Object
de.odysseus.el.tree.impl.ast.AstNode
de.odysseus.el.tree.impl.ast.AstProperty
- All Implemented Interfaces:
ExpressionNode, Node
- Direct Known Subclasses:
AstBracket, AstDot
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanprotected final booleanprotected final AstNodeprotected final boolean -
Constructor Summary
ConstructorsConstructorDescriptionAstProperty(AstNode prefix, boolean lvalue, boolean strict) AstProperty(AstNode prefix, boolean lvalue, boolean strict, boolean ignoreReturnType) -
Method Summary
Modifier and TypeMethodDescriptionprotected MethodfindMethod(String name, Class<?> clazz, Class<?> returnType, Class<?>[] paramTypes) getChild(int i) Get i'th childjavax.el.MethodInfogetMethodInfo(Bindings bindings, javax.el.ELContext context, Class<?> returnType, Class<?>[] paramTypes) Get method information.protected AstNodeprotected abstract ObjectgetProperty(Bindings bindings, javax.el.ELContext context) Class<?> Get the value type accepted inExpressionNode.setValue(Bindings, ELContext, Object).javax.el.ValueReferencegetValueReference(Bindings bindings, javax.el.ELContext context) Get value reference.invoke(Bindings bindings, javax.el.ELContext context, Class<?> returnType, Class<?>[] paramTypes, Object[] paramValues) Invoke method.final booleanfinal booleanbooleanbooleanisReadOnly(Bindings bindings, javax.el.ELContext context) Determine whetherExpressionNode.setValue(Bindings, ELContext, Object)will throw aPropertyNotWritableException.voidAssign value.Methods inherited from class AstNode
appendStructure, findAccessibleMethod, getStructuralId, getValueMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Node
getCardinality
-
Field Details
-
prefix
-
lvalue
protected final boolean lvalue -
strict
protected final boolean strict -
ignoreReturnType
protected final boolean ignoreReturnType
-
-
Constructor Details
-
AstProperty
-
AstProperty
-
-
Method Details
-
getProperty
-
getPrefix
-
getValueReference
Description copied from interface:ExpressionNodeGet value reference.- Parameters:
bindings-context-- Returns:
- value reference
-
eval
-
isLiteralText
public final boolean isLiteralText()- Returns:
trueif this node represents literal text
-
isLeftValue
public final boolean isLeftValue()- Returns:
trueif 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:
trueif the subtree rooted at this node is a method invocation.
-
getType
Description copied from interface:ExpressionNodeGet the value type accepted inExpressionNode.setValue(Bindings, ELContext, Object).- Parameters:
bindings- bindings containing variables and functionscontext- evaluation context- Returns:
- accepted type or
nullfor non-lvalue nodes
-
isReadOnly
public boolean isReadOnly(Bindings bindings, javax.el.ELContext context) throws javax.el.ELException Description copied from interface:ExpressionNodeDetermine whetherExpressionNode.setValue(Bindings, ELContext, Object)will throw aPropertyNotWritableException.- Parameters:
bindings- bindings containing variables and functionscontext- evaluation context- Returns:
trueif this a read-only expression node- Throws:
javax.el.ELException
-
setValue
public void setValue(Bindings bindings, javax.el.ELContext context, Object value) throws javax.el.ELException Description copied from interface:ExpressionNodeAssign value.- Parameters:
bindings- bindings containing variables and functionscontext- evaluation contextvalue- value to set- Throws:
javax.el.ELException
-
findMethod
-
getMethodInfo
public javax.el.MethodInfo getMethodInfo(Bindings bindings, javax.el.ELContext context, Class<?> returnType, Class<?>[] paramTypes) Description copied from interface:ExpressionNodeGet method information. If this is a non-lvalue node, answernull.- Parameters:
bindings- bindings containing variables and functionscontext- evaluation contextreturnType- expected method return type (may benullmeaning don't care)paramTypes- expected method argument types- Returns:
- method information or
null
-
invoke
public Object invoke(Bindings bindings, javax.el.ELContext context, Class<?> returnType, Class<?>[] paramTypes, Object[] paramValues) Description copied from interface:ExpressionNodeInvoke method.- Parameters:
bindings- bindings containing variables and functionscontext- evaluation contextreturnType- expected method return type (may benullmeaning don't care)paramTypes- expected method argument typesparamValues- parameter values- Returns:
- result of the method invocation
-
getChild
-