Package org.gradle.api.reflect
Class TypeOf<T>
java.lang.Object
org.gradle.api.reflect.TypeOf<T>
- Type Parameters:
T
- Parameterized type
Provides a way to preserve high-fidelity
Type
information on generic types.
Capture a generic type with an anonymous subclass. For example:
new TypeOf<NamedDomainObjectContainer<ArtifactRepository>>() {}
- Since:
- 3.5
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns the list of type arguments used in the construction of this parameterized type.TypeOf<?>
Returns the component type of the array type this object represents.This returns the underlying, concrete JavaClass
.Fully Qualified name.TypeOf<?>
Returns the first declared lower-bound of the wildcard type expression represented by this type.TypeOf<?>
Returns an object that represents the type from which this parameterized type was constructed.Simple name.TypeOf<?>
Returns the first declared upper-bound of the wildcard type expression represented by this type.int
hashCode()
boolean
isArray()
Queries whether this object represents an array, generic or otherwise.final boolean
isAssignableFrom
(Type type) Is this type assignable from the given type?final boolean
isAssignableFrom
(TypeOf<?> type) Is this type assignable from the given type?boolean
Queries whether this object represents a parameterized type.boolean
isPublic()
Queries whether the type represented by this object is public (Modifier.isPublic(int)
).boolean
isSimple()
Queries whether this object represents a simple (non-composite) type, not an array and not a generic type.boolean
Queries whether this object represents a synthetic type as defined byClass.isSynthetic()
.boolean
Queries whether this object represents a wildcard type expression, such as?
,? extends Number
, or? super Integer
.static TypeOf<?>
parameterizedTypeOf
(TypeOf<?> parameterizedType, TypeOf<?>... typeArguments) Constructs a new parameterized type from a given parameterized type definition and an array of type arguments.final String
toString()
static <T> TypeOf<T>
Creates an instance of TypeOf for the given Class.static <T> TypeOf<T>
Creates an instance of TypeOf for the given Type.
-
Constructor Details
-
TypeOf
protected TypeOf()
-
-
Method Details
-
typeOf
Creates an instance of TypeOf for the given Class.- Type Parameters:
T
- the parameterized type of the given Class- Parameters:
type
- the Class- Returns:
- the TypeOf that captures the generic type of the given Class
-
typeOf
Creates an instance of TypeOf for the given Type.- Type Parameters:
T
- the parameterized type of the given Type- Parameters:
type
- the Type- Returns:
- the TypeOf that captures the generic type of the given Type
-
parameterizedTypeOf
public static TypeOf<?> parameterizedTypeOf(TypeOf<?> parameterizedType, TypeOf<?>... typeArguments) Constructs a new parameterized type from a given parameterized type definition and an array of type arguments. For example,parameterizedTypeOf(new TypeOf<List<?>>() {}, new TypeOf<String>() {})
is equivalent tonew TypeOf<List<String>>() {}
, except both the parameterized type definition and type arguments can be dynamically computed.- Parameters:
parameterizedType
- the parameterized type from which to construct the new parameterized typetypeArguments
- the arguments with which to construct the new parameterized type- See Also:
-
isSimple
public boolean isSimple()Queries whether this object represents a simple (non-composite) type, not an array and not a generic type.- Returns:
- true if this object represents a simple type.
-
isSynthetic
public boolean isSynthetic()Queries whether this object represents a synthetic type as defined byClass.isSynthetic()
.- Returns:
- true if this object represents a synthetic type.
-
isPublic
public boolean isPublic()Queries whether the type represented by this object is public (Modifier.isPublic(int)
).- See Also:
-
isArray
public boolean isArray()Queries whether this object represents an array, generic or otherwise.- Returns:
- true if this object represents an array.
- See Also:
-
getComponentType
Returns the component type of the array type this object represents.- Returns:
- null if this object does not represent an array type.
- See Also:
-
isParameterized
public boolean isParameterized()Queries whether this object represents a parameterized type.- Returns:
- true if this object represents a parameterized type.
- See Also:
-
getParameterizedTypeDefinition
Returns an object that represents the type from which this parameterized type was constructed.- See Also:
-
getActualTypeArguments
Returns the list of type arguments used in the construction of this parameterized type.- See Also:
-
isWildcard
public boolean isWildcard()Queries whether this object represents a wildcard type expression, such as?
,? extends Number
, or? super Integer
.- Returns:
- true if this object represents a wildcard type expression.
- See Also:
-
getUpperBound
Returns the first declared upper-bound of the wildcard type expression represented by this type.- Returns:
- null if no upper-bound has been explicitly declared.
-
getLowerBound
Returns the first declared lower-bound of the wildcard type expression represented by this type.- Returns:
- null if no lower-bound has been explicitly declared.
- Since:
- 6.0
-
isAssignableFrom
Is this type assignable from the given type?- Parameters:
type
- the given type- Returns:
- true if this type is assignable from the given type, false otherwise
-
isAssignableFrom
Is this type assignable from the given type?- Parameters:
type
- the given type- Returns:
- true if this type is assignable from the given type, false otherwise
-
getSimpleName
Simple name.- Returns:
- this type's simple name
-
getFullyQualifiedName
Fully Qualified name.- Returns:
- this type's FQN
- Since:
- 7.4
-
getConcreteClass
This returns the underlying, concrete Java
Class
.For example, a simple
TypeOf<String>
will be the given generic typeString.class
.
Generic types likeTypeOf<List<String>>
would have the concrete type ofList.class
.
For array types likeTypeOf<String[]>
, the concrete type will be an array of the component type (String[].class
).- Returns:
- Underlying Java Class of this type.
- Since:
- 5.0
-
toString
-
equals
-
hashCode
public int hashCode()
-