public final class ArrayType extends TypeBase
JavaType
.JsonSerializable.Base
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.
|
_bindings, _superClass, _superInterfaces
_asStatic, _class, _hash, _typeHandler, _valueHandler
Modifier | Constructor and Description |
---|---|
protected |
ArrayType(JavaType componentType,
TypeBindings bindings,
Object emptyInstance,
Object valueHandler,
Object typeHandler,
boolean asStatic) |
Modifier and Type | Method and Description |
---|---|
protected JavaType |
_narrow(Class<?> subclass)
Deprecated.
|
static ArrayType |
construct(JavaType componentType,
TypeBindings bindings) |
static ArrayType |
construct(JavaType componentType,
TypeBindings bindings,
Object valueHandler,
Object typeHandler) |
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)
|
Object |
getContentTypeHandler() |
Object |
getContentValueHandler() |
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 |
hasHandlers()
Helper method that checks whether this type, or its (optional) key
or content type has
JavaType.getValueHandler() or JavaType.getTypeHandler() ;
that is, are there any non-standard handlers associated with this
type object. |
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 |
refine(Class<?> contentClass,
TypeBindings bindings,
JavaType superClass,
JavaType[] superInterfaces)
Mutant factory method that will try to create and return a sub-type instance
for known parameterized types; for other types will return `null` to indicate
that no just refinement makes necessary sense, without trying to detect
special status through implemented interfaces.
|
String |
toString() |
JavaType |
withContentType(JavaType contentType)
Mutant factory method that may be called on structured types
that have a so-called content type (element of arrays, value type
of Maps, referenced type of referential types),
and will construct a new instance that is identical to
this instance, except that it has specified content type, instead of current
one.
|
ArrayType |
withContentTypeHandler(Object h)
Mutant factory method that will construct a new instance that is identical to
this instance, except that it will have specified content type (element type
for arrays, value type for Maps and so forth) handler assigned.
|
ArrayType |
withContentValueHandler(Object h)
Mutant factory method that will construct a new instance that is identical to
this instance, except that it will have specified content value handler assigned.
|
ArrayType |
withStaticTyping()
Method that can be called to get a type instance that indicates
that values of the type should be handled using "static typing" for purposes
of serialization (as opposed to "dynamic" aka runtime typing):
meaning that no runtime information is needed for determining serializers to use.
|
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)
Mutant factory method that will construct a new instance that is identical to
this instance, except that it will have specified value handler assigned.
|
_bogusSuperClass, _classSignature, buildCanonicalName, containedType, containedTypeCount, containedTypeName, findSuperType, findTypeParameters, getBindings, getInterfaces, getSuperClass, serialize, serializeWithType, toCanonical
containedTypeOrUnknown, forcedNarrowBy, getErasedSignature, getGenericSignature, getKeyType, getParameterSource, getRawClass, getReferencedType, getTypeHandler, getValueHandler, hasContentType, hashCode, hasRawClass, hasValueHandler, isCollectionLikeType, isEnumType, isFinal, isInterface, isJavaLangObject, isMapLikeType, isPrimitive, isThrowable, isTypeOrSubTypeOf, useStaticType, withHandlersFrom
isReferenceType
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getTypeName
protected final JavaType _componentType
protected final Object _emptyArray
protected ArrayType(JavaType componentType, TypeBindings bindings, Object emptyInstance, Object valueHandler, Object typeHandler, boolean asStatic)
public static ArrayType construct(JavaType componentType, TypeBindings bindings)
public static ArrayType construct(JavaType componentType, TypeBindings bindings, Object valueHandler, Object typeHandler)
public JavaType withContentType(JavaType contentType)
JavaType
this
is returned.
If type does not have a content type (which is the case with
SimpleType
), IllegalArgumentException
will be thrown.withContentType
in class JavaType
public ArrayType withTypeHandler(Object h)
JavaType
withTypeHandler
in class JavaType
public ArrayType withContentTypeHandler(Object h)
JavaType
withContentTypeHandler
in class JavaType
public ArrayType withValueHandler(Object h)
JavaType
withValueHandler
in class JavaType
public ArrayType withContentValueHandler(Object h)
JavaType
withContentValueHandler
in class JavaType
public ArrayType withStaticTyping()
JavaType
withStaticTyping
in class JavaType
@Deprecated protected JavaType _narrow(Class<?> subclass)
public JavaType refine(Class<?> contentClass, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)
JavaType
public boolean isArrayType()
isArrayType
in class JavaType
public boolean isAbstract()
isAbstract
in class JavaType
public boolean isConcrete()
isConcrete
in class JavaType
public boolean hasGenericTypes()
ResolvedType
hasGenericTypes
in class JavaType
public boolean isContainerType()
isContainerType
in class JavaType
public JavaType getContentType()
ResolvedType
getContentType
in class JavaType
public Object getContentValueHandler()
getContentValueHandler
in class JavaType
public Object getContentTypeHandler()
getContentTypeHandler
in class JavaType
public boolean hasHandlers()
JavaType
JavaType.getValueHandler()
or JavaType.getTypeHandler()
;
that is, are there any non-standard handlers associated with this
type object.hasHandlers
in class JavaType
public StringBuilder getGenericSignature(StringBuilder sb)
getGenericSignature
in class TypeBase
sb
- StringBuilder to append signature topublic StringBuilder getErasedSignature(StringBuilder sb)
JavaType
getErasedSignature
in class TypeBase
sb
- StringBuilder to append signature toCopyright © 2017 JBoss by Red Hat. All rights reserved.