|
Java™ Platform Standard Ed. 6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Types
Utility methods for operating on types.
Compatibility Note: Methods may be added to this interface in future releases of the platform.
ProcessingEnvironment.getTypeUtils()
Method Summary | |
---|---|
Element |
asElement(TypeMirror t)
Returns the element corresponding to a type. |
TypeMirror |
asMemberOf(DeclaredType containing,
Element element)
Returns the type of an element when that element is viewed as a member of, or otherwise directly contained by, a given type. |
TypeElement |
boxedClass(PrimitiveType p)
Returns the class of a boxed value of a given primitive type. |
TypeMirror |
capture(TypeMirror t)
Applies capture conversion to a type. |
boolean |
contains(TypeMirror t1,
TypeMirror t2)
Tests whether one type argument contains another. |
List<? extends TypeMirror> |
directSupertypes(TypeMirror t)
Returns the direct supertypes of a type. |
TypeMirror |
erasure(TypeMirror t)
Returns the erasure of a type. |
ArrayType |
getArrayType(TypeMirror componentType)
Returns an array type with the specified component type. |
DeclaredType |
getDeclaredType(DeclaredType containing,
TypeElement typeElem,
TypeMirror... typeArgs)
Returns the type corresponding to a type element and actual type arguments, given a containing type of which it is a member. |
DeclaredType |
getDeclaredType(TypeElement typeElem,
TypeMirror... typeArgs)
Returns the type corresponding to a type element and actual type arguments. |
NoType |
getNoType(TypeKind kind)
Returns a pseudo-type used where no actual type is appropriate. |
NullType |
getNullType()
Returns the null type. |
PrimitiveType |
getPrimitiveType(TypeKind kind)
Returns a primitive type. |
WildcardType |
getWildcardType(TypeMirror extendsBound,
TypeMirror superBound)
Returns a new wildcard type argument. |
boolean |
isAssignable(TypeMirror t1,
TypeMirror t2)
Tests whether one type is assignable to another. |
boolean |
isSameType(TypeMirror t1,
TypeMirror t2)
Tests whether two TypeMirror objects represent the same type. |
boolean |
isSubsignature(ExecutableType m1,
ExecutableType m2)
Tests whether the signature of one method is a subsignature of another. |
boolean |
isSubtype(TypeMirror t1,
TypeMirror t2)
Tests whether one type is a subtype of another. |
PrimitiveType |
unboxedType(TypeMirror t)
Returns the type (a primitive type) of unboxed values of a given type. |
Method Detail |
---|
Element asElement(TypeMirror t)
DeclaredType
or TypeVariable
.
Returns null
if the type is not one with a
corresponding element.
boolean isSameType(TypeMirror t1, TypeMirror t2)
TypeMirror
objects represent the same type.
Caveat: if either of the arguments to this method represents a wildcard, this method will return false. As a consequence, a wildcard is not the same type as itself. This might be surprising at first, but makes sense once you consider that an example like this must be rejected by the compiler:
List<?> list = new ArrayList<Object>();
list.add(list.get(0));
t1
- the first typet2
- the second type
true
if and only if the two types are the sameboolean isSubtype(TypeMirror t1, TypeMirror t2)
t1
- the first typet2
- the second type
true
if and only if the first type is a subtype
of the second
IllegalArgumentException
- if given an executable or package typeboolean isAssignable(TypeMirror t1, TypeMirror t2)
t1
- the first typet2
- the second type
true
if and only if the first type is assignable
to the second
IllegalArgumentException
- if given an executable or package typeboolean contains(TypeMirror t1, TypeMirror t2)
t1
- the first typet2
- the second type
true
if and only if the first type contains the second
IllegalArgumentException
- if given an executable or package typeboolean isSubsignature(ExecutableType m1, ExecutableType m2)
m1
- the first methodm2
- the second method
true
if and only if the first signature is a
subsignature of the secondList<? extends TypeMirror> directSupertypes(TypeMirror t)
t
- the type being examined
IllegalArgumentException
- if given an executable or package typeTypeMirror erasure(TypeMirror t)
t
- the type to be erased
IllegalArgumentException
- if given a package typeTypeElement boxedClass(PrimitiveType p)
p
- the primitive type to be converted
p
PrimitiveType unboxedType(TypeMirror t)
t
- the type to be unboxed
t
IllegalArgumentException
- if the given type has no
unboxing conversionTypeMirror capture(TypeMirror t)
t
- the type to be converted
IllegalArgumentException
- if given an executable or package typePrimitiveType getPrimitiveType(TypeKind kind)
kind
- the kind of primitive type to return
IllegalArgumentException
- if kind
is not a primitive kindNullType getNullType()
null
.
NoType getNoType(TypeKind kind)
VOID
or NONE
.
For packages, use
Elements.getPackageElement(CharSequence)
.asType()
instead.
kind
- the kind of type to return
VOID
or NONE
IllegalArgumentException
- if kind
is not validArrayType getArrayType(TypeMirror componentType)
componentType
- the component type
IllegalArgumentException
- if the component type is not valid for
an arrayWildcardType getWildcardType(TypeMirror extendsBound, TypeMirror superBound)
extendsBound
- the extends (upper) bound, or null
if nonesuperBound
- the super (lower) bound, or null
if none
IllegalArgumentException
- if bounds are not validDeclaredType getDeclaredType(TypeElement typeElem, TypeMirror... typeArgs)
Set
and the type mirror
for String
,
for example, this method may be used to get the
parameterized type Set<String>
.
The number of type arguments must either equal the number of the type element's formal type parameters, or must be zero. If zero, and if the type element is generic, then the type element's raw type is returned.
If a parameterized type is being returned, its type element
must not be contained within a generic outer class.
The parameterized type Outer<String>.Inner<Number>
,
for example, may be constructed by first using this
method to get the type Outer<String>
, and then invoking
getDeclaredType(DeclaredType, TypeElement, TypeMirror...)
.
typeElem
- the type elementtypeArgs
- the actual type arguments
IllegalArgumentException
- if too many or too few
type arguments are given, or if an inappropriate type
argument or type element is providedDeclaredType getDeclaredType(DeclaredType containing, TypeElement typeElem, TypeMirror... typeArgs)
Outer<String>.Inner<Number>
,
for example, may be constructed by first using
getDeclaredType(TypeElement, TypeMirror...)
to get the type Outer<String>
, and then invoking
this method.
If the containing type is a parameterized type,
the number of type arguments must equal the
number of typeElem
's formal type parameters.
If it is not parameterized or if it is null
, this method is
equivalent to getDeclaredType(typeElem, typeArgs)
.
containing
- the containing type, or null
if nonetypeElem
- the type elementtypeArgs
- the actual type arguments
IllegalArgumentException
- if too many or too few
type arguments are given, or if an inappropriate type
argument, type element, or containing type is providedTypeMirror asMemberOf(DeclaredType containing, Element element)
Set<String>
,
the Set.add
method is an ExecutableType
whose parameter is of type String
.
containing
- the containing typeelement
- the element
IllegalArgumentException
- if the element is not a valid one
for the given type
|
Java™ Platform Standard Ed. 6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.