|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springsource.loaded.ri.ReflectiveInterceptor
public class ReflectiveInterceptor
The reflective interceptor is called to rewrite any reflective calls that are found in the bytecode. Intercepting the calls means we can delegate to the SpringLoaded infrastructure.
| Field Summary | |
|---|---|
static java.util.logging.Logger |
log
|
| Constructor Summary | |
|---|---|
ReflectiveInterceptor()
|
|
| Method Summary | |
|---|---|
protected static void |
fixModifier(ReloadableType rtype,
java.lang.reflect.Constructor<?> constructor)
|
static java.lang.Class<?> |
getCallerClass()
Get the Class that declares the method calling interceptor method that called this method. |
static ReloadableType |
getRType(java.lang.Class<?> clazz)
Access and return the ReloadableType field on a specified class. |
static java.lang.annotation.Annotation |
jlClassGetAnnotation(java.lang.Class<?> clazz,
java.lang.Class<? extends java.lang.annotation.Annotation> annoType)
|
static java.lang.annotation.Annotation[] |
jlClassGetAnnotations(java.lang.Class<?> clazz)
Called to satisfy an invocation of java.lang.Class.getDeclaredAnnotations(). |
static java.lang.reflect.Constructor<?> |
jlClassGetConstructor(java.lang.Class<?> clazz,
java.lang.Class<?>... params)
|
static java.lang.reflect.Constructor<?>[] |
jlClassGetConstructors(java.lang.Class<?> clazz)
|
static java.lang.annotation.Annotation[] |
jlClassGetDeclaredAnnotations(java.lang.Class<?> clazz)
Called to satisfy an invocation of java.lang.Class.getDeclaredAnnotations(). |
static java.lang.reflect.Constructor<?> |
jlClassGetDeclaredConstructor(java.lang.Class<?> clazz,
java.lang.Class<?>... params)
|
static java.lang.reflect.Constructor<?>[] |
jlClassGetDeclaredConstructors(java.lang.Class<?> clazz)
|
static java.lang.reflect.Field |
jlClassGetDeclaredField(java.lang.Class<?> clazz,
java.lang.String name)
|
static java.lang.reflect.Field[] |
jlClassGetDeclaredFields(java.lang.Class<?> clazz)
|
static java.lang.reflect.Method |
jlClassGetDeclaredMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... params)
Implementation of java.lang.class.getDeclaredMethod(String name, Class... |
static java.lang.reflect.Method[] |
jlClassGetDeclaredMethods(java.lang.Class<?> clazz)
|
static java.lang.reflect.Field |
jlClassGetField(java.lang.Class<?> clazz,
java.lang.String name)
|
static java.lang.reflect.Field[] |
jlClassGetFields(java.lang.Class<?> clazz)
Although fields are not reloadable, we have to intercept this because otherwise we'll return the r$type field as a result here. |
static java.lang.reflect.Method |
jlClassGetMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... params)
Implementation of java.lang.class.getMethod(String name, Class... |
static java.lang.reflect.Method[] |
jlClassGetMethods(java.lang.Class<?> clazz)
|
static int |
jlClassGetModifiers(java.lang.Class<?> clazz)
Retrieve modifiers for a Java class, which might or might not be reloadable or reloaded. |
static boolean |
jlClassIsAnnotationPresent(java.lang.Class<?> clazz,
java.lang.Class<? extends java.lang.annotation.Annotation> annoType)
|
static java.lang.Object |
jlClassNewInstance(java.lang.Class<?> clazz)
|
static java.lang.annotation.Annotation |
jlrAccessibleObjectGetAnnotation(java.lang.reflect.AccessibleObject obj,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
|
static java.lang.annotation.Annotation[] |
jlrAccessibleObjectGetAnnotations(java.lang.reflect.AccessibleObject obj)
|
static java.lang.annotation.Annotation[] |
jlrAccessibleObjectGetDeclaredAnnotations(java.lang.reflect.AccessibleObject obj)
|
static boolean |
jlrAccessibleObjectIsAnnotationPresent(java.lang.reflect.AccessibleObject obj,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
|
static java.lang.annotation.Annotation |
jlrAnnotatedElementGetAnnotation(java.lang.reflect.AnnotatedElement elem,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
|
static java.lang.annotation.Annotation[] |
jlrAnnotatedElementGetAnnotations(java.lang.reflect.AnnotatedElement elem)
|
static java.lang.annotation.Annotation[] |
jlrAnnotatedElementGetDeclaredAnnotations(java.lang.reflect.AnnotatedElement elem)
|
static boolean |
jlrAnnotatedElementIsAnnotationPresent(java.lang.reflect.AnnotatedElement elem,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
|
static java.lang.annotation.Annotation |
jlrConstructorGetAnnotation(java.lang.reflect.Constructor<?> c,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
|
static java.lang.annotation.Annotation[] |
jlrConstructorGetAnnotations(java.lang.reflect.Constructor<?> c)
|
static java.lang.annotation.Annotation[] |
jlrConstructorGetDeclaredAnnotations(java.lang.reflect.Constructor<?> c)
|
static java.lang.annotation.Annotation[][] |
jlrConstructorGetParameterAnnotations(java.lang.reflect.Constructor<?> c)
|
static boolean |
jlrConstructorIsAnnotationPresent(java.lang.reflect.Constructor<?> c,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
|
static java.lang.Object |
jlrConstructorNewInstance(java.lang.reflect.Constructor<?> c,
java.lang.Object... params)
|
static java.lang.Object |
jlrFieldGet(java.lang.reflect.Field field,
java.lang.Object target)
|
static java.lang.annotation.Annotation |
jlrFieldGetAnnotation(java.lang.reflect.Field field,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
|
static java.lang.annotation.Annotation[] |
jlrFieldGetAnnotations(java.lang.reflect.Field field)
|
static boolean |
jlrFieldGetBoolean(java.lang.reflect.Field field,
java.lang.Object target)
|
static byte |
jlrFieldGetByte(java.lang.reflect.Field field,
java.lang.Object target)
|
static char |
jlrFieldGetChar(java.lang.reflect.Field field,
java.lang.Object target)
|
static java.lang.annotation.Annotation[] |
jlrFieldGetDeclaredAnnotations(java.lang.reflect.Field field)
|
static double |
jlrFieldGetDouble(java.lang.reflect.Field field,
java.lang.Object target)
|
static float |
jlrFieldGetFloat(java.lang.reflect.Field field,
java.lang.Object target)
|
static int |
jlrFieldGetInt(java.lang.reflect.Field field,
java.lang.Object target)
|
static long |
jlrFieldGetLong(java.lang.reflect.Field field,
java.lang.Object target)
|
static short |
jlrFieldGetShort(java.lang.reflect.Field field,
java.lang.Object target)
|
static boolean |
jlrFieldIsAnnotationPresent(java.lang.reflect.Field field,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
|
static void |
jlrFieldSet(java.lang.reflect.Field field,
java.lang.Object target,
java.lang.Object value)
|
static void |
jlrFieldSetBoolean(java.lang.reflect.Field field,
java.lang.Object target,
boolean value)
|
static void |
jlrFieldSetByte(java.lang.reflect.Field field,
java.lang.Object target,
byte value)
|
static void |
jlrFieldSetChar(java.lang.reflect.Field field,
java.lang.Object target,
char value)
|
static void |
jlrFieldSetDouble(java.lang.reflect.Field field,
java.lang.Object target,
double value)
|
static void |
jlrFieldSetFloat(java.lang.reflect.Field field,
java.lang.Object target,
float value)
|
static void |
jlrFieldSetInt(java.lang.reflect.Field field,
java.lang.Object target,
int value)
|
static void |
jlrFieldSetLong(java.lang.reflect.Field field,
java.lang.Object target,
long value)
|
static void |
jlrFieldSetShort(java.lang.reflect.Field field,
java.lang.Object target,
short value)
|
static java.lang.annotation.Annotation |
jlrMethodGetAnnotation(java.lang.reflect.Method method,
java.lang.Class<? extends java.lang.annotation.Annotation> annotClass)
|
static java.lang.annotation.Annotation[] |
jlrMethodGetAnnotations(java.lang.reflect.Method method)
|
static java.lang.annotation.Annotation[] |
jlrMethodGetDeclaredAnnotations(java.lang.reflect.Method method)
|
static java.lang.annotation.Annotation[][] |
jlrMethodGetParameterAnnotations(java.lang.reflect.Method method)
|
static java.lang.Object |
jlrMethodInvoke(java.lang.reflect.Method method,
java.lang.Object target,
java.lang.Object... params)
|
static boolean |
jlrMethodIsAnnotationPresent(java.lang.reflect.Method method,
java.lang.Class<? extends java.lang.annotation.Annotation> annotClass)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static java.util.logging.Logger log
| Constructor Detail |
|---|
public ReflectiveInterceptor()
| Method Detail |
|---|
public static java.lang.reflect.Method jlClassGetDeclaredMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... params)
throws java.lang.SecurityException,
java.lang.NoSuchMethodException
java.lang.SecurityException
java.lang.NoSuchMethodException
public static java.lang.reflect.Method jlClassGetMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... params)
throws java.lang.SecurityException,
java.lang.NoSuchMethodException
java.lang.SecurityException
java.lang.NoSuchMethodExceptionpublic static java.lang.reflect.Method[] jlClassGetDeclaredMethods(java.lang.Class<?> clazz)
public static java.lang.reflect.Method[] jlClassGetMethods(java.lang.Class<?> clazz)
public static java.lang.Class<?> getCallerClass()
public static java.lang.annotation.Annotation[] jlClassGetDeclaredAnnotations(java.lang.Class<?> clazz)
clazz - the class upon which the original call was being invokedpublic static java.lang.annotation.Annotation[] jlClassGetAnnotations(java.lang.Class<?> clazz)
clazz - the class upon which the original call was being invoked
public static java.lang.annotation.Annotation jlClassGetAnnotation(java.lang.Class<?> clazz,
java.lang.Class<? extends java.lang.annotation.Annotation> annoType)
public static boolean jlClassIsAnnotationPresent(java.lang.Class<?> clazz,
java.lang.Class<? extends java.lang.annotation.Annotation> annoType)
public static java.lang.reflect.Constructor<?>[] jlClassGetDeclaredConstructors(java.lang.Class<?> clazz)
protected static void fixModifier(ReloadableType rtype,
java.lang.reflect.Constructor<?> constructor)
public static java.lang.reflect.Constructor<?>[] jlClassGetConstructors(java.lang.Class<?> clazz)
public static java.lang.reflect.Constructor<?> jlClassGetDeclaredConstructor(java.lang.Class<?> clazz,
java.lang.Class<?>... params)
throws java.lang.SecurityException,
java.lang.NoSuchMethodException
java.lang.SecurityException
java.lang.NoSuchMethodException
public static java.lang.reflect.Constructor<?> jlClassGetConstructor(java.lang.Class<?> clazz,
java.lang.Class<?>... params)
throws java.lang.SecurityException,
java.lang.NoSuchMethodException
java.lang.SecurityException
java.lang.NoSuchMethodExceptionpublic static int jlClassGetModifiers(java.lang.Class<?> clazz)
clazz -
public static ReloadableType getRType(java.lang.Class<?> clazz)
clazz -
public static java.lang.annotation.Annotation[] jlrMethodGetDeclaredAnnotations(java.lang.reflect.Method method)
public static java.lang.annotation.Annotation[][] jlrMethodGetParameterAnnotations(java.lang.reflect.Method method)
public static java.lang.Object jlClassNewInstance(java.lang.Class<?> clazz)
throws java.lang.SecurityException,
java.lang.NoSuchMethodException,
java.lang.IllegalArgumentException,
java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
java.lang.SecurityException
java.lang.NoSuchMethodException
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
public static java.lang.Object jlrConstructorNewInstance(java.lang.reflect.Constructor<?> c,
java.lang.Object... params)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.IllegalArgumentException,
java.lang.reflect.InvocationTargetException,
java.lang.SecurityException,
java.lang.NoSuchMethodException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.reflect.InvocationTargetException
java.lang.SecurityException
java.lang.NoSuchMethodException
public static java.lang.Object jlrMethodInvoke(java.lang.reflect.Method method,
java.lang.Object target,
java.lang.Object... params)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
public static boolean jlrMethodIsAnnotationPresent(java.lang.reflect.Method method,
java.lang.Class<? extends java.lang.annotation.Annotation> annotClass)
public static java.lang.annotation.Annotation jlrMethodGetAnnotation(java.lang.reflect.Method method,
java.lang.Class<? extends java.lang.annotation.Annotation> annotClass)
public static java.lang.annotation.Annotation[] jlrAnnotatedElementGetAnnotations(java.lang.reflect.AnnotatedElement elem)
public static java.lang.annotation.Annotation[] jlrAnnotatedElementGetDeclaredAnnotations(java.lang.reflect.AnnotatedElement elem)
public static java.lang.annotation.Annotation[] jlrAccessibleObjectGetDeclaredAnnotations(java.lang.reflect.AccessibleObject obj)
public static java.lang.annotation.Annotation[] jlrFieldGetDeclaredAnnotations(java.lang.reflect.Field field)
public static boolean jlrFieldIsAnnotationPresent(java.lang.reflect.Field field,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
public static java.lang.annotation.Annotation[] jlrFieldGetAnnotations(java.lang.reflect.Field field)
public static java.lang.annotation.Annotation[] jlrAccessibleObjectGetAnnotations(java.lang.reflect.AccessibleObject obj)
public static java.lang.annotation.Annotation[] jlrConstructorGetAnnotations(java.lang.reflect.Constructor<?> c)
public static java.lang.annotation.Annotation[] jlrConstructorGetDeclaredAnnotations(java.lang.reflect.Constructor<?> c)
public static java.lang.annotation.Annotation jlrConstructorGetAnnotation(java.lang.reflect.Constructor<?> c,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
public static java.lang.annotation.Annotation[][] jlrConstructorGetParameterAnnotations(java.lang.reflect.Constructor<?> c)
public static boolean jlrConstructorIsAnnotationPresent(java.lang.reflect.Constructor<?> c,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
public static java.lang.annotation.Annotation jlrFieldGetAnnotation(java.lang.reflect.Field field,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
public static java.lang.annotation.Annotation[] jlrMethodGetAnnotations(java.lang.reflect.Method method)
public static boolean jlrAnnotatedElementIsAnnotationPresent(java.lang.reflect.AnnotatedElement elem,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
public static boolean jlrAccessibleObjectIsAnnotationPresent(java.lang.reflect.AccessibleObject obj,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
public static java.lang.annotation.Annotation jlrAnnotatedElementGetAnnotation(java.lang.reflect.AnnotatedElement elem,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
public static java.lang.annotation.Annotation jlrAccessibleObjectGetAnnotation(java.lang.reflect.AccessibleObject obj,
java.lang.Class<? extends java.lang.annotation.Annotation> annotType)
public static java.lang.reflect.Field jlClassGetField(java.lang.Class<?> clazz,
java.lang.String name)
throws java.lang.SecurityException,
java.lang.NoSuchFieldException
java.lang.SecurityException
java.lang.NoSuchFieldException
public static java.lang.reflect.Field jlClassGetDeclaredField(java.lang.Class<?> clazz,
java.lang.String name)
throws java.lang.SecurityException,
java.lang.NoSuchFieldException
java.lang.SecurityException
java.lang.NoSuchFieldExceptionpublic static java.lang.reflect.Field[] jlClassGetDeclaredFields(java.lang.Class<?> clazz)
public static java.lang.reflect.Field[] jlClassGetFields(java.lang.Class<?> clazz)
public static java.lang.Object jlrFieldGet(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public static int jlrFieldGetInt(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static byte jlrFieldGetByte(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static char jlrFieldGetChar(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static short jlrFieldGetShort(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static double jlrFieldGetDouble(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static float jlrFieldGetFloat(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static boolean jlrFieldGetBoolean(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static long jlrFieldGetLong(java.lang.reflect.Field field,
java.lang.Object target)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSet(java.lang.reflect.Field field,
java.lang.Object target,
java.lang.Object value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSetInt(java.lang.reflect.Field field,
java.lang.Object target,
int value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSetByte(java.lang.reflect.Field field,
java.lang.Object target,
byte value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSetChar(java.lang.reflect.Field field,
java.lang.Object target,
char value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSetShort(java.lang.reflect.Field field,
java.lang.Object target,
short value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSetDouble(java.lang.reflect.Field field,
java.lang.Object target,
double value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSetFloat(java.lang.reflect.Field field,
java.lang.Object target,
float value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSetLong(java.lang.reflect.Field field,
java.lang.Object target,
long value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void jlrFieldSetBoolean(java.lang.reflect.Field field,
java.lang.Object target,
boolean value)
throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||