Package javax.ws.rs.core
Class GenericType<T>
- java.lang.Object
-
- javax.ws.rs.core.GenericType<T>
-
- Type Parameters:
T
- the generic type parameter.
public class GenericType<T> extends java.lang.Object
Represents a generic message entity typeT
. Supports in-line instantiation of objects that represent generic types with actual type parameters. An object that represents any parameterized type may be obtained by sub-classingGenericType
. Alternatively, an object representing a concrete parameterized type can be created using aGenericType(java.lang.reflect.Type)
and manually specifying theactual (parameterized) type
.For example:
GenericType<List<String>> stringListType = new GenericType<List<String>>() {};
Or:
public class MyGenericType extends GenericType<List<String>> { ... } ... MyGenericType stringListType = new MyGenericType();
Note that due to the Java type erasure limitations the parameterized type information must be specified on a subclass, not just during the instance creation. For example, the following case would throw an
IllegalArgumentException
:public class MyGenericType<T> extends GenericType<T> { ... } ... // The type is only specified on instance, not in a sub-class MyGenericType<List<String>> stringListType = new MyGenericType<List<String>>();
- Since:
- 2.0
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
GenericType()
Constructs a new generic type, deriving the generic type and class from type parameter.GenericType(java.lang.reflect.Type genericType)
Constructs a new generic type, supplying the generic type information and deriving the class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
java.lang.Class<?>
getRawType()
Returns the object representing the class or interface that declared the type represented by this generic type instance.java.lang.reflect.Type
getType()
Retrieve the type represented by the generic type instance.int
hashCode()
java.lang.String
toString()
-
-
-
Constructor Detail
-
GenericType
protected GenericType()
Constructs a new generic type, deriving the generic type and class from type parameter. Note that this constructor is protected, users should create a (usually anonymous) subclass as shown above.- Throws:
java.lang.IllegalArgumentException
- in case the generic type parameter value is not provided by any of the subclasses.
-
GenericType
public GenericType(java.lang.reflect.Type genericType)
Constructs a new generic type, supplying the generic type information and deriving the class.- Parameters:
genericType
- the generic type.- Throws:
java.lang.IllegalArgumentException
- if genericType isnull
or not an instance ofClass
orParameterizedType
whose raw type is an instance ofClass
.
-
-
Method Detail
-
getType
public final java.lang.reflect.Type getType()
Retrieve the type represented by the generic type instance.- Returns:
- the actual type represented by this generic type instance.
-
getRawType
public final java.lang.Class<?> getRawType()
Returns the object representing the class or interface that declared the type represented by this generic type instance.- Returns:
- the class or interface that declared the type represented by this generic type instance.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-