Package org.bonitasoft.engine.commons
Class ClassReflector
- java.lang.Object
-
- org.bonitasoft.engine.commons.ClassReflector
-
public class ClassReflector extends java.lang.Object- Author:
- Baptiste Mesta, Matthieu Chaffotte, Laurent Leseigneur
-
-
Constructor Summary
Constructors Constructor Description ClassReflector()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidclearCache()static java.util.Collection<java.lang.reflect.Method>getAccessibleGetters(java.lang.Class<?> clazz)static intgetCacheSize()static <T> java.lang.Class<T>getClass(java.lang.Class<T> clazz, java.lang.String className)static java.lang.reflect.MethodgetCompatibleMethod(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.StringgetFieldName(java.lang.String methodName)static java.lang.reflect.MethodgetFirstMethodWithName(java.lang.Class<?> clazz, java.lang.String methodName)static java.lang.StringgetGetterName(java.lang.String fieldName)static java.lang.StringgetGetterName(java.lang.String fieldName, java.lang.Class<?> fieldType)static java.lang.reflect.TypegetGetterReturnType(java.lang.Class<?> classConnector, java.lang.String getterName)static <T> TgetInstance(java.lang.reflect.Constructor<T> constructor, java.lang.Object... parameters)static java.lang.reflect.MethodgetMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameterTypes)static java.lang.reflect.MethodgetMethodByName(java.lang.Class<?> clazz, java.lang.String methodName)static <T> TgetObject(java.lang.Class<T> clazz, java.lang.String className)static <T> TinvokeGetter(java.lang.Object entity, java.lang.String getterName)static java.lang.ObjectinvokeMethod(java.lang.Object entity, java.lang.String methodName, java.lang.Class<?>[] parameterType, java.lang.Object[] parameterValue)static java.lang.ObjectinvokeMethod(java.lang.Object entity, java.lang.String methodName, java.lang.Class<?> parameterType, java.lang.Object parameterValue)static java.lang.ObjectinvokeMethodByName(java.lang.Object entity, java.lang.String methodName, java.lang.Object... parameterValues)static voidinvokeSetter(java.lang.Object entity, java.lang.String setterName, java.lang.Class<?> parameterType, java.lang.Object parameterValue)static booleanisAGetterMethod(java.lang.reflect.Method method)static booleanisASetterMethod(java.lang.reflect.Method method)static voidsetField(java.lang.Object object, java.lang.String fieldName, java.lang.Object parameterValue)call a setter by reflection support pointed notation like pojo.child.name
-
-
-
Method Detail
-
getAccessibleGetters
public static java.util.Collection<java.lang.reflect.Method> getAccessibleGetters(java.lang.Class<?> clazz)
-
getClass
public static <T> java.lang.Class<T> getClass(java.lang.Class<T> clazz, java.lang.String className) throws SReflectException- Throws:
SReflectException
-
getObject
public static <T> T getObject(java.lang.Class<T> clazz, java.lang.String className) throws SReflectException- Throws:
SReflectException
-
getConstructor
public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz, java.lang.Class<?>... parameterTypes) throws SReflectException- Throws:
SReflectException
-
getConstructor
public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz, java.lang.String className, java.lang.Class<?>... parameterTypes) throws SReflectException- Throws:
SReflectException
-
getInstance
public static <T> T getInstance(java.lang.reflect.Constructor<T> constructor, java.lang.Object... parameters) throws SReflectException- Throws:
SReflectException
-
invokeGetter
public static <T> T invokeGetter(java.lang.Object entity, java.lang.String getterName) throws SReflectException- Throws:
SReflectException
-
invokeSetter
public static void invokeSetter(java.lang.Object entity, java.lang.String setterName, java.lang.Class<?> parameterType, java.lang.Object parameterValue) throws SReflectException- Throws:
SReflectException
-
getMethod
public static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameterTypes) throws java.lang.NoSuchMethodException- Throws:
java.lang.NoSuchMethodException
-
getMethodByName
public static java.lang.reflect.Method getMethodByName(java.lang.Class<?> clazz, java.lang.String methodName)
-
getFirstMethodWithName
public static java.lang.reflect.Method getFirstMethodWithName(java.lang.Class<?> clazz, java.lang.String methodName)
-
invokeMethodByName
public static java.lang.Object invokeMethodByName(java.lang.Object entity, java.lang.String methodName, java.lang.Object... parameterValues) throws SReflectException- Throws:
SReflectException
-
invokeMethod
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- Throws:
java.lang.IllegalArgumentExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.NoSuchMethodException
-
invokeMethod
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- Throws:
java.lang.IllegalArgumentExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.NoSuchMethodException
-
getCompatibleMethod
public static java.lang.reflect.Method getCompatibleMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... paramTypes) throws SReflectException- Throws:
SReflectException
-
getGetterReturnType
public static java.lang.reflect.Type getGetterReturnType(java.lang.Class<?> classConnector, java.lang.String getterName) throws SReflectException- Throws:
SReflectException
-
getDeclaredSetters
public static java.lang.reflect.Method[] getDeclaredSetters(java.lang.Class<?> clazz)
-
getDeclaredGetters
public static java.lang.reflect.Method[] getDeclaredGetters(java.lang.Class<?> clazz)
-
isAGetterMethod
public static boolean isAGetterMethod(java.lang.reflect.Method method)
-
isASetterMethod
public static boolean isASetterMethod(java.lang.reflect.Method method)
-
getGetterName
public static java.lang.String getGetterName(java.lang.String fieldName)
-
getGetterName
public static java.lang.String getGetterName(java.lang.String fieldName, java.lang.Class<?> fieldType)
-
getFieldName
public static java.lang.String getFieldName(java.lang.String methodName)
-
setField
public static void setField(java.lang.Object object, java.lang.String fieldName, java.lang.Object parameterValue) throws SReflectExceptioncall a setter by reflection support pointed notation like pojo.child.name- Parameters:
object- object on with to call the setterfieldName-parameterValue-- Throws:
SReflectException
-
clearCache
public static void clearCache()
-
getCacheSize
public static int getCacheSize()
-
-