Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.enhance
Class Reflection

    java.lang.Object
      org.apache.openjpa.enhance.Reflection

    public class Reflection

extends Object

Reflection utilities used to support and augment enhancement. Used both at enhancement time and at runtime.

Author:
  Abe White

Constructor Summary
`Reflection()`

Method Summary
`(package private) static boolean` | `canReflect(Field field)` Affirms if the original declaration the given field is annotated for reflection.
`(package private) static boolean` | `canReflect(Method method)` Affirms if the original declaration the given method is annotated for reflection.
`(package private) static boolean` | `canReflect(Reflectable cls, Reflectable member)` Affirms if the given member is selected for reflection.
`static Field` | `findField(Class cls, String name, boolean mustExist)` Return the field with the given name, optionally throwing an exception if none.
`static Method` | `findGetter(Class cls, String prop, boolean mustExist)` Return the getter method matching the given property name, optionally throwing an exception if none.
`static Method` | `findSetter(Class cls, String prop, boolean mustExist)` Return the setter method matching the given property name, optionally throwing an exception if none.
`static Method` | `findSetter(Class cls, String prop, Class param, boolean mustExist)` Return the setter method matching the given property name, optionally throwing an exception if none.
`static Object` | `get(Object target, Field field)` Return the value of the given field in the given object.
`static Object` | `get(Object target, Method getter)` Return the return value of the given getter in the given object.
`static Set<String>` | `getBeanStylePropertyNames(Class<?> c)` Gets all bean-style property names of the given Class or its superclass.
`static boolean` | `getBoolean(Object target, Field field)` Return the value of the given field in the given object.
`static boolean` | `getBoolean(Object target, Method getter)` Return the return value of the given getter in the given object.
`static byte` | `getByte(Object target, Field field)` Return the value of the given field in the given object.
`static byte` | `getByte(Object target, Method getter)` Return the return value of the given getter in the given object.
`static char` | `getChar(Object target, Field field)` Return the value of the given field in the given object.
`static char` | `getChar(Object target, Method getter)` Return the return value of the given getter in the given object.
`(package private) static Method` | `getDeclaredMethod(Class cls, String name, Class param)` Invokes `cls.getDeclaredMethods()`, and returns the method that matches the `name` and `param` arguments.
`static Class` | `getDeclaringClass(Method m)` Gets the declaring class of the given method signature but also checks if the method is declared in an interface.
`static Method` | `getDeclaringMethod(Class c, Method m)` Gets the method in the given class that has the same signature of the given method, if exists.
`static double` | `getDouble(Object target, Field field)` Return the value of the given field in the given object.
`static double` | `getDouble(Object target, Method getter)` Return the return value of the given getter in the given object.
`static
`<T> Set<T>`
` | `getFieldValues(Class c, int mods, Class<T> t)` Gets values of all field f the given class such that f exactly match the given modifiers and are of given type (Object implies any type) unless f is annotated as `Reflectable`.
`static float` | `getFloat(Object target, Field field)` Return the value of the given field in the given object.
`static float` | `getFloat(Object target, Method getter)` Return the return value of the given getter in the given object.
`static int` | `getInt(Object target, Field field)` Return the value of the given field in the given object.
`static int` | `getInt(Object target, Method getter)` Return the return value of the given getter in the given object.
`static long` | `getLong(Object target, Field field)` Return the value of the given field in the given object.
`static long` | `getLong(Object target, Method getter)` Return the return value of the given getter in the given object.
`static Set<String>` | `getPublicFieldNames(Class c)` Gets all public field names of the given Class.
`static short` | `getShort(Object target, Field field)` Return the value of the given field in the given object.
`static short` | `getShort(Object target, Method getter)` Return the return value of the given getter in the given object.
`static Object` | `getValue(Object obj, String prop, boolean mustExist)` Get the value of the given named field or a corresponding getter method.
`(package private) static Method` | `mostDerived(Method meth1, Method meth2)`
`static void` | `set(Object target, boolean value, Field field)` Set the value of the given field in the given object.
`static void` | `set(Object target, byte value, Field field)` Set the value of the given field in the given object.
`static void` | `set(Object target, char value, Field field)` Set the value of the given field in the given object.
`static void` | `set(Object target, double value, Field field)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, boolean value)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, byte value)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, char value)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, double value)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, float value)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, int value)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, long value)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, Object value)` Set the value of the given field in the given object.
`static void` | `set(Object target, Field field, short value)` Set the value of the given field in the given object.
`static void` | `set(Object target, float value, Field field)` Set the value of the given field in the given object.
`static void` | `set(Object target, int value, Field field)` Set the value of the given field in the given object.
`static void` | `set(Object target, long value, Field field)` Set the value of the given field in the given object.
`static void` | `set(Object target, Method setter, boolean value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Method setter, byte value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Method setter, char value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Method setter, double value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Method setter, float value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Method setter, int value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Method setter, long value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Method setter, Object value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Method setter, short value)` Invoke the given setter on the given object.
`static void` | `set(Object target, Object value, Field field)` Set the value of the given field in the given object.
`static void` | `set(Object target, short value, Field field)` Set the value of the given field in the given object.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Reflection

    public Reflection()

Method Detail

### findGetter

    public static Method findGetter(Class cls,
                                    String prop,
                                    boolean mustExist)

  Return the getter method matching the given property name, optionally throwing an exception if none.

### findSetter

    public static Method findSetter(Class cls,
                                    String prop,
                                    boolean mustExist)

  Return the setter method matching the given property name, optionally throwing an exception if none. The property must also have a getter.

### findSetter

    public static Method findSetter(Class cls,
                                    String prop,
                                    Class param,
                                    boolean mustExist)

  Return the setter method matching the given property name, optionally throwing an exception if none.

### getDeclaredMethod

    static Method getDeclaredMethod(Class cls,
                                    String name,
                                    Class param)

  Invokes `cls.getDeclaredMethods()`, and returns the method that matches the `name` and `param` arguments. Avoids the exception thrown by `Class.getDeclaredMethod()` for performance reasons. `param` may be null. Additionally, if there are multiple methods with different return types, this will return the method defined in the least-derived class.

  Since:
    0.9.8

### mostDerived

    static Method mostDerived(Method meth1,
                              Method meth2)

### findField

    public static Field findField(Class cls,
                                  String name,
                                  boolean mustExist)

  Return the field with the given name, optionally throwing an exception if none.

### get

    public static Object get(Object target,
                             Field field)

  Return the value of the given field in the given object.

### getValue

    public static Object getValue(Object obj,
                                  String prop,
                                  boolean mustExist)

  Get the value of the given named field or a corresponding getter method.

  Returns:
    null if the field does not exist and mustExist is set to false or the given target is null.
  Throws:
    `UserException` - if mustExist is true and the field or getter method is non-existent

### getBoolean

    public static boolean getBoolean(Object target,
                                     Field field)

  Return the value of the given field in the given object.

### getByte

    public static byte getByte(Object target,
                               Field field)

  Return the value of the given field in the given object.

### getChar

    public static char getChar(Object target,
                               Field field)

  Return the value of the given field in the given object.

### getDouble

    public static double getDouble(Object target,
                                   Field field)

  Return the value of the given field in the given object.

### getFloat

    public static float getFloat(Object target,
                                 Field field)

  Return the value of the given field in the given object.

### getInt

    public static int getInt(Object target,
                             Field field)

  Return the value of the given field in the given object.

### getLong

    public static long getLong(Object target,
                               Field field)

  Return the value of the given field in the given object.

### getShort

    public static short getShort(Object target,
                                 Field field)

  Return the value of the given field in the given object.

### get

    public static Object get(Object target,
                             Method getter)

  Return the return value of the given getter in the given object.

### getBoolean

    public static boolean getBoolean(Object target,
                                     Method getter)

  Return the return value of the given getter in the given object.

### getByte

    public static byte getByte(Object target,
                               Method getter)

  Return the return value of the given getter in the given object.

### getChar

    public static char getChar(Object target,
                               Method getter)

  Return the return value of the given getter in the given object.

### getDouble

    public static double getDouble(Object target,
                                   Method getter)

  Return the return value of the given getter in the given object.

### getFloat

    public static float getFloat(Object target,
                                 Method getter)

  Return the return value of the given getter in the given object.

### getInt

    public static int getInt(Object target,
                             Method getter)

  Return the return value of the given getter in the given object.

### getLong

    public static long getLong(Object target,
                               Method getter)

  Return the return value of the given getter in the given object.

### getShort

    public static short getShort(Object target,
                                 Method getter)

  Return the return value of the given getter in the given object.

### set

    public static void set(Object target,
                           Field field,
                           Object value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Field field,
                           boolean value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Field field,
                           byte value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Field field,
                           char value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Field field,
                           double value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Field field,
                           float value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Field field,
                           int value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Field field,
                           long value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Field field,
                           short value)

  Set the value of the given field in the given object.

### set

    public static void set(Object target,
                           Object value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           boolean value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           byte value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           char value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           double value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           float value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           int value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           long value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           short value,
                           Field field)

  Set the value of the given field in the given object. Same behavior as above methods, but parameter ordering is rearranged to simplify usage from generated bytecodes.

  Since:
    1.0.0

### set

    public static void set(Object target,
                           Method setter,
                           Object value)

  Invoke the given setter on the given object.

### set

    public static void set(Object target,
                           Method setter,
                           boolean value)

  Invoke the given setter on the given object.

### set

    public static void set(Object target,
                           Method setter,
                           byte value)

  Invoke the given setter on the given object.

### set

    public static void set(Object target,
                           Method setter,
                           char value)

  Invoke the given setter on the given object.

### set

    public static void set(Object target,
                           Method setter,
                           double value)

  Invoke the given setter on the given object.

### set

    public static void set(Object target,
                           Method setter,
                           float value)

  Invoke the given setter on the given object.

### set

    public static void set(Object target,
                           Method setter,
                           int value)

  Invoke the given setter on the given object.

### set

    public static void set(Object target,
                           Method setter,
                           long value)

  Invoke the given setter on the given object.

### set

    public static void set(Object target,
                           Method setter,
                           short value)

  Invoke the given setter on the given object.

### getBeanStylePropertyNames

    public static Set<String> getBeanStylePropertyNames(Class<?> c)

  Gets all bean-style property names of the given Class or its superclass. A bean-style property 'abc' exists in Class C iff C has declared following pair of methods: public void setAbc(Y y) or public C setAbc(Y y) public Y getAbc(); If a getter property is annotated with `Reflectable`, then it is ignored.

### getPublicFieldNames

    public static Set<String> getPublicFieldNames(Class c)

  Gets all public field names of the given Class.

### getFieldValues

    public static <T> Set<T> getFieldValues(Class c,
                                            int mods,
                                            Class<T> t)

  Gets values of all field f the given class such that f exactly match the given modifiers and are of given type (Object implies any type) unless f is annotated as `Reflectable`.

### canReflect

    static boolean canReflect(Reflectable cls,
                              Reflectable member)

  Affirms if the given member is selected for reflection. The decision is based on the following truth table on both the class-level and member-level annotation (null annotation represents MAYBE) Class member MAYBE MAYBE YES MAYBE YES YES MAYBE NO NO YES MAYBE YES YES YES YES YES NO NO NO YES YES NO MAYBE NO NO NO NO

### canReflect

    static boolean canReflect(Field field)

  Affirms if the original declaration the given field is annotated for reflection.

### canReflect

    static boolean canReflect(Method method)

  Affirms if the original declaration the given method is annotated for reflection.

### getDeclaringClass

    public static Class getDeclaringClass(Method m)

  Gets the declaring class of the given method signature but also checks if the method is declared in an interface. If yes, then returns the interface.

### getDeclaringMethod

    public static Method getDeclaringMethod(Class c,
                                            Method m)

  Gets the method in the given class that has the same signature of the given method, if exists. Otherwise, null.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.