Class TypeBase
- java.lang.Object
-
- com.fasterxml.jackson.core.type.ResolvedType
-
- com.fasterxml.jackson.databind.JavaType
-
- com.fasterxml.jackson.databind.type.TypeBase
-
- All Implemented Interfaces:
JsonSerializable
,Serializable
,Type
- Direct Known Subclasses:
ArrayType
,CollectionLikeType
,MapLikeType
,PlaceholderForType
,ResolvedRecursiveType
,SimpleType
public abstract class TypeBase extends JavaType implements JsonSerializable
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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)
Deprecated.JavaType
findSuperType(Class<?> rawTarget)
Method that may be called to find representation of given type within type hierarchy of this type: either this type (if this type has given erased type), one of its supertypes that has the erased types, or null if target is neither this type or any of its supertypes.JavaType[]
findTypeParameters(Class<?> expType)
Method that may be used to find paramaterization this type has for given type-erased generic target type.TypeBindings
getBindings()
abstract 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.abstract StringBuilder
getGenericSignature(StringBuilder sb)
List<JavaType>
getInterfaces()
Accessor for finding fully resolved interfaces this type implements, if any; empty array if none.JavaType
getSuperClass()
Accessor for finding fully resolved parent class of this type, if it has one; null if not.void
serialize(JsonGenerator gen, SerializerProvider provider)
Serialization method called when no additional type information is to be included in serialization.void
serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)
Serialization method called when additional type information is expected to be included in serialization, for deserialization to use.String
toCanonical()
Method that can be used to serialize type into form from which it can be fully deserialized from at a later point (usingTypeFactory
from mapper package).-
Methods inherited from class com.fasterxml.jackson.databind.JavaType
containedTypeOrUnknown, equals, forcedNarrowBy, getContentType, getContentTypeHandler, getContentValueHandler, getErasedSignature, getGenericSignature, getKeyType, getParameterSource, getRawClass, getReferencedType, getTypeHandler, getValueHandler, hasContentType, hasGenericTypes, hasHandlers, hashCode, hasRawClass, hasValueHandler, isAbstract, isArrayType, isCollectionLikeType, isConcrete, isContainerType, isEnumImplType, isEnumType, isFinal, isInterface, isJavaLangObject, isMapLikeType, isPrimitive, isThrowable, isTypeOrSubTypeOf, isTypeOrSuperTypeOf, refine, toString, useStaticType, withContentType, withContentTypeHandler, withContentValueHandler, withHandlersFrom, withStaticTyping, withTypeHandler, withValueHandler
-
Methods inherited from class com.fasterxml.jackson.core.type.ResolvedType
isReferenceType
-
Methods inherited from interface java.lang.reflect.Type
getTypeName
-
-
-
-
Method Detail
-
toCanonical
public String toCanonical()
Description copied from class:ResolvedType
Method that can be used to serialize type into form from which it can be fully deserialized from at a later point (usingTypeFactory
from mapper package). For simple types this is same as callingClass.getName()
, but for structured types it may additionally contain type information about contents.- Specified by:
toCanonical
in classResolvedType
-
getGenericSignature
public abstract StringBuilder getGenericSignature(StringBuilder sb)
- Specified by:
getGenericSignature
in classJavaType
- Parameters:
sb
- StringBuilder to append signature to- Returns:
- StringBuilder that was passed in; returned to allow call chaining
-
getErasedSignature
public abstract StringBuilder getErasedSignature(StringBuilder sb)
Description copied from class:JavaType
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.- Specified by:
getErasedSignature
in classJavaType
- Parameters:
sb
- StringBuilder to append signature to- Returns:
- StringBuilder that was passed in; returned to allow call chaining
-
getBindings
public TypeBindings getBindings()
- Specified by:
getBindings
in classJavaType
-
containedTypeCount
public int containedTypeCount()
Description copied from class:ResolvedType
Method for checking how many contained types this type has. Contained types are usually generic types, so that generic Maps have 2 contained types.- Specified by:
containedTypeCount
in classJavaType
-
containedType
public JavaType containedType(int index)
Description copied from class:ResolvedType
Method for accessing definitions of contained ("child") types.- Specified by:
containedType
in classJavaType
- Parameters:
index
- Index of contained type to return- Returns:
- Contained type at index, or null if no such type exists (no exception thrown)
-
containedTypeName
@Deprecated public String containedTypeName(int index)
Deprecated.Description copied from class:ResolvedType
Method for accessing name of type variable in indicated position. If no name is bound, will use placeholders (derived from 0-based index); if no type variable or argument exists with given index, null is returned.- Specified by:
containedTypeName
in classJavaType
- Parameters:
index
- Index of contained type to return- Returns:
- Contained type at index, or null if no such type exists (no exception thrown)
-
getSuperClass
public JavaType getSuperClass()
Description copied from class:JavaType
Accessor for finding fully resolved parent class of this type, if it has one; null if not.- Specified by:
getSuperClass
in classJavaType
-
getInterfaces
public List<JavaType> getInterfaces()
Description copied from class:JavaType
Accessor for finding fully resolved interfaces this type implements, if any; empty array if none.- Specified by:
getInterfaces
in classJavaType
-
findSuperType
public final JavaType findSuperType(Class<?> rawTarget)
Description copied from class:JavaType
Method that may be called to find representation of given type within type hierarchy of this type: either this type (if this type has given erased type), one of its supertypes that has the erased types, or null if target is neither this type or any of its supertypes.- Specified by:
findSuperType
in classJavaType
-
findTypeParameters
public JavaType[] findTypeParameters(Class<?> expType)
Description copied from class:JavaType
Method that may be used to find paramaterization this type has for given type-erased generic target type.- Specified by:
findTypeParameters
in classJavaType
-
serializeWithType
public void serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws IOException
Description copied from interface:JsonSerializable
Serialization method called when additional type information is expected to be included in serialization, for deserialization to use.Usually implementation consists of a call to
TypeSerializer.writeTypePrefix(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.core.type.WritableTypeId)
followed by serialization of contents, followed by a call toTypeSerializer.writeTypeSuffix(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.core.type.WritableTypeId)
). Details of the type id argument to pass depend on shape of JSON Object used (Array, Object or scalar like String/Number/Boolean).Note that some types (most notably, "natural" types: String, Integer, Double and Boolean) never include type information.
- Specified by:
serializeWithType
in interfaceJsonSerializable
- Throws:
IOException
-
serialize
public void serialize(JsonGenerator gen, SerializerProvider provider) throws IOException, JsonProcessingException
Description copied from interface:JsonSerializable
Serialization method called when no additional type information is to be included in serialization.- Specified by:
serialize
in interfaceJsonSerializable
- Throws:
IOException
JsonProcessingException
-
-