T - the generic type parameter.public class GenericType<T> extends 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(Type genericType)
Constructs a new generic type, supplying the generic type information and deriving the class.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
static GenericType |
forInstance(Object instance)
Create a
generic type from a Java instance. |
Class<?> |
getRawType()
Returns the object representing the class or interface that declared the type represented by this generic type
instance.
|
Type |
getType()
Retrieve the type represented by the generic type instance.
|
int |
hashCode() |
String |
toString() |
protected GenericType()
IllegalArgumentException - in case the generic type parameter value is not provided by any of the subclasses.public GenericType(Type genericType)
genericType - the generic type.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(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 Type getType()
public final Class<?> getRawType()
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.