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
-
-
Field Summary
Fields Modifier and Type Field Description protected TypeBindings_bindingsBindings in effect for this type instance; possibly empty.protected JavaType_superClassprotected JavaType[]_superInterfaces-
Fields inherited from class com.fasterxml.jackson.databind.JavaType
_asStatic, _class, _hash, _typeHandler, _valueHandler
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTypeBase(TypeBase base)Copy-constructor used when refining/upgrading type instances.protectedTypeBase(Class<?> raw, TypeBindings bindings, JavaType superClass, JavaType[] superInts, int hash, Object valueHandler, Object typeHandler, boolean asStatic)Main constructor to use by extending classes.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected static JavaType_bogusSuperClass(Class<?> cls)Internal helper method used to figure out nominal super-class for deprecated factory methods / constructors, where we are not given properly resolved supertype hierarchy.protected static StringBuilder_classSignature(Class<?> cls, StringBuilder sb, boolean trailingSemicolon)protected StringbuildCanonicalName()JavaTypecontainedType(int index)intcontainedTypeCount()StringcontainedTypeName(int index)Deprecated.JavaTypefindSuperType(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.TypeBindingsgetBindings()abstract StringBuildergetErasedSignature(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 StringBuildergetGenericSignature(StringBuilder sb)List<JavaType>getInterfaces()Accessor for finding fully resolved interfaces this type implements, if any; empty array if none.JavaTypegetSuperClass()Accessor for finding fully resolved parent class of this type, if it has one; null if not.voidserialize(com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider)Serialization method called when no additional type information is to be included in serialization.voidserializeWithType(com.fasterxml.jackson.core.JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)Serialization method called when additional type information is expected to be included in serialization, for deserialization to use.StringtoCanonical()-
Methods inherited from class com.fasterxml.jackson.databind.JavaType
_narrow, 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, isEnumType, isFinal, isInterface, isJavaLangObject, isMapLikeType, isPrimitive, isThrowable, isTypeOrSubTypeOf, isTypeOrSuperTypeOf, refine, toString, useStaticType, withContentType, withContentTypeHandler, withContentValueHandler, withHandlersFrom, withStaticTyping, withTypeHandler, withValueHandler
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.reflect.Type
getTypeName
-
-
-
-
Field Detail
-
_superClass
protected final JavaType _superClass
-
_superInterfaces
protected final JavaType[] _superInterfaces
-
_bindings
protected final TypeBindings _bindings
Bindings in effect for this type instance; possibly empty. Needed when resolving types declared in members of this type (if any).- Since:
- 2.7
-
-
Constructor Detail
-
TypeBase
protected TypeBase(Class<?> raw, TypeBindings bindings, JavaType superClass, JavaType[] superInts, int hash, Object valueHandler, Object typeHandler, boolean asStatic)
Main constructor to use by extending classes.
-
TypeBase
protected TypeBase(TypeBase base)
Copy-constructor used when refining/upgrading type instances.- Since:
- 2.7
-
-
Method Detail
-
toCanonical
public String toCanonical()
- Specified by:
toCanonicalin classcom.fasterxml.jackson.core.type.ResolvedType
-
buildCanonicalName
protected String buildCanonicalName()
-
getGenericSignature
public abstract StringBuilder getGenericSignature(StringBuilder sb)
- Specified by:
getGenericSignaturein 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:JavaTypeMethod 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:
getErasedSignaturein 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:
getBindingsin classJavaType
-
containedTypeCount
public int containedTypeCount()
- Specified by:
containedTypeCountin classJavaType
-
containedType
public JavaType containedType(int index)
- Specified by:
containedTypein classJavaType
-
containedTypeName
@Deprecated public String containedTypeName(int index)
Deprecated.- Specified by:
containedTypeNamein classJavaType
-
getSuperClass
public JavaType getSuperClass()
Description copied from class:JavaTypeAccessor for finding fully resolved parent class of this type, if it has one; null if not.- Specified by:
getSuperClassin classJavaType
-
getInterfaces
public List<JavaType> getInterfaces()
Description copied from class:JavaTypeAccessor for finding fully resolved interfaces this type implements, if any; empty array if none.- Specified by:
getInterfacesin classJavaType
-
findSuperType
public final JavaType findSuperType(Class<?> rawTarget)
Description copied from class:JavaTypeMethod 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:
findSuperTypein classJavaType
-
findTypeParameters
public JavaType[] findTypeParameters(Class<?> expType)
Description copied from class:JavaTypeMethod that may be used to find paramaterization this type has for given type-erased generic target type.- Specified by:
findTypeParametersin classJavaType
-
serializeWithType
public void serializeWithType(com.fasterxml.jackson.core.JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws IOExceptionDescription copied from interface:JsonSerializableSerialization 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:
serializeWithTypein interfaceJsonSerializable- Throws:
IOException
-
serialize
public void serialize(com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider) throws IOException, com.fasterxml.jackson.core.JsonProcessingExceptionDescription copied from interface:JsonSerializableSerialization method called when no additional type information is to be included in serialization.- Specified by:
serializein interfaceJsonSerializable- Throws:
IOExceptioncom.fasterxml.jackson.core.JsonProcessingException
-
_classSignature
protected static StringBuilder _classSignature(Class<?> cls, StringBuilder sb, boolean trailingSemicolon)
- Parameters:
trailingSemicolon- Whether to add trailing semicolon for non-primitive (reference) types or not
-
_bogusSuperClass
protected static JavaType _bogusSuperClass(Class<?> cls)
Internal helper method used to figure out nominal super-class for deprecated factory methods / constructors, where we are not given properly resolved supertype hierarchy. Will basically give `JavaType` for `java.lang.Object` for classes other than `java.lafgn.Object`; null for others.- Since:
- 2.7
-
-