org.codehaus.plexus.util

## Class ReflectionUtils

- java.lang.Object
- - org.codehaus.plexus.util.ReflectionUtils

-     public final class ReflectionUtils
      extends java.lang.Object

  Version:
    $Id: ReflectionUtils.java 8010 2009-01-07 12:59:50Z vsiveton $
  Author:
    Michal Maczka, Jesse McConnell, Trygve Laugstøl

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReflectionUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.reflect.Field` | `getFieldByNameIncludingSuperclasses(java.lang.String fieldName, java.lang.Class clazz)`
    `static java.util.List` | `getFieldsIncludingSuperclasses(java.lang.Class clazz)`
    `static java.lang.reflect.Method` | `getSetter(java.lang.String fieldName, java.lang.Class clazz)` Finds a setter in the given class for the given field.
    `static java.util.List` | `getSetters(java.lang.Class clazz)` Finds all setters in the given class and super classes.
    `static java.lang.Class` | `getSetterType(java.lang.reflect.Method method)` Returns the class of the argument to the setter.
    `static java.lang.Object` | `getValueIncludingSuperclasses(java.lang.String variable, java.lang.Object object)` Generates a map of the fields and values on a given object, also pulls from superclasses
    `static java.util.Map` | `getVariablesAndValuesIncludingSuperclasses(java.lang.Object object)` Generates a map of the fields and values on a given object, also pulls from superclasses
    `static boolean` | `isSetter(java.lang.reflect.Method method)`
    `static void` | `setVariableValueInObject(java.lang.Object object, java.lang.String variable, java.lang.Object value)` attempts to set the value to the variable in the object passed in

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ReflectionUtils

          public ReflectionUtils()

  - ### Method Detail

    - #### getFieldByNameIncludingSuperclasses

          public static java.lang.reflect.Field getFieldByNameIncludingSuperclasses(java.lang.String fieldName,
                                                                                    java.lang.Class clazz)

    - #### getFieldsIncludingSuperclasses

          public static java.util.List getFieldsIncludingSuperclasses(java.lang.Class clazz)

    - #### getSetter

          public static java.lang.reflect.Method getSetter(java.lang.String fieldName,
                                                           java.lang.Class clazz)

      Finds a setter in the given class for the given field. It searches interfaces and superclasses too.
      Parameters:
        `fieldName` - the name of the field (i.e. 'fooBar'); it will search for a method named 'setFooBar'.
        `clazz` - The class to find the method in.
      Returns:
        null or the method found.

    - #### getSetters

          public static java.util.List getSetters(java.lang.Class clazz)

      Finds all setters in the given class and super classes.

    - #### getSetterType

          public static java.lang.Class getSetterType(java.lang.reflect.Method method)

      Returns the class of the argument to the setter. Will throw an RuntimeException if the method isn't a setter.

    - #### setVariableValueInObject

          public static void setVariableValueInObject(java.lang.Object object,
                                                      java.lang.String variable,
                                                      java.lang.Object value)
                                               throws java.lang.IllegalAccessException

      attempts to set the value to the variable in the object passed in
      Parameters:
        `object` -
        `variable` -
        `value` -
      Throws:
        `java.lang.IllegalAccessException`

    - #### getValueIncludingSuperclasses

          public static java.lang.Object getValueIncludingSuperclasses(java.lang.String variable,
                                                                       java.lang.Object object)
                                                                throws java.lang.IllegalAccessException

      Generates a map of the fields and values on a given object, also pulls from superclasses
      Parameters:
        `object` - the object to generate the list of fields from
      Returns:
        map containing the fields and their values
      Throws:
        `java.lang.IllegalAccessException`

    - #### getVariablesAndValuesIncludingSuperclasses

          public static java.util.Map getVariablesAndValuesIncludingSuperclasses(java.lang.Object object)
                                                                          throws java.lang.IllegalAccessException

      Generates a map of the fields and values on a given object, also pulls from superclasses
      Parameters:
        `object` - the object to generate the list of fields from
      Returns:
        map containing the fields and their values
      Throws:
        `java.lang.IllegalAccessException`

    - #### isSetter

          public static boolean isSetter(java.lang.reflect.Method method)