Package tigase.util.reflection
Class ReflectionHelper
- java.lang.Object
-
- tigase.util.reflection.ReflectionHelper
-
public class ReflectionHelper extends java.lang.Object
Utility class with useful methods to work with reflections- Author:
- andrzej
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ReflectionHelper.Handler<A extends java.lang.annotation.Annotation,T>
-
Constructor Summary
Constructors Constructor Description ReflectionHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
boundMatch(java.lang.Class c1, java.lang.reflect.TypeVariable t2)
static boolean
boundMatch(java.lang.reflect.TypeVariable t1, java.lang.reflect.TypeVariable t2)
static boolean
classMatchesClassWithParameters(java.lang.Class clazz, java.lang.Class requiredType, java.lang.reflect.Type[] requiredTypeParams)
static boolean
classMatchesType(java.lang.Class clazz, java.lang.reflect.Type required)
static <A extends java.lang.annotation.Annotation,T>
java.util.Collection<T>collectAnnotatedMethods(java.lang.Object consumer, java.lang.Class<A> annotationCls, ReflectionHelper.Handler<A,T> handler)
This method collects every method of consumer class annotated with passed annotation and for each of them executes implementation of Handler.static boolean
compareTypes(java.lang.reflect.Type expectedType, java.lang.reflect.Type actualType, java.util.Map<java.lang.reflect.TypeVariable<?>,java.lang.reflect.Type> ownerExpectedTypesMap, java.util.Map<java.lang.reflect.TypeVariable<?>,java.lang.reflect.Type> ownerActualTypesMap)
static java.util.Map<java.lang.reflect.TypeVariable<?>,java.lang.reflect.Type>
createGenericsTypeMap(java.lang.Class<?> cls)
static java.lang.reflect.Type
getCollectionParamter(java.lang.reflect.Type genericType, java.lang.Class clazz)
static java.lang.Class<?>
getItemClassOfGenericCollection(java.lang.reflect.Field f)
-
-
-
Method Detail
-
boundMatch
public static boolean boundMatch(java.lang.Class c1, java.lang.reflect.TypeVariable t2)
-
boundMatch
public static boolean boundMatch(java.lang.reflect.TypeVariable t1, java.lang.reflect.TypeVariable t2)
-
classMatchesClassWithParameters
public static boolean classMatchesClassWithParameters(java.lang.Class clazz, java.lang.Class requiredType, java.lang.reflect.Type[] requiredTypeParams)
-
classMatchesType
public static boolean classMatchesType(java.lang.Class clazz, java.lang.reflect.Type required)
-
collectAnnotatedMethods
public static <A extends java.lang.annotation.Annotation,T> java.util.Collection<T> collectAnnotatedMethods(java.lang.Object consumer, java.lang.Class<A> annotationCls, ReflectionHelper.Handler<A,T> handler)
This method collects every method of consumer class annotated with passed annotation and for each of them executes implementation of Handler.
-
compareTypes
public static boolean compareTypes(java.lang.reflect.Type expectedType, java.lang.reflect.Type actualType, java.util.Map<java.lang.reflect.TypeVariable<?>,java.lang.reflect.Type> ownerExpectedTypesMap, java.util.Map<java.lang.reflect.TypeVariable<?>,java.lang.reflect.Type> ownerActualTypesMap)
-
createGenericsTypeMap
public static java.util.Map<java.lang.reflect.TypeVariable<?>,java.lang.reflect.Type> createGenericsTypeMap(java.lang.Class<?> cls)
-
getCollectionParamter
public static java.lang.reflect.Type getCollectionParamter(java.lang.reflect.Type genericType, java.lang.Class clazz)
-
getItemClassOfGenericCollection
public static java.lang.Class<?> getItemClassOfGenericCollection(java.lang.reflect.Field f)
-
-