Package org.apache.commons.ognl
Class ObjectPropertyAccessor
- java.lang.Object
-
- org.apache.commons.ognl.ObjectPropertyAccessor
-
- All Implemented Interfaces:
PropertyAccessor
- Direct Known Subclasses:
ArrayPropertyAccessor
,EnumerationPropertyAccessor
,IteratorPropertyAccessor
,ListPropertyAccessor
,SetPropertyAccessor
public class ObjectPropertyAccessor extends java.lang.Object implements PropertyAccessor
Implementation of PropertyAccessor that uses reflection on the target object's class to find a field or a pair of set/get methods with the given property name.
-
-
Constructor Summary
Constructors Constructor Description ObjectPropertyAccessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
getPossibleProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.String name)
Returns OgnlRuntime.NotFound if the property does not exist.java.lang.Object
getProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.Object oname)
Extracts and returns the property of the given name from the given target object.java.lang.Class<?>
getPropertyClass(OgnlContext context, java.lang.Object target, java.lang.Object index)
java.lang.String
getSourceAccessor(OgnlContext context, java.lang.Object target, java.lang.Object index)
Returns a java string representing the textual method that should be called to access a particular element.java.lang.String
getSourceSetter(OgnlContext context, java.lang.Object target, java.lang.Object index)
Returns a java string representing the textual method that should be called to set a particular element.boolean
hasGetProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.Object oname)
boolean
hasGetProperty(OgnlContext context, java.lang.Object target, java.lang.Object oname)
boolean
hasSetProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.Object oname)
boolean
hasSetProperty(OgnlContext context, java.lang.Object target, java.lang.Object oname)
java.lang.Object
setPossibleProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.String name, java.lang.Object value)
Returns OgnlRuntime.NotFound if the property does not exist.void
setProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.Object oname, java.lang.Object value)
Sets the value of the property of the given name in the given target object.
-
-
-
Method Detail
-
getPossibleProperty
public java.lang.Object getPossibleProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.String name) throws OgnlException
Returns OgnlRuntime.NotFound if the property does not exist.- Throws:
OgnlException
-
setPossibleProperty
public java.lang.Object setPossibleProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.String name, java.lang.Object value) throws OgnlException
Returns OgnlRuntime.NotFound if the property does not exist.- Throws:
OgnlException
-
hasGetProperty
public boolean hasGetProperty(OgnlContext context, java.lang.Object target, java.lang.Object oname) throws OgnlException
- Throws:
OgnlException
-
hasGetProperty
public boolean hasGetProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.Object oname) throws OgnlException
- Throws:
OgnlException
-
hasSetProperty
public boolean hasSetProperty(OgnlContext context, java.lang.Object target, java.lang.Object oname) throws OgnlException
- Throws:
OgnlException
-
hasSetProperty
public boolean hasSetProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.Object oname) throws OgnlException
- Throws:
OgnlException
-
getProperty
public java.lang.Object getProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.Object oname) throws OgnlException
Description copied from interface:PropertyAccessor
Extracts and returns the property of the given name from the given target object.- Specified by:
getProperty
in interfacePropertyAccessor
- Parameters:
context
- The current execution context.target
- the object to get the property fromoname
- the name of the property to get.- Returns:
- the current value of the given property in the given object
- Throws:
OgnlException
- if there is an error locating the property in the given object
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, java.lang.Object oname, java.lang.Object value) throws OgnlException
Description copied from interface:PropertyAccessor
Sets the value of the property of the given name in the given target object.- Specified by:
setProperty
in interfacePropertyAccessor
- Parameters:
context
- The current execution context.target
- the object to set the property inoname
- the name of the property to setvalue
- the new value for the property.- Throws:
OgnlException
- if there is an error setting the property in the given object
-
getPropertyClass
public java.lang.Class<?> getPropertyClass(OgnlContext context, java.lang.Object target, java.lang.Object index)
-
getSourceAccessor
public java.lang.String getSourceAccessor(OgnlContext context, java.lang.Object target, java.lang.Object index)
Description copied from interface:PropertyAccessor
Returns a java string representing the textual method that should be called to access a particular element. (ie "get")- Specified by:
getSourceAccessor
in interfacePropertyAccessor
- Parameters:
context
- The current execution context.target
- The current object target on the expression tree being evaluated.index
- The index object that will be placed inside the string to access the value.- Returns:
- The source accessor method to call.
-
getSourceSetter
public java.lang.String getSourceSetter(OgnlContext context, java.lang.Object target, java.lang.Object index)
Description copied from interface:PropertyAccessor
Returns a java string representing the textual method that should be called to set a particular element. (ie "set")- Specified by:
getSourceSetter
in interfacePropertyAccessor
- Parameters:
context
- The current execution context.target
- The current object target on the expression tree being evaluated.index
- The index object that will be placed inside the string to set the value.- Returns:
- The source setter method to call.
-
-