| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.test.util.ReflectionTestUtils
public class ReflectionTestUtils
ReflectionTestUtils is a collection of reflection-based utility methods for use in unit and integration testing scenarios.
 There are often situations in which it would be beneficial to be able to set
 a non-public field or invoke a non-public
 setter method when testing code involving, for example:
 
private or protected field access as opposed to
 public setter methods for properties in a domain entity.@Autowired and
 @Resource which provides dependency
 injection for private or protected fields,
 setter methods, and configuration methods.
ReflectionUtils| Constructor Summary | |
|---|---|
| ReflectionTestUtils() | |
| Method Summary | |
|---|---|
| static Object | getField(Object target,
         String name)Get the field with the given namefrom the provided
 target object. | 
| static Object | invokeGetterMethod(Object target,
                   String name)Invoke the getter method with the given nameon the supplied
 target object with the suppliedvalue. | 
| static void | invokeSetterMethod(Object target,
                   String name,
                   Object value)Invoke the setter method with the given nameon the supplied
 target object with the suppliedvalue. | 
| static void | invokeSetterMethod(Object target,
                   String name,
                   Object value,
                   Class type)Invoke the setter method with the given nameon the supplied
 target object with the suppliedvalue. | 
| static void | setField(Object target,
         String name,
         Object value)Set the fieldwith the givennameon the
 providedtarget objectto the suppliedvalue. | 
| static void | setField(Object target,
         String name,
         Object value,
         Class type)Set the fieldwith the givennameon the
 providedtarget objectto the suppliedvalue. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public ReflectionTestUtils()
| Method Detail | 
|---|
public static void setField(Object target,
                            String name,
                            Object value)
field with the given name on the
 provided target object to the supplied value.
 This method traverses the class hierarchy in search of the desired field.
 In addition, an attempt will be made to make non-public
 fields accessible, thus allowing one to set
 protected, private, and
 package-private fields.
target - the target object on which to set the fieldname - the name of the field to setvalue - the value to setReflectionUtils.findField(Class, String, Class), 
ReflectionUtils.makeAccessible(Field), 
ReflectionUtils.setField(Field, Object, Object)
public static void setField(Object target,
                            String name,
                            Object value,
                            Class type)
field with the given name on the
 provided target object to the supplied value.
 This method traverses the class hierarchy in search of the desired field.
 In addition, an attempt will be made to make non-public
 fields accessible, thus allowing one to set
 protected, private, and
 package-private fields.
target - the target object on which to set the fieldname - the name of the field to setvalue - the value to settype - the type of the field (may be null)ReflectionUtils.findField(Class, String, Class), 
ReflectionUtils.makeAccessible(Field), 
ReflectionUtils.setField(Field, Object, Object)
public static Object getField(Object target,
                              String name)
name from the provided
 target object.
 This method traverses the class hierarchy in search of the desired field.
 In addition, an attempt will be made to make non-public fields
 accessible, thus allowing one to get protected,
 private, and package-private fields.
target - the target object on which to set the fieldname - the name of the field to get
ReflectionUtils.findField(Class, String, Class), 
ReflectionUtils.makeAccessible(Field), 
ReflectionUtils.setField(Field, Object, Object)
public static void invokeSetterMethod(Object target,
                                      String name,
                                      Object value)
name on the supplied
 target object with the supplied value.
 This method traverses the class hierarchy in search of the desired
 method. In addition, an attempt will be made to make non-public
 methods accessible, thus allowing one to invoke protected,
 private, and package-private setter methods.
 
In addition, this method supports JavaBean-style property
 names. For example, if you wish to set the name property
 on the target object, you may pass either "name" or
 "setName" as the method name.
target - the target object on which to invoke the specified setter methodname - the name of the setter method to invoke or the corresponding property namevalue - the value to provide to the setter methodReflectionUtils.findMethod(Class, String, Class[]), 
ReflectionUtils.makeAccessible(Method), 
ReflectionUtils.invokeMethod(Method, Object, Object[])
public static void invokeSetterMethod(Object target,
                                      String name,
                                      Object value,
                                      Class type)
name on the supplied
 target object with the supplied value.
 This method traverses the class hierarchy in search of the desired
 method. In addition, an attempt will be made to make non-public
 methods accessible, thus allowing one to invoke protected,
 private, and package-private setter methods.
 
In addition, this method supports JavaBean-style property
 names. For example, if you wish to set the name property
 on the target object, you may pass either "name" or
 "setName" as the method name.
target - the target object on which to invoke the specified setter methodname - the name of the setter method to invoke or the corresponding property namevalue - the value to provide to the setter methodtype - the formal parameter type declared by the setter methodReflectionUtils.findMethod(Class, String, Class[]), 
ReflectionUtils.makeAccessible(Method), 
ReflectionUtils.invokeMethod(Method, Object, Object[])
public static Object invokeGetterMethod(Object target,
                                        String name)
name on the supplied
 target object with the supplied value.
 This method traverses the class hierarchy in search of the desired
 method. In addition, an attempt will be made to make non-public
 methods accessible, thus allowing one to invoke protected,
 private, and package-private getter methods.
 
In addition, this method supports JavaBean-style property
 names. For example, if you wish to get the name property
 on the target object, you may pass either "name" or
 "getName" as the method name.
target - the target object on which to invoke the specified getter methodname - the name of the getter method to invoke or the corresponding property name
ReflectionUtils.findMethod(Class, String, Class[]), 
ReflectionUtils.makeAccessible(Method), 
ReflectionUtils.invokeMethod(Method, Object, Object[])| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||