public class Reflection
extends java.lang.Object
| Constructor and Description |
|---|
Reflection() |
| Modifier and Type | Method and Description |
|---|---|
static <T> T |
get(java.lang.Object object,
java.lang.String name,
java.lang.Class<T> typeClass)
returns object of provided class type
|
static <T> java.lang.reflect.Constructor<T> |
getConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>... parameters)
returns the constructor of the provided class
|
static java.lang.reflect.Field |
getField(java.lang.Object object,
java.lang.String name)
returns the field of the provided object
|
static java.util.List<java.lang.reflect.Constructor> |
getHierarchyConstructors(java.lang.Class<?> start)
returns a list of constructors found up the start class hierarchy
|
static java.util.List<java.lang.reflect.Constructor> |
getHierarchyConstructors(java.lang.Class<?> start,
java.lang.Class<?> end)
returns a list of constructors found up the start class hierarchy until the end class is reached
|
static java.util.List<java.lang.reflect.Constructor> |
getHierarchyConstructors(java.lang.Object start)
returns a list of constructors found up the start object's class hierarchy
|
static java.util.List<java.lang.reflect.Constructor> |
getHierarchyConstructors(java.lang.Object start,
java.lang.Class<?> end)
returns a list of constructors found up the start object's class hierarchy until the end class is reached
|
static <T> java.util.List<java.util.List<T>> |
getHierarchyFieldListsOfClassType(java.lang.Object object,
java.lang.Class<T> typeClass)
returns a list of list of provided class type from heirarchy fields
|
static java.util.List<java.lang.reflect.Field> |
getHierarchyFields(java.lang.Class<?> start)
returns a list of fields found up the class hierarchy
|
static java.util.List<java.lang.reflect.Field> |
getHierarchyFields(java.lang.Class<?> start,
java.lang.Class<?> end)
returns a list of fields found up the class hierarchy until end class is reached
|
static java.util.List<java.lang.reflect.Field> |
getHierarchyFields(java.lang.Object start)
returns a list of fields found up the object's class hierarchy
|
static java.util.List<java.lang.reflect.Field> |
getHierarchyFields(java.lang.Object start,
java.lang.Class<?> end)
returns a list of fields found up the start object's class hierarchy until the end class is reached
|
static <T> java.util.List<T> |
getHierarchyFieldValuesOfClassType(java.lang.Object object,
java.lang.Class<T> typeClass)
returns a list of field values by provided class type
|
static java.util.List<java.lang.reflect.Method> |
getHierarchyMethods(java.lang.Class<?> start)
returns a list of methods found up the start class hierarchy
|
static java.util.List<java.lang.reflect.Method> |
getHierarchyMethods(java.lang.Class<?> start,
java.lang.Class<?> end)
returns a list of methods found up the start class hierarchy until end class is reached
|
static java.util.List<java.lang.reflect.Method> |
getHierarchyMethods(java.lang.Object start)
returns a list of methods found up the start object's class hierarchy
|
static java.util.List<java.lang.reflect.Method> |
getHierarchyMethods(java.lang.Object start,
java.lang.Class<?> end)
returns a list of methods found up the start object's class hierarchy until the end class is reached
|
static <T> java.util.List<T> |
getList(java.lang.Object object,
java.lang.String name,
java.lang.Class<T> listTypeClass)
returns a list of provided class type
|
static java.lang.Class<?> |
getListClass(java.lang.Object object,
java.lang.String name)
returns the class of list field
|
static java.lang.reflect.Method |
getMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... parameters)
returns the method of the provided class
|
static java.lang.String |
getName(java.lang.reflect.Field field)
returns the name of the provided field object
|
static java.lang.String |
getType(java.lang.reflect.Field field)
returns the type string of the provided field object
|
static java.lang.String |
getType(java.lang.Object value)
returns the type string of the provided object
|
static <T> T |
instanceOf(java.lang.Class<T> objectClass,
Parameter... parameters)
returns an instance of the class type provided
|
static boolean |
isInstanceOf(java.lang.Class<?> clazz,
java.lang.Class<?>... classes)
returns true if object is an instance of all provided classes, else false
|
static <T> boolean |
isInstanceOf(T object,
java.lang.Class<?>... classes)
returns true if object is an instance of all provided classes, else false
|
static boolean |
isInstanceOfAny(java.lang.Class<?> clazz,
java.lang.Class<?>... classes)
returns true if object is an instance of any provided classes, else false
|
static <T> boolean |
isInstanceOfAny(T object,
java.lang.Class<?>... classes)
returns true if object is an instance of any provided classes, else false
|
static boolean |
isType(java.lang.reflect.Field field,
java.lang.String... types)
returns true if field type matches all provided type strings, else false
|
static boolean |
isTypeOfAny(java.lang.reflect.Field field,
java.lang.String... types)
returns true if field type matches any provided type strings, else false
|
static java.lang.Object |
run(java.lang.Object object,
java.lang.String name,
Parameter... parameters)
returns the specified method of the provided object with the provided parameter
|
static <T> T |
runGetter(java.lang.Object object,
java.lang.String fieldName,
java.lang.Class<T> fieldClass)
runs getter method for a specified field name
|
static void |
runSetter(java.lang.Object object,
java.lang.String fieldName,
java.lang.Object value)
runs setter method for the provided field name with the provided value
|
static void |
runSetter(java.lang.Object object,
java.lang.String fieldName,
Parameter<?> parameter)
runs setter method for the provided field name with the provided parameter
|
public static <T> T runGetter(java.lang.Object object,
java.lang.String fieldName,
java.lang.Class<T> fieldClass)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
NullNotSupportedException,
java.lang.NoSuchFieldException,
java.lang.NoSuchMethodException
object - object to run getter method onfieldName - name of the field to run getter method onfieldClass - class type of the value returned from the functionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionNullNotSupportedExceptionjava.lang.NoSuchFieldExceptionjava.lang.NoSuchMethodExceptionpublic static <T> T instanceOf(java.lang.Class<T> objectClass,
Parameter... parameters)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
NullNotSupportedException
objectClass - class type to return instance ofparameters - map of field class type and value representing a parameterjava.lang.InstantiationExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionNullNotSupportedExceptionpublic static <T> boolean isInstanceOf(T object,
java.lang.Class<?>... classes)
object - object to run instance check onclasses - list of classes to check object againstpublic static boolean isInstanceOf(java.lang.Class<?> clazz,
java.lang.Class<?>... classes)
clazz - class to run instance check onclasses - list of classes to check object againstpublic static <T> boolean isInstanceOfAny(T object,
java.lang.Class<?>... classes)
object - object to run instance check onclasses - list of classes to check object againstpublic static boolean isInstanceOfAny(java.lang.Class<?> clazz,
java.lang.Class<?>... classes)
clazz - class to run instance check onclasses - list of classes to check object againstpublic static java.lang.Object run(java.lang.Object object,
java.lang.String name,
Parameter... parameters)
throws java.lang.Exception
object - object to run getter method onparameters - map of field class type and value representing a parameterjava.lang.Exceptionpublic static void runSetter(java.lang.Object object,
java.lang.String fieldName,
Parameter<?> parameter)
throws NullNotSupportedException,
java.lang.NoSuchMethodException,
java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
object - object to run setter method onfieldName - name of the field to run setter method onparameter - parameter to provide to the setter methodNullNotSupportedExceptionjava.lang.NoSuchMethodExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionParameterpublic static void runSetter(java.lang.Object object,
java.lang.String fieldName,
java.lang.Object value)
throws NullNotSupportedException,
java.lang.NoSuchMethodException,
java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
object - object to run setter method onfieldName - name of the field to run setter method onvalue - value to provide to the setter methodNullNotSupportedExceptionjava.lang.NoSuchMethodExceptionjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionpublic static boolean isTypeOfAny(java.lang.reflect.Field field,
java.lang.String... types)
field - field to run type check ontypes - list of type strings to check field againstpublic static boolean isType(java.lang.reflect.Field field,
java.lang.String... types)
field - field to run type check ontypes - list of type strings to check field againstpublic static java.lang.String getName(java.lang.reflect.Field field)
field - field to return name frompublic static java.lang.String getType(java.lang.reflect.Field field)
field - field to return name frompublic static java.lang.String getType(java.lang.Object value)
value - object to return name frompublic static java.lang.reflect.Field getField(java.lang.Object object,
java.lang.String name)
throws NullNotSupportedException,
java.lang.NoSuchFieldException
object - object to return field fromname - name of the field to returnNullNotSupportedExceptionjava.lang.NoSuchFieldExceptionpublic static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz,
java.lang.String name,
java.lang.Class<?>... parameters)
throws NullNotSupportedException,
java.lang.NoSuchMethodException
clazz - class that contains the methodname - name of method to returnparameters - array of classes representing method parametersNullNotSupportedExceptionjava.lang.NoSuchMethodExceptionpublic static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>... parameters)
clazz - class to return constructor fromparameters - array of classes representing parameterspublic static java.util.List<java.lang.reflect.Field> getHierarchyFields(java.lang.Class<?> start,
java.lang.Class<?> end)
start - class to start collecting fields fromend - last class to collecting fields frompublic static java.util.List<java.lang.reflect.Field> getHierarchyFields(java.lang.Class<?> start)
start - class to start collecting fields frompublic static java.util.List<java.lang.reflect.Field> getHierarchyFields(java.lang.Object start)
start - object to start collecting fields frompublic static java.util.List<java.lang.reflect.Field> getHierarchyFields(java.lang.Object start,
java.lang.Class<?> end)
start - class to start collecting fields fromend - last class to collecting fields frompublic static java.util.List<java.lang.reflect.Method> getHierarchyMethods(java.lang.Class<?> start,
java.lang.Class<?> end)
start - class to start collecting methods fromend - last class to collecting methods frompublic static java.util.List<java.lang.reflect.Method> getHierarchyMethods(java.lang.Class<?> start)
start - class to start collecting methods frompublic static java.util.List<java.lang.reflect.Method> getHierarchyMethods(java.lang.Object start)
start - object to start collecting methods frompublic static java.util.List<java.lang.reflect.Method> getHierarchyMethods(java.lang.Object start,
java.lang.Class<?> end)
start - object to start collecting methods fromend - class to end collection of methods afterpublic static java.util.List<java.lang.reflect.Constructor> getHierarchyConstructors(java.lang.Class<?> start,
java.lang.Class<?> end)
start - class to start collecting constructors fromend - class to end collection of methods afterpublic static java.util.List<java.lang.reflect.Constructor> getHierarchyConstructors(java.lang.Class<?> start)
start - class to start collecting constructors frompublic static java.util.List<java.lang.reflect.Constructor> getHierarchyConstructors(java.lang.Object start)
start - object to start collecting constructors frompublic static java.util.List<java.lang.reflect.Constructor> getHierarchyConstructors(java.lang.Object start,
java.lang.Class<?> end)
start - object to start collecting constructors fromend - class to end collection of methods afterpublic static java.lang.Class<?> getListClass(java.lang.Object object,
java.lang.String name)
throws java.lang.Exception
object - object to retrieve list fromname - name of list fieldjava.lang.Exceptionpublic static <T> java.util.List<T> getList(java.lang.Object object,
java.lang.String name,
java.lang.Class<T> listTypeClass)
throws java.lang.Exception
object - object to retrieve list fromname - name of list fieldlistTypeClass - class type of list to returnjava.lang.Exceptionpublic static <T> T get(java.lang.Object object,
java.lang.String name,
java.lang.Class<T> typeClass)
throws java.lang.Exception
object - object to retrieve field value fromname - name of list fieldtypeClass - class type of field value to returnjava.lang.Exceptionpublic static <T> java.util.List<java.util.List<T>> getHierarchyFieldListsOfClassType(java.lang.Object object,
java.lang.Class<T> typeClass)
throws java.lang.Exception
object - object to retrieve field values fromtypeClass - class type of list to returnjava.lang.Exceptionpublic static <T> java.util.List<T> getHierarchyFieldValuesOfClassType(java.lang.Object object,
java.lang.Class<T> typeClass)
throws java.lang.Exception
object - object to retrieve field values fromtypeClass - class type of list to returnjava.lang.Exception