Package org.apache.struts2.ognl

# Class OgnlReflectionProvider

java.lang.Object
org.apache.struts2.ognl.OgnlReflectionProvider

All Implemented Interfaces:
  `ReflectionProvider`

public class OgnlReflectionProvider extends Object implements ReflectionProvider

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OgnlReflectionProvider()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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.
  `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, 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,?> 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,?> 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,?> 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`

- ## Constructor Details

  - ### OgnlReflectionProvider

    public OgnlReflectionProvider()

- ## Method Details

  - ### 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,?> 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,?> 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,?> 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`
    Parameters:
      `properties` - property map
      `o` - object

  - ### 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`
    Parameters:
      `targetClass` - target class of the property descriptor
      `propertyName` - property name
    Returns:
      PropertyDescriptor for the given class and property name
    Throws:
      `IntrospectionException` - in case of introspection error
      `ReflectionException` - in case of reflection problems

  - ### 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.

  - ### copy

    public void copy(Object from, Object to, Map<String,Object> context, Collection<String> exclusions, Collection<String> inclusions, Class<?> editable)
    Description copied from interface: `ReflectionProvider`
    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, 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.
      `editable` - the class (or interface) to restrict property setting to

  - ### 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`
    Parameters:
      `property` - specified property
      `context` - the context
      `root` - 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

    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.