Package com.fasterxml.classmate.types
Class ResolvedPrimitiveType
- java.lang.Object
-
- com.fasterxml.classmate.ResolvedType
-
- com.fasterxml.classmate.types.ResolvedPrimitiveType
-
- All Implemented Interfaces:
java.lang.reflect.Type
public final class ResolvedPrimitiveType extends ResolvedType
Type used for Java primitive types (which does not include arrays here).Since set of primitive types is bounded, constructor is defined as protected, and class final; that is, new primitive types are not to be constructed by calling applications.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
_description
Human-readable description should be simple as wellprotected java.lang.String
_signature
Primitive types have single-character Signature, easy and efficient to just store hereprivate static ResolvedPrimitiveType
VOID
-
Fields inherited from class com.fasterxml.classmate.ResolvedType
_erasedType, _typeBindings, NO_CONSTRUCTORS, NO_FIELDS, NO_METHODS, NO_TYPES
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ResolvedPrimitiveType(java.lang.Class<?> erased, char sig, java.lang.String desc)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.util.List<ResolvedPrimitiveType>
all()
java.lang.StringBuilder
appendBriefDescription(java.lang.StringBuilder sb)
java.lang.StringBuilder
appendErasedSignature(java.lang.StringBuilder sb)
java.lang.StringBuilder
appendFullDescription(java.lang.StringBuilder sb)
java.lang.StringBuilder
appendSignature(java.lang.StringBuilder sb)
boolean
canCreateSubtypes()
Method that can be used to check if call toTypeResolver.resolveSubtype(ResolvedType, Class)
may ever succeed; if false, it will fail with an exception, if true, it may succeed.ResolvedType
getArrayElementType()
Method that can be used to access element type of array types; will return null for non-array types, and non-null type for array types.java.lang.String
getErasedSignature()
Method that returns type erased signature of the type; suitable as non-generic signature some packages needjava.lang.String
getFullDescription()
Human-readable full description of type, which includes specification of super types (in brief format)java.util.List<ResolvedType>
getImplementedInterfaces()
Returns ordered list of interfaces (in declaration order) that this type implements.ResolvedType
getParentClass()
Returns parent class of this type, if it has one; primitive types and interfaces have no parent class, nor does Object typeObject
.ResolvedType
getSelfReferencedType()
Accessor that must be used to find out actual type in case of "self-reference"; case where type refers recursive to itself (like,T implements Comparable<T>
).java.lang.String
getSignature()
Method that returns full generic signature of the type; suitable as signature for things like ASM package.boolean
isAbstract()
boolean
isArray()
Method that indicates whether this type is an array type.boolean
isInterface()
boolean
isPrimitive()
Method that indicates whether this type is one of small number of primitive Java types; not including array types of primitive types but just basic primitive types.static ResolvedPrimitiveType
voidType()
-
Methods inherited from class com.fasterxml.classmate.ResolvedType
_appendClassDescription, _appendClassName, _appendClassSignature, _appendErasedClassSignature, _getConstructors, _getFields, _getMethods, canCreateSubtype, equals, findSupertype, getBriefDescription, getConstructors, getErasedType, getMemberFields, getMemberMethods, getStaticFields, getStaticMethods, getTypeBindings, getTypeParameters, hashCode, isConcrete, isInstanceOf, toString, typeParametersFor
-
-
-
-
Field Detail
-
VOID
private static final ResolvedPrimitiveType VOID
-
_signature
protected final java.lang.String _signature
Primitive types have single-character Signature, easy and efficient to just store here
-
_description
protected final java.lang.String _description
Human-readable description should be simple as well
-
-
Method Detail
-
all
public static java.util.List<ResolvedPrimitiveType> all()
-
voidType
public static ResolvedPrimitiveType voidType()
-
canCreateSubtypes
public boolean canCreateSubtypes()
Description copied from class:ResolvedType
Method that can be used to check if call toTypeResolver.resolveSubtype(ResolvedType, Class)
may ever succeed; if false, it will fail with an exception, if true, it may succeed.- Specified by:
canCreateSubtypes
in classResolvedType
-
getSelfReferencedType
public ResolvedType getSelfReferencedType()
Description copied from class:ResolvedType
Accessor that must be used to find out actual type in case of "self-reference"; case where type refers recursive to itself (like,T implements Comparable<T>
). For all other types returns null but for self-references "real" type. Separate accessor is provided to avoid accidental infinite loops.- Specified by:
getSelfReferencedType
in classResolvedType
-
getParentClass
public ResolvedType getParentClass()
Description copied from class:ResolvedType
Returns parent class of this type, if it has one; primitive types and interfaces have no parent class, nor does Object typeObject
. Also, placeholders for cyclic (recursive) types return null for this method.- Specified by:
getParentClass
in classResolvedType
-
isInterface
public boolean isInterface()
- Specified by:
isInterface
in classResolvedType
-
isAbstract
public boolean isAbstract()
- Specified by:
isAbstract
in classResolvedType
-
getArrayElementType
public ResolvedType getArrayElementType()
Description copied from class:ResolvedType
Method that can be used to access element type of array types; will return null for non-array types, and non-null type for array types.- Specified by:
getArrayElementType
in classResolvedType
-
isArray
public boolean isArray()
Description copied from class:ResolvedType
Method that indicates whether this type is an array type.- Specified by:
isArray
in classResolvedType
-
isPrimitive
public boolean isPrimitive()
Description copied from class:ResolvedType
Method that indicates whether this type is one of small number of primitive Java types; not including array types of primitive types but just basic primitive types.- Specified by:
isPrimitive
in classResolvedType
-
getImplementedInterfaces
public java.util.List<ResolvedType> getImplementedInterfaces()
Description copied from class:ResolvedType
Returns ordered list of interfaces (in declaration order) that this type implements.- Specified by:
getImplementedInterfaces
in classResolvedType
- Returns:
- List of interfaces this type implements, if any; empty list if none
-
getSignature
public java.lang.String getSignature()
Description copied from class:ResolvedType
Method that returns full generic signature of the type; suitable as signature for things like ASM package.- Overrides:
getSignature
in classResolvedType
-
getErasedSignature
public java.lang.String getErasedSignature()
Description copied from class:ResolvedType
Method that returns type erased signature of the type; suitable as non-generic signature some packages need- Overrides:
getErasedSignature
in classResolvedType
-
getFullDescription
public java.lang.String getFullDescription()
Description copied from class:ResolvedType
Human-readable full description of type, which includes specification of super types (in brief format)- Overrides:
getFullDescription
in classResolvedType
-
appendSignature
public java.lang.StringBuilder appendSignature(java.lang.StringBuilder sb)
- Specified by:
appendSignature
in classResolvedType
-
appendErasedSignature
public java.lang.StringBuilder appendErasedSignature(java.lang.StringBuilder sb)
- Specified by:
appendErasedSignature
in classResolvedType
-
appendFullDescription
public java.lang.StringBuilder appendFullDescription(java.lang.StringBuilder sb)
- Specified by:
appendFullDescription
in classResolvedType
-
appendBriefDescription
public java.lang.StringBuilder appendBriefDescription(java.lang.StringBuilder sb)
- Specified by:
appendBriefDescription
in classResolvedType
-
-