Class TypeHelper


  • public final class TypeHelper
    extends Object
    Provides utility methods for working with types.
    Author:
    Mark Hobson, Hardy Ferentschik
    • Method Detail

      • isHibernateValidatorEnhancedBean

        public static boolean isHibernateValidatorEnhancedBean​(Class<?> clazz)
      • isAssignable

        public static boolean isAssignable​(Type supertype,
                                           Type type)
      • getErasedType

        public static Type getErasedType​(Type type)
        Gets the erased type of the specified type.
        Parameters:
        type - the type to perform erasure on
        Returns:
        the erased type, never a parameterized type nor a type variable
        See Also:
        4.6 Type Erasure
      • getErasedReferenceType

        public static Class<?> getErasedReferenceType​(Type type)
      • isArray

        public static boolean isArray​(Type type)
      • getComponentType

        public static Type getComponentType​(Type type)
      • genericArrayType

        public static GenericArrayType genericArrayType​(Type componentType)
        Creates a generic array type for the specified component type.
        Parameters:
        componentType - the component type
        Returns:
        the generic array type
      • isInstance

        public static boolean isInstance​(Type type,
                                         Object object)
      • parameterizedType

        public static ParameterizedType parameterizedType​(Class<?> rawType,
                                                          Type... actualTypeArguments)
        Creates a parameterized type for the specified raw type and actual type arguments.
        Parameters:
        rawType - the raw type
        actualTypeArguments - the actual type arguments
        Returns:
        the parameterized type
        Throws:
        MalformedParameterizedTypeException - if the number of actual type arguments differs from those defined on the raw type
      • getValidatorTypes

        public static <A extends AnnotationMap<Type,​ConstraintValidatorDescriptor<A>> getValidatorTypes​(Class<A> annotationType,
                                                                                                                List<ConstraintValidatorDescriptor<A>> validators)
        Type Parameters:
        A - the type of the annotation
        Parameters:
        annotationType - The annotation type.
        validators - List of constraint validator classes (for a given constraint).
        Returns:
        Return a Map<Class, Class<? extends ConstraintValidator>> where the map key is the type the validator accepts and value the validator class itself.
      • extractConstraintValidatorTypeArgumentType

        public static Type extractConstraintValidatorTypeArgumentType​(Class<? extends ConstraintValidator<?,​?>> validator,
                                                                      int typeArgumentIndex)
      • isUnboundWildcard

        public static boolean isUnboundWildcard​(Type type)