org.apache.openjpa.enhance
Class Reflection

java.lang.Object
  extended by 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
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 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 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 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 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.



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