T - is the templated type of the upper bound.public class GenericTypeImpl<T> extends AbstractGenericType<T>
GenericType interface.| Modifier and Type | Class and Description |
|---|---|
protected static class |
GenericTypeImpl.ClassBounds
This inner class represents the bounds of a
GenericType. |
| Modifier and Type | Field and Description |
|---|---|
private Class<? extends T> |
assignmentClass |
private GenericType<?> |
componentType |
private GenericType<?> |
definingType |
private GenericType<?> |
keyType |
private Class<T> |
retrievalClass |
private Type |
type |
private Type[] |
typeArgs |
private GenericType<?>[] |
typesArguments |
NO_TYPES| Constructor and Description |
|---|
GenericTypeImpl(Type type)
The constructor.
|
GenericTypeImpl(Type valueType,
GenericType<?> definingType)
The constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected GenericType<?> |
create(Type genericType)
This method creates the
GenericType that encapsulates the given type. |
protected AbstractGenericType<T> |
create(Type genericType,
GenericType<?> genericDefiningType)
This method creates a new instance of this class.
|
Class<?> |
getArrayClass(Class<?> componentClass)
|
Class<? extends T> |
getAssignmentClass()
This method gets the
Class to be used for assignment (as parameter) of a value of this
GenericType. |
protected GenericTypeImpl.ClassBounds |
getClassBounds(Type currentType)
This method gets the most specific
Class available by the type-safe analyzation of the given generic
type. |
GenericType<?> |
getComponentType()
This method gets the component-type of this
GenericType if it represents an array,
Collection or Map. |
GenericType<?> |
getDefiningType()
This method gets the defining type.
|
GenericType<?> |
getKeyType()
This method gets the key-type of this
GenericType if it represents a Map. |
Class<T> |
getRetrievalClass()
This method gets the
Class to be used for retrieval (the return-type) of a value of this
GenericType. |
Type |
getType()
This method gets the
Type represented by this GenericType. |
GenericType<?> |
getTypeArgument(int index)
This method gets the type-argument at the given
index. |
int |
getTypeArgumentCount()
This method gets the number of
type-arguments . |
equals, getDeclarationIndex, getGenericDeclarations, hashCode, isAssignableFrom, resolveTypeVariable, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetTypeNameprivate final GenericType<?> definingType
getDefiningType()private final Class<? extends T> assignmentClass
getAssignmentClass()private final Class<T> retrievalClass
getRetrievalClass()private final GenericType<?> componentType
getComponentType()private final GenericType<?> keyType
getKeyType()private final Type[] typeArgs
getTypeArgument(int)private final GenericType<?>[] typesArguments
getTypeArgument(int)public GenericTypeImpl(Type valueType, GenericType<?> definingType)
valueType - is the value-type.definingType - is the defining-type.protected GenericType<?> create(Type genericType)
GenericType that encapsulates the given type.create in class AbstractGenericType<T>genericType - is the Type to get as GenericType.GenericType.GenericTypeFactory.createGenericType(Type)protected AbstractGenericType<T> create(Type genericType, GenericType<?> genericDefiningType)
genericType - is the value-type.genericDefiningType - is the defining-type.GenericType instance.protected GenericTypeImpl.ClassBounds getClassBounds(Type currentType)
Class available by the type-safe analyzation of the given generic
type. Unlike getClassBounds(Type) this method resolves TypeVariable s with the proper
type they have been bound with. type |
owningType |
|
comment |
|---|---|---|---|
| E | List<Foo> |
Foo | E is a TypeVariable representing the generic return-type of the method List.get(int) |
currentType - is the type to convert.type.public Class<?> getArrayClass(Class<?> componentClass)
componentClass - is the component type.array-class.public GenericType<?> getComponentType()
GenericType if it represents an array,
Collection or Map. | type | GenericType.getComponentType() |
|---|---|
List<Map<String, Long>> |
Map<String, Long> |
List |
Object |
Foo[] |
Foo |
Foo<Bar>[] |
Foo<Bar> |
Foo<Bar> |
null |
Map<String, Long> |
Long |
GenericType or null if this GenericType
does NOT represent an array, Collection or Map.public GenericType<?> getKeyType()
GenericType if it represents a Map. | type | GenericType.getComponentType() |
|---|---|
List<Map<String, Long>> |
null |
Map |
Object |
Foo[] |
null |
Foo<K,V> |
null |
Map<String, Long> |
String |
GenericType or null if this GenericType does
NOT represent a Map.public GenericType<?> getDefiningType()
getDefiningType in class AbstractGenericType<T>null if NOT available.public Class<? extends T> getAssignmentClass()
Class to be used for assignment (as parameter) of a value of this
GenericType. retrieval-class if this GenericType is
a WildcardType. lower-bound, the assignment-class is
never null. If there is no lower-bound, the assignment-class is the same as the
retrieval-class. Therefore the assignment-class is always equal or more specific to the retrieval-class. | Type | GenericType.getAssignmentClass() |
|---|---|
<? super Integer> |
|
<? extends CharSequence> |
|
String |
|
Class that is the lower bound.public Class<T> getRetrievalClass()
Class to be used for retrieval (the return-type) of a value of this
GenericType. assignment-class if this GenericType
is a WildcardType. retrieval-class is the
upper-bound, however for usability and simplicity
only one bound is supported. | Type | GenericType.getAssignmentClass() |
|---|---|
<? super Integer> |
|
<? extends CharSequence> |
|
String |
|
Class that is the upper bound.public Type getType()
Type represented by this GenericType.Class.getGenericSuperclass(),
Class.getGenericInterfaces(),
Method.getGenericReturnType(),
Method.getGenericParameterTypes(),
Field.getGenericType(),
Constructor.getGenericParameterTypes()public int getTypeArgumentCount()
type-arguments .public GenericType<?> getTypeArgument(int index)
index. GenericType representing Map<String, List<Integer>> this
method would return String for an index of 0 and
List<Integer> for an index of 1.index - is the position of the requested type-argument. It has to be in the range from
0 to GenericType.getTypeArgumentCount() - 1.index.GenericType.getTypeArgumentCount(),
ParameterizedType.getActualTypeArguments()Copyright © 2001–2015 mmm-Team. All rights reserved.