Class Types


  • public final class Types
    extends Object
    Static methods for working with types.
    Since:
    2.0
    • Method Detail

      • newParameterizedType

        public static ParameterizedType newParameterizedType​(Type rawType,
                                                             Type... typeArguments)
        Returns a new parameterized type, applying typeArguments to rawType. The returned type does not have an owner type.
        Returns:
        a serializable parameterized type.
      • newParameterizedTypeWithOwner

        public static ParameterizedType newParameterizedTypeWithOwner​(Type ownerType,
                                                                      Type rawType,
                                                                      Type... typeArguments)
        Returns a new parameterized type, applying typeArguments to rawType and enclosed by ownerType.
        Returns:
        a serializable parameterized type.
      • arrayOf

        public static GenericArrayType arrayOf​(Type componentType)
        Returns an array type whose elements are all instances of componentType.
        Returns:
        a serializable generic array type.
      • subtypeOf

        public static WildcardType subtypeOf​(Type bound)
        Returns a type that represents an unknown type that extends bound. For example, if bound is CharSequence.class, this returns ? extends CharSequence. If bound is Object.class, this returns ?, which is shorthand for ? extends Object.
      • supertypeOf

        public static WildcardType supertypeOf​(Type bound)
        Returns a type that represents an unknown supertype of bound. For example, if bound is String.class, this returns ? super String.
      • listOf

        public static ParameterizedType listOf​(Type elementType)
        Returns a type modelling a List whose elements are of type elementType.
        Returns:
        a serializable parameterized type.
      • setOf

        public static ParameterizedType setOf​(Type elementType)
        Returns a type modelling a Set whose elements are of type elementType.
        Returns:
        a serializable parameterized type.
      • mapOf

        public static ParameterizedType mapOf​(Type keyType,
                                              Type valueType)
        Returns a type modelling a Map whose keys are of type keyType and whose values are of type valueType.
        Returns:
        a serializable parameterized type.
      • jakartaProviderOf

        public static Type jakartaProviderOf​(Type type)
        Returns a type modelling a Provider that provides elements of type elementType.
        Returns:
        a serializable parameterized type.
        Since:
        6.0