public class ClassReflector
extends java.lang.Object
Constructor and Description |
---|
ClassReflector() |
Modifier and Type | Method and Description |
---|---|
static void |
clearCache() |
static java.util.Collection<java.lang.reflect.Method> |
getAccessibleGetters(java.lang.Class<?> clazz) |
static int |
getCacheSize() |
static <T> java.lang.Class<T> |
getClass(java.lang.Class<T> clazz,
java.lang.String className) |
static java.lang.reflect.Method |
getCompatibleMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... paramTypes) |
static <T> java.lang.reflect.Constructor<T> |
getConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>... parameterTypes) |
static <T> java.lang.reflect.Constructor<T> |
getConstructor(java.lang.Class<T> clazz,
java.lang.String className,
java.lang.Class<?>... parameterTypes) |
static java.lang.reflect.Method[] |
getDeclaredGetters(java.lang.Class<?> clazz) |
static java.lang.reflect.Method[] |
getDeclaredSetters(java.lang.Class<?> clazz) |
static java.lang.String |
getFieldName(java.lang.String methodName) |
static java.lang.reflect.Method |
getFirstMethodWithName(java.lang.Class<?> clazz,
java.lang.String methodName) |
static java.lang.String |
getGetterName(java.lang.String fieldName) |
static java.lang.String |
getGetterName(java.lang.String fieldName,
java.lang.Class<?> fieldType) |
static java.lang.reflect.Type |
getGetterReturnType(java.lang.Class<?> classConnector,
java.lang.String getterName) |
static <T> T |
getInstance(java.lang.reflect.Constructor<T> constructor,
java.lang.Object... parameters) |
static java.lang.reflect.Method |
getMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes) |
static java.lang.reflect.Method |
getMethodByName(java.lang.Class<?> clazz,
java.lang.String methodName) |
static <T> T |
getObject(java.lang.Class<T> clazz,
java.lang.String className) |
static <T> T |
invokeGetter(java.lang.Object entity,
java.lang.String getterName) |
static java.lang.Object |
invokeMethod(java.lang.Object entity,
java.lang.String methodName,
java.lang.Class<?>[] parameterType,
java.lang.Object[] parameterValue) |
static java.lang.Object |
invokeMethod(java.lang.Object entity,
java.lang.String methodName,
java.lang.Class<?> parameterType,
java.lang.Object parameterValue) |
static java.lang.Object |
invokeMethodByName(java.lang.Object entity,
java.lang.String methodName,
java.lang.Object... parameterValues) |
static void |
invokeSetter(java.lang.Object entity,
java.lang.String setterName,
java.lang.Class<?> parameterType,
java.lang.Object parameterValue) |
static boolean |
isAGetterMethod(java.lang.reflect.Method method) |
static boolean |
isASetterMethod(java.lang.reflect.Method method) |
static void |
setField(java.lang.Object object,
java.lang.String fieldName,
java.lang.Object parameterValue)
call a setter by reflection
support pointed notation like pojo.child.name
|
public static java.util.Collection<java.lang.reflect.Method> getAccessibleGetters(java.lang.Class<?> clazz)
public static <T> java.lang.Class<T> getClass(java.lang.Class<T> clazz, java.lang.String className) throws SReflectException
SReflectException
public static <T> T getObject(java.lang.Class<T> clazz, java.lang.String className) throws SReflectException
SReflectException
public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz, java.lang.Class<?>... parameterTypes) throws SReflectException
SReflectException
public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz, java.lang.String className, java.lang.Class<?>... parameterTypes) throws SReflectException
SReflectException
public static <T> T getInstance(java.lang.reflect.Constructor<T> constructor, java.lang.Object... parameters) throws SReflectException
SReflectException
public static <T> T invokeGetter(java.lang.Object entity, java.lang.String getterName) throws SReflectException
SReflectException
public static void invokeSetter(java.lang.Object entity, java.lang.String setterName, java.lang.Class<?> parameterType, java.lang.Object parameterValue) throws SReflectException
SReflectException
public static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameterTypes) throws java.lang.NoSuchMethodException
java.lang.NoSuchMethodException
public static java.lang.reflect.Method getMethodByName(java.lang.Class<?> clazz, java.lang.String methodName)
public static java.lang.reflect.Method getFirstMethodWithName(java.lang.Class<?> clazz, java.lang.String methodName)
public static java.lang.Object invokeMethodByName(java.lang.Object entity, java.lang.String methodName, java.lang.Object... parameterValues) throws SReflectException
SReflectException
public static java.lang.Object invokeMethod(java.lang.Object entity, java.lang.String methodName, java.lang.Class<?> parameterType, java.lang.Object parameterValue) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchMethodException
public static java.lang.Object invokeMethod(java.lang.Object entity, java.lang.String methodName, java.lang.Class<?>[] parameterType, java.lang.Object[] parameterValue) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchMethodException
public static java.lang.reflect.Method getCompatibleMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... paramTypes) throws SReflectException
SReflectException
public static java.lang.reflect.Type getGetterReturnType(java.lang.Class<?> classConnector, java.lang.String getterName) throws SReflectException
SReflectException
public static java.lang.reflect.Method[] getDeclaredSetters(java.lang.Class<?> clazz)
public static java.lang.reflect.Method[] getDeclaredGetters(java.lang.Class<?> clazz)
public static boolean isAGetterMethod(java.lang.reflect.Method method)
public static boolean isASetterMethod(java.lang.reflect.Method method)
public static java.lang.String getGetterName(java.lang.String fieldName)
public static java.lang.String getGetterName(java.lang.String fieldName, java.lang.Class<?> fieldType)
public static java.lang.String getFieldName(java.lang.String methodName)
public static void setField(java.lang.Object object, java.lang.String fieldName, java.lang.Object parameterValue) throws SReflectException
object
- object on with to call the setterfieldName
- parameterValue
- SReflectException
public static void clearCache()
public static int getCacheSize()