com.opensymphony.xwork2.ognl

## Class OgnlReflectionProvider

- java.lang.Object
- - com.opensymphony.xwork2.ognl.OgnlReflectionProvider

- All Implemented Interfaces:
    ReflectionProvider

      public class OgnlReflectionProvider
      extends Object
      implements ReflectionProvider

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `OgnlReflectionProvider()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 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,?> 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.

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.