public class ReflectiveInterceptor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.util.logging.Logger |
log |
Constructor and Description |
---|
ReflectiveInterceptor() |
Modifier and Type | Method and Description |
---|---|
protected static void |
fixModifier(ReloadableType rtype,
java.lang.reflect.Constructor<?> constructor) |
static java.lang.Class<?> |
getCallerClass() |
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) |
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) |
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) |
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 boolean |
jlosHasStaticInitializer(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) |
public static boolean jlosHasStaticInitializer(java.lang.Class<?> clazz)
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.NoSuchMethodException
public 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)
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.NoSuchMethodException
public static int jlClassGetModifiers(java.lang.Class<?> clazz)
clazz
- the class for which to discover modifierspublic static ReloadableType getRType(java.lang.Class<?> clazz)
clazz
- the class for which to discover the reloadable typepublic 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.NoSuchFieldException
public static java.lang.reflect.Field[] jlClassGetDeclaredFields(java.lang.Class<?> clazz)
public static java.lang.reflect.Field[] jlClassGetFields(java.lang.Class<?> clazz)
clazz
- the class for which to retrieve the fieldspublic 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