T - the generic type parameter.public class GenericType<T>
extends java.lang.Object
T.
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-classing GenericType. Alternatively, an object
representing a concrete parameterized type can be created using a GenericType(java.lang.reflect.Type) and
manually specifying the actual (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>>();
| Modifier | Constructor and 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.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
static GenericType |
forInstance(java.lang.Object instance)
Create a
generic type from a Java instance. |
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() |
protected GenericType()
java.lang.IllegalArgumentException - in case the generic type parameter value is not provided by any of the subclasses.public GenericType(java.lang.reflect.Type genericType)
genericType - the generic type.java.lang.IllegalArgumentException - if genericType is null or not an instance of Class or
ParameterizedType whose raw type is an instance of Class.public static GenericType forInstance(java.lang.Object instance)
generic type from a Java instance.
If the supplied instance is a GenericEntity, the generic type will be computed using the
GenericEntity.getType(). Otherwise instance.getClass() will be used.
instance - Java instance for which the GenericType description should be created.GenericType describing the Java instance.public final java.lang.reflect.Type getType()
public final java.lang.Class<?> getRawType()
public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object