public final class ArrayType extends TypeBase
JavaType.| Modifier and Type | Field and Description |
|---|---|
protected JavaType |
_componentType
Type of elements in the array.
|
protected Object |
_emptyArray
We will also keep track of shareable instance of empty array,
since it usually needs to be constructed any way; and because
it is essentially immutable and thus can be shared.
|
_class, _hashCode, _typeHandler, _valueHandler| Modifier and Type | Method and Description |
|---|---|
protected JavaType |
_narrow(Class<?> subclass)
Handling of narrowing conversions for arrays is trickier: for now,
it is not even allowed.
|
protected String |
buildCanonicalName() |
static ArrayType |
construct(JavaType componentType)
Deprecated.
Since 1.9, if you must directly instantiate,
call method that takes handlers
|
static ArrayType |
construct(JavaType componentType,
Object valueHandler,
Object typeHandler) |
JavaType |
containedType(int index)
Method for accessing definitions of contained ("child")
types.
|
int |
containedTypeCount()
Method for checking how many contained types this type
has.
|
String |
containedTypeName(int index)
Not sure what symbolic name is used internally, if any;
let's follow naming of Collection types here.
|
boolean |
equals(Object o) |
JavaType |
getContentType()
Method for accessing content type of this type, if type has
such a thing: simple types do not, structured types do
(like arrays, Collections and Maps)
|
StringBuilder |
getErasedSignature(StringBuilder sb)
Method for accessing signature without generic
type information, in form compatible with all versions
of JVM, and specifically used for type descriptions
when generating byte code.
|
StringBuilder |
getGenericSignature(StringBuilder sb) |
boolean |
hasGenericTypes()
Method that can be used to find out if the type directly declares generic
parameters (for its direct super-class and/or super-interfaces).
|
boolean |
isAbstract()
For some odd reason, modifiers for array classes would
claim they are abstract types.
|
boolean |
isArrayType() |
boolean |
isConcrete()
For some odd reason, modifiers for array classes would
claim they are abstract types.
|
boolean |
isContainerType() |
JavaType |
narrowContentsBy(Class<?> contentClass)
For array types, both main type and content type can be modified;
but ultimately they are interchangeable.
|
String |
toString() |
JavaType |
widenContentsBy(Class<?> contentClass) |
ArrayType |
withContentTypeHandler(Object h)
"Copy method" that will construct a new instance that is identical to
this instance, except that its content type will have specified
type handler assigned.
|
ArrayType |
withContentValueHandler(Object h) |
ArrayType |
withTypeHandler(Object h)
"Copy method" that will construct a new instance that is identical to
this instance, except that it will have specified type handler assigned.
|
ArrayType |
withValueHandler(Object h) |
_classSignature, getTypeHandler, getValueHandler, serialize, serializeWithType, toCanonical_assertSubclass, _widen, forcedNarrowBy, getErasedSignature, getGenericSignature, getKeyType, getRawClass, hashCode, hasRawClass, isCollectionLikeType, isEnumType, isFinal, isInterface, isMapLikeType, isPrimitive, isThrowable, narrowBy, setValueHandler, widenByprotected final JavaType _componentType
protected final Object _emptyArray
@Deprecated public static ArrayType construct(JavaType componentType)
public static ArrayType construct(JavaType componentType, Object valueHandler, Object typeHandler)
public ArrayType withTypeHandler(Object h)
JavaTypewithTypeHandler in class JavaTypepublic ArrayType withContentTypeHandler(Object h)
JavaTypewithContentTypeHandler in class JavaTypepublic ArrayType withValueHandler(Object h)
withValueHandler in class JavaTypepublic ArrayType withContentValueHandler(Object h)
withContentValueHandler in class JavaTypeprotected String buildCanonicalName()
buildCanonicalName in class TypeBaseprotected JavaType _narrow(Class<?> subclass)
public JavaType narrowContentsBy(Class<?> contentClass)
narrowContentsBy in class JavaTypepublic JavaType widenContentsBy(Class<?> contentClass)
widenContentsBy in class JavaTypepublic boolean isArrayType()
isArrayType in class JavaTypepublic boolean isAbstract()
isAbstract in class JavaTypepublic boolean isConcrete()
isConcrete in class JavaTypepublic boolean hasGenericTypes()
JavaTypehasGenericTypes in class JavaTypepublic String containedTypeName(int index)
containedTypeName in class JavaTypeindex - Index of contained type to returnpublic boolean isContainerType()
isContainerType in class JavaTypepublic JavaType getContentType()
JavaTypegetContentType in class JavaTypepublic int containedTypeCount()
JavaTypecontainedTypeCount in class JavaTypepublic JavaType containedType(int index)
JavaTypecontainedType in class JavaTypeindex - Index of contained type to returnpublic StringBuilder getGenericSignature(StringBuilder sb)
getGenericSignature in class TypeBasesb - StringBuilder to append signature topublic StringBuilder getErasedSignature(StringBuilder sb)
JavaTypegetErasedSignature in class TypeBasesb - StringBuilder to append signature to