public abstract class QualifiedTypeMirror<Q> extends Object
ExtendedTypeMirror
with a qualifier for the top level and for
each component of the type. For example, the qualified version of
int[]
has one qualifier on the top-level QualifiedTypeMirror.QualifiedArrayType
and another on the QualifiedTypeMirror.QualifiedPrimitiveType
representing int
.
A QualifiedTypeMirror
is immutable and always has exactly one
non-null qualifier. In addition, the structure of the QualifiedTypeMirror
always matches the structure of the underlying ExtendedTypeMirror
. That is, for any type with components (such as
DeclaredType
, which has a list of type arguments as a
component), it will always be the case that
qtm.getUnderlyingType().getComponent()
is equivalent to
qtm.getComponent().getUnderlyingType()
according to
Object.equals
.QualifiedTypeFactory
Modifier and Type | Class and Description |
---|---|
static class |
QualifiedTypeMirror.QualifiedArrayType<Q> |
static class |
QualifiedTypeMirror.QualifiedDeclaredType<Q> |
static class |
QualifiedTypeMirror.QualifiedExecutableType<Q> |
static class |
QualifiedTypeMirror.QualifiedIntersectionType<Q> |
static class |
QualifiedTypeMirror.QualifiedNoType<Q> |
static class |
QualifiedTypeMirror.QualifiedNullType<Q> |
static class |
QualifiedTypeMirror.QualifiedParameterDeclaration<Q> |
static class |
QualifiedTypeMirror.QualifiedPrimitiveType<Q> |
static class |
QualifiedTypeMirror.QualifiedTypeDeclaration<Q> |
static class |
QualifiedTypeMirror.QualifiedTypeVariable<Q> |
static class |
QualifiedTypeMirror.QualifiedUnionType<Q> |
static class |
QualifiedTypeMirror.QualifiedWildcardType<Q> |
Modifier and Type | Method and Description |
---|---|
abstract <R,P> R |
accept(QualifiedTypeVisitor<Q,R,P> visitor,
P p)
Applies a
QualifiedTypeVisitor to this qualified type. |
boolean |
equals(Object obj) |
TypeKind |
getKind()
Gets the
TypeKind of the underlying type. |
Q |
getQualifier()
Gets the qualifier in the main qualifier position of this type.
|
ExtendedTypeMirror |
getUnderlyingType()
Gets the underlying
ExtendedTypeMirror . |
int |
hashCode() |
public abstract <R,P> R accept(QualifiedTypeVisitor<Q,R,P> visitor, P p)
QualifiedTypeVisitor
to this qualified type.public ExtendedTypeMirror getUnderlyingType()
ExtendedTypeMirror
.public final Q getQualifier()