com.opensymphony.xwork2.ognl
Class OgnlReflectionProvider

java.lang.Object
  extended by com.opensymphony.xwork2.ognl.OgnlReflectionProvider
All Implemented Interfaces:
ReflectionProvider

public class OgnlReflectionProvider
extends Object
implements ReflectionProvider


Field Summary
private  OgnlUtil ognlUtil
           
 
Constructor Summary
OgnlReflectionProvider()
           
 
Method Summary
 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, or XWorkConverter if none is specified.
 Map getBeanMap(Object source)
          Creates a Map with read properties for the given source object.
 Field getField(Class inClass, String name)
           
 Method getGetMethod(Class targetClass, String propertyName)
           
 PropertyDescriptor getPropertyDescriptor(Class targetClass, String propertyName)
          This method returns a PropertyDescriptor for the given class and property name using a Map lookup (using getPropertyDescriptorsMap()).
 PropertyDescriptor[] getPropertyDescriptors(Object source)
          Get's the java beans property descriptors for the given source.
 Object getRealTarget(String property, Map<String,Object> context, Object root)
          Looks for the real target with the specified property given a root Object which may be a CompoundRoot.
 Method getSetMethod(Class targetClass, String propertyName)
           
 Object getValue(String expression, Map<String,Object> context, Object root)
          Evaluates the given OGNL expression to extract a value from the given root object in a given context
 void setOgnlUtil(OgnlUtil ognlUtil)
           
 void setProperties(Map<String,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 setProperties(Map<String,String> props, Object o, Map<String,Object> context)
          Sets the object's properties using the default type converter, defaulting to not throw exceptions for problems setting the properties.
 void setProperties(Map<String,String> props, Object o, Map<String,Object> context, boolean throwPropertyExceptions)
          Sets the object's properties using the default type converter.
 void setProperty(String name, Object value, Object o, Map<String,Object> context)
          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 setValue(String expression, Map<String,Object> context, Object root, Object value)
          Evaluates the given OGNL expression to insert a value into the object graph rooted at the given root object given the context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ognlUtil

private OgnlUtil ognlUtil
Constructor Detail

OgnlReflectionProvider

public OgnlReflectionProvider()
Method Detail

setOgnlUtil

public void setOgnlUtil(OgnlUtil ognlUtil)

getField

public Field getField(Class inClass,
                      String name)
Specified by:
getField in interface ReflectionProvider

getGetMethod

public Method getGetMethod(Class targetClass,
                           String propertyName)
                    throws IntrospectionException,
                           ReflectionException
Specified by:
getGetMethod in interface ReflectionProvider
Throws:
IntrospectionException
ReflectionException

getSetMethod

public Method getSetMethod(Class targetClass,
                           String propertyName)
                    throws IntrospectionException,
                           ReflectionException
Specified by:
getSetMethod in interface ReflectionProvider
Throws:
IntrospectionException
ReflectionException

setProperties

public void setProperties(Map<String,String> props,
                          Object o,
                          Map<String,Object> context)
Description copied from interface: ReflectionProvider
Sets the object's properties using the default type converter, defaulting to not throw exceptions for problems setting the properties.

Specified by:
setProperties in interface ReflectionProvider
Parameters:
props - the properties being set
o - the object
context - the action context

setProperties

public void setProperties(Map<String,String> props,
                          Object o,
                          Map<String,Object> context,
                          boolean throwPropertyExceptions)
                   throws ReflectionException
Description copied from interface: ReflectionProvider
Sets the object's properties using the default type converter.

Specified by:
setProperties in interface ReflectionProvider
Parameters:
props - the properties being set
o - the object
context - the action context
throwPropertyExceptions - boolean which tells whether it should throw exceptions for problems setting the properties
Throws:
ReflectionException

setProperties

public void setProperties(Map<String,String> properties,
                          Object o)
Description copied from interface: ReflectionProvider
Sets the properties on the object using the default context, defaulting to not throwing exceptions for problems setting the properties.

Specified by:
setProperties in interface ReflectionProvider

getPropertyDescriptor

public PropertyDescriptor getPropertyDescriptor(Class targetClass,
                                                String propertyName)
                                         throws IntrospectionException,
                                                ReflectionException
Description copied from interface: ReflectionProvider
This method returns a PropertyDescriptor for the given class and property name using a Map lookup (using getPropertyDescriptorsMap()).

Specified by:
getPropertyDescriptor in interface ReflectionProvider
Throws:
IntrospectionException
ReflectionException

copy

public void copy(Object from,
                 Object to,
                 Map<String,Object> context,
                 Collection<String> exclusions,
                 Collection<String> inclusions)
Description copied from interface: ReflectionProvider
Copies the properties in the object "from" and sets them in the object "to" using specified type converter, or XWorkConverter if none is specified.

Specified by:
copy in interface ReflectionProvider
Parameters:
from - the source object
to - the target object
context - the action context we're running under
exclusions - 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.

getRealTarget

public Object getRealTarget(String property,
                            Map<String,Object> context,
                            Object root)
                     throws ReflectionException
Description copied from interface: ReflectionProvider
Looks for the real target with the specified property given a root Object which may be a CompoundRoot.

Specified by:
getRealTarget in interface ReflectionProvider
Returns:
the real target or null if no object can be found with the specified property
Throws:
ReflectionException

setProperty

public void setProperty(String name,
                        Object value,
                        Object o,
                        Map<String,Object> context)
Description copied from interface: ReflectionProvider
Sets the named property to the supplied value on the Object, defaults to not throwing property exceptions.

Specified by:
setProperty in interface ReflectionProvider
Parameters:
name - the name of the property to be set
value - the value to set into the named property
o - the object upon which to set the property
context - the context which may include the TypeConverter

setProperty

public void setProperty(String name,
                        Object value,
                        Object o,
                        Map<String,Object> context,
                        boolean throwPropertyExceptions)
Description copied from interface: ReflectionProvider
Sets the named property to the supplied value on the Object,

Specified by:
setProperty in interface ReflectionProvider
Parameters:
name - the name of the property to be set
value - the value to set into the named property
o - the object upon which to set the property
context - the context which may include the TypeConverter
throwPropertyExceptions - boolean which tells whether it should throw exceptions for problems setting the properties

getBeanMap

public Map getBeanMap(Object source)
               throws IntrospectionException,
                      ReflectionException
Description copied from interface: ReflectionProvider
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.

Specified by:
getBeanMap in interface ReflectionProvider
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

public Object getValue(String expression,
                       Map<String,Object> context,
                       Object root)
                throws ReflectionException
Description copied from interface: ReflectionProvider
Evaluates the given OGNL expression to extract a value from the given root object in a given context

Specified by:
getValue in interface ReflectionProvider
Parameters:
expression - the OGNL expression to be parsed
context - the naming context for the evaluation
root - the root object for the OGNL expression
Returns:
the result of evaluating the expression
Throws:
ReflectionException

setValue

public void setValue(String expression,
                     Map<String,Object> context,
                     Object root,
                     Object value)
              throws ReflectionException
Description copied from interface: ReflectionProvider
Evaluates the given OGNL expression to insert a value into the object graph rooted at the given root object given the context.

Specified by:
setValue in interface ReflectionProvider
Parameters:
expression - the OGNL expression to be parsed
context - the naming context for the evaluation
root - the root object for the OGNL expression
value - the value to insert into the object graph
Throws:
ReflectionException

getPropertyDescriptors

public PropertyDescriptor[] getPropertyDescriptors(Object source)
                                            throws IntrospectionException
Description copied from interface: ReflectionProvider
Get's the java beans property descriptors for the given source.

Specified by:
getPropertyDescriptors in interface ReflectionProvider
Parameters:
source - the source object.
Returns:
property descriptors.
Throws:
IntrospectionException - is thrown if an exception occurs during introspection.


Copyright © 2000-2009 Apache Software Foundation. All Rights Reserved.