Interface ReflectionProvider
- All Known Implementing Classes:
OgnlReflectionProvider
public interface ReflectionProvider
-
Method Summary
Modifier and TypeMethodDescriptionvoid
copy
(Object from, Object to, Map<String, Object> context, Collection<String> exclusions, Collection<String> inclusions) Copies the properties in the object "from" and sets them in the object "to" using specified type converter, orXWorkConverter
if none is specified.void
copy
(Object from, Object to, Map<String, Object> context, Collection<String> exclusions, Collection<String> inclusions, Class<?> editable) Copies the properties in the object "from" and sets them in the object "to" only setting properties defined in the given "editable" class (or interface) using specified type converter, orXWorkConverter
if none is specified.getBeanMap
(Object source) Creates a Map with read properties for the given source object.getGetMethod
(Class targetClass, String propertyName) getPropertyDescriptor
(Class targetClass, String propertyName) This method returns a PropertyDescriptor for the given class and property name using a Map lookup (using getPropertyDescriptorsMap()).getPropertyDescriptors
(Object source) Get's the java beans property descriptors for the given source.Looks for the real target with the specified property given a root Object which may be a CompoundRoot.getSetMethod
(Class targetClass, String propertyName) Evaluates the given OGNL expression to extract a value from the given root object in a given contextvoid
setProperties
(Map<String, ?> properties, Object o) Sets the properties on the object using the default context, defaulting to not throwing exceptions for problems setting the properties.void
Sets the object's properties using the default type converter, defaulting to not throw exceptions for problems setting the properties.void
setProperties
(Map<String, ?> props, Object o, Map<String, Object> context, boolean throwPropertyExceptions) Sets the object's properties using the default type converter.void
Sets the named property to the supplied value on the Object, defaults to not throwing property exceptions.void
setProperty
(String name, Object value, Object o, Map<String, Object> context, boolean throwPropertyExceptions) Sets the named property to the supplied value on the Object,void
Evaluates the given OGNL expression to insert a value into the object graph rooted at the given root object given the context.
-
Method Details
-
getGetMethod
Method getGetMethod(Class targetClass, String propertyName) throws IntrospectionException, ReflectionException -
getSetMethod
Method getSetMethod(Class targetClass, String propertyName) throws IntrospectionException, ReflectionException -
getField
-
setProperties
Sets the object's properties using the default type converter, defaulting to not throw exceptions for problems setting the properties.- Parameters:
props
- the properties being seto
- the objectcontext
- the action context
-
setProperties
void setProperties(Map<String, ?> props, Object o, Map<String, throws ReflectionExceptionObject> context, boolean throwPropertyExceptions) Sets the object's properties using the default type converter.- Parameters:
props
- the properties being seto
- the objectcontext
- the action contextthrowPropertyExceptions
- boolean which tells whether it should throw exceptions for problems setting the properties- Throws:
ReflectionException
-
setProperties
Sets the properties on the object using the default context, defaulting to not throwing exceptions for problems setting the properties.- Parameters:
properties
- property mapo
- object
-
getPropertyDescriptor
PropertyDescriptor getPropertyDescriptor(Class targetClass, String propertyName) throws IntrospectionException, ReflectionException This method returns a PropertyDescriptor for the given class and property name using a Map lookup (using getPropertyDescriptorsMap()).- Parameters:
targetClass
- target class of the property descriptorpropertyName
- property name- Returns:
- PropertyDescriptor for the given class and property name
- Throws:
IntrospectionException
- in case of introspection errorReflectionException
- in case of reflection problems
-
copy
void copy(Object from, Object to, Map<String, Object> context, Collection<String> exclusions, Collection<String> inclusions) Copies the properties in the object "from" and sets them in the object "to" using specified type converter, orXWorkConverter
if none is specified.- Parameters:
from
- the source objectto
- the target objectcontext
- the action context we're running underexclusions
- collection of method names to excluded from copying ( can be null)inclusions
- collection of method names to included copying (can be null) note if exclusions AND inclusions are supplied and not null nothing will get copied.
-
copy
void copy(Object from, Object to, Map<String, Object> context, Collection<String> exclusions, Collection<String> inclusions, Class<?> editable) Copies the properties in the object "from" and sets them in the object "to" only setting properties defined in the given "editable" class (or interface) using specified type converter, orXWorkConverter
if none is specified.- Parameters:
from
- the source objectto
- the target objectcontext
- the action context we're running underexclusions
- collection of method names to excluded from copying ( can be null)inclusions
- collection of method names to included copying (can be null) note if exclusions AND inclusions are supplied and not null nothing will get copied.editable
- the class (or interface) to restrict property setting to
-
getRealTarget
Object getRealTarget(String property, Map<String, Object> context, Object root) throws ReflectionExceptionLooks for the real target with the specified property given a root Object which may be a CompoundRoot.- Parameters:
property
- specified propertycontext
- the contextroot
- the root object- Returns:
- the real target or null if no object can be found with the specified property
- Throws:
ReflectionException
- in case of reflection problems
-
setProperty
void setProperty(String name, Object value, Object o, Map<String, Object> context, boolean throwPropertyExceptions) Sets the named property to the supplied value on the Object,- Parameters:
name
- the name of the property to be setvalue
- the value to set into the named propertyo
- the object upon which to set the propertycontext
- the context which may include the TypeConverterthrowPropertyExceptions
- boolean which tells whether it should throw exceptions for problems setting the properties
-
setProperty
Sets the named property to the supplied value on the Object, defaults to not throwing property exceptions.- Parameters:
name
- the name of the property to be setvalue
- the value to set into the named propertyo
- the object upon which to set the propertycontext
- the context which may include the TypeConverter
-
getBeanMap
Creates a Map with read properties for the given source object.If the source object does not have a read property (i.e. write-only) then the property is added to the map with the value
here is no read method for property-name
.- Parameters:
source
- the source object.- Returns:
- a Map with (key = read property name, value = value of read property).
- Throws:
IntrospectionException
- is thrown if an exception occurs during introspection.ReflectionException
-
getValue
Object getValue(String expression, Map<String, Object> context, Object root) throws ReflectionExceptionEvaluates the given OGNL expression to extract a value from the given root object in a given context- Parameters:
expression
- the OGNL expression to be parsedcontext
- the naming context for the evaluationroot
- the root object for the OGNL expression- Returns:
- the result of evaluating the expression
- Throws:
ReflectionException
-
setValue
void setValue(String expression, Map<String, Object> context, Object root, Object value) throws ReflectionExceptionEvaluates the given OGNL expression to insert a value into the object graph rooted at the given root object given the context.- Parameters:
expression
- the OGNL expression to be parsedroot
- the root object for the OGNL expressioncontext
- the naming context for the evaluationvalue
- the value to insert into the object graph- Throws:
ReflectionException
-
getPropertyDescriptors
Get's the java beans property descriptors for the given source.- Parameters:
source
- the source object.- Returns:
- property descriptors.
- Throws:
IntrospectionException
- is thrown if an exception occurs during introspection.
-