Class TypeBase
- All Implemented Interfaces:
JsonSerializable
,Serializable
,Type
- Direct Known Subclasses:
ArrayType
,CollectionLikeType
,MapLikeType
,PlaceholderForType
,ResolvedRecursiveType
,SimpleType
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
Field Summary
Modifier and TypeFieldDescriptionprotected final TypeBindings
Bindings in effect for this type instance; possibly empty.protected final JavaType
protected final JavaType[]
Fields inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JavaType
_asStatic, _class, _hash, _typeHandler, _valueHandler
-
Constructor Summary
ModifierConstructorDescriptionprotected
Copy-constructor used when refining/upgrading type instances.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. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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 boolean
_hasNTypeParameters
(int count) protected String
containedType
(int index) Method for accessing definitions of contained ("child") types.int
Method for checking how many contained types this type has.containedTypeName
(int index) Deprecated.final 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.abstract StringBuilder
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
Accessor for finding fully resolved interfaces this type implements, if any; empty array if none.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.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 edu.internet2.middleware.grouperClientExt.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, isEnumImplType, isEnumType, isFinal, isInterface, isJavaLangObject, isMapLikeType, isPrimitive, isRecordType, isThrowable, isTypeOrSubTypeOf, isTypeOrSuperTypeOf, refine, toString, useStaticType, withContentType, withContentTypeHandler, withContentValueHandler, withHandlersFrom, withStaticTyping, withTypeHandler, withValueHandler
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.core.type.ResolvedType
isReferenceType
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 Details
-
_superClass
-
_superInterfaces
-
_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 Details
-
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
Copy-constructor used when refining/upgrading type instances.- Since:
- 2.7
-
-
Method Details
-
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
- Returns:
- String representation of the fully resolved type
-
buildCanonicalName
-
getGenericSignature
- Specified by:
getGenericSignature
in classJavaType
- Parameters:
sb
- StringBuilder to append signature to- Returns:
- StringBuilder that was passed in; returned to allow call chaining
-
getErasedSignature
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
- 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
- Returns:
- Number of contained types that may be accessed
-
containedType
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.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
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
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
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
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(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.core.JsonGenerator, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.core.type.WritableTypeId)
followed by serialization of contents, followed by a call toTypeSerializer.writeTypeSuffix(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.core.JsonGenerator, edu.internet2.middleware.grouperClientExt.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
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
-
_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
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
-
_hasNTypeParameters
protected boolean _hasNTypeParameters(int count)
-