Package org.apache.commons.ognl
Class ASTProperty
java.lang.Object
org.apache.commons.ognl.SimpleNode
org.apache.commons.ognl.ASTProperty
- All Implemented Interfaces:
Serializable
,JavaSource
,Node
,NodeType
$Id$
- See Also:
-
Field Summary
FieldsFields inherited from class org.apache.commons.ognl.SimpleNode
children, id, parent, parser
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<R,
P> R accept
(NodeVisitor<? extends R, ? super P> visitor, P data) Supports the Visitor pattern.The type returned from the expression - if any.int
getIndexedPropertyType
(OgnlContext context, Object source) Returns true if this property is described by an IndexedPropertyDescriptor and that if followed by an index specifier it will call the index get/set methods rather than go through property accessors.(package private) Method
getProperty
(OgnlContext context, Object source) The type used to set the value - if any.private static String
getSourceString
(OgnlContext context, Node child) (package private) Object
getTarget
(OgnlContext context, Object target, String name) protected Object
getValueBody
(OgnlContext context, Object source) Subclasses implement this method to do the actual work of extracting the appropriate value from the source object.boolean
Returns true if this property is itself an index reference.boolean
isNodeSimpleProperty
(OgnlContext context) void
setIndexedAccess
(boolean value) protected void
setValueBody
(OgnlContext context, Object target, Object value) Subclasses implement this method to do the actual work of setting the appropriate value in the target object.toGetSourceString
(OgnlContext context, Object target) Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed forExpressionAccessor.get(OgnlContext, Object)
calls.toSetSourceString
(OgnlContext context, Object target) Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed forExpressionAccessor.get(OgnlContext, Object)
calls.Methods inherited from class org.apache.commons.ognl.SimpleNode
dump, evaluateGetValueBody, evaluateSetValueBody, flattenTree, getAccessor, getIndexInParent, getNextSibling, getValue, isConstant, isEvalChain, isNodeConstant, isSimpleNavigationChain, isSimpleProperty, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, lastChild, setAccessor, setValue, toString, toString
-
Field Details
-
indexedAccess
private boolean indexedAccess -
getterClass
-
setterClass
-
-
Constructor Details
-
ASTProperty
public ASTProperty(int id)
-
-
Method Details
-
setIndexedAccess
public void setIndexedAccess(boolean value) -
isIndexedAccess
public boolean isIndexedAccess()Returns true if this property is itself an index reference.- Returns:
- Returns true if this property is itself an index reference.
-
getIndexedPropertyType
Returns true if this property is described by an IndexedPropertyDescriptor and that if followed by an index specifier it will call the index get/set methods rather than go through property accessors.- Parameters:
context
- The contextsource
- The object source- Returns:
- true, if this property is described by an IndexedPropertyDescriptor
- Throws:
OgnlException
- if an error occurs
-
getProperty
- Throws:
OgnlException
-
getValueBody
Description copied from class:SimpleNode
Subclasses implement this method to do the actual work of extracting the appropriate value from the source object.- Specified by:
getValueBody
in classSimpleNode
- Throws:
OgnlException
-
setValueBody
Description copied from class:SimpleNode
Subclasses implement this method to do the actual work of setting the appropriate value in the target object. The default implementation throws anInappropriateExpressionException
, meaning that it cannot be a set expression.- Overrides:
setValueBody
in classSimpleNode
- Throws:
OgnlException
-
isNodeSimpleProperty
- Overrides:
isNodeSimpleProperty
in classSimpleNode
- Throws:
OgnlException
-
getGetterClass
Description copied from interface:NodeType
The type returned from the expression - if any.- Specified by:
getGetterClass
in interfaceNodeType
- Returns:
- The type.
-
getSetterClass
Description copied from interface:NodeType
The type used to set the value - if any.- Specified by:
getSetterClass
in interfaceNodeType
- Returns:
- The type.
-
toGetSourceString
Description copied from interface:JavaSource
Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed forExpressionAccessor.get(OgnlContext, Object)
calls.- Specified by:
toGetSourceString
in interfaceJavaSource
- Overrides:
toGetSourceString
in classSimpleNode
- Returns:
- Literal java string representation of an object get.
-
getTarget
- Throws:
OgnlException
-
getIndexedWriteMethod
-
toSetSourceString
Description copied from interface:JavaSource
Expected to return a java source representation of itself such that it could be turned into a literal java expression to be compiled and executed forExpressionAccessor.get(OgnlContext, Object)
calls.- Specified by:
toSetSourceString
in interfaceJavaSource
- Overrides:
toSetSourceString
in classSimpleNode
- Returns:
- Literal java string representation of an object get.
-
accept
Description copied from interface:Node
Supports the Visitor pattern. The method which corresponds to the runtime type of this Node will be called.- Specified by:
accept
in interfaceNode
- Type Parameters:
R
- The return type of the visitor.visit method.P
- The type of the second parameter type.- Parameters:
visitor
- The visitor to accept.data
- The second parameter to pass through to visitor.visit- Returns:
- the value returned by visitor.visit
- Throws:
OgnlException
-
getSourceString
-