public class StdSubtypeResolver extends SubtypeResolver implements Serializable
SubtypeResolver
implementation.Modifier and Type | Field and Description |
---|---|
protected LinkedHashSet<NamedType> |
_registeredSubtypes |
Modifier | Constructor and Description |
---|---|
|
StdSubtypeResolver() |
protected |
StdSubtypeResolver(StdSubtypeResolver src) |
Modifier and Type | Method and Description |
---|---|
protected void |
_collectAndResolve(AnnotatedClass annotatedType,
NamedType namedType,
MapperConfig<?> config,
AnnotationIntrospector ai,
HashMap<NamedType,NamedType> collectedSubtypes)
Method called to find subtypes for a specific type (class), using
type (class) as the unique key (in case of conflicts).
|
protected void |
_collectAndResolveByTypeId(AnnotatedClass annotatedType,
NamedType namedType,
MapperConfig<?> config,
Set<Class<?>> typesHandled,
Map<String,NamedType> byName)
Method called to find subtypes for a specific type (class), using
type id as the unique key (in case of conflicts).
|
protected Collection<NamedType> |
_combineNamedAndUnnamed(Class<?> rawBase,
Set<Class<?>> typesHandled,
Map<String,NamedType> byName)
Helper method used for merging explicitly named types and handled classes
without explicit names.
|
Collection<NamedType> |
collectAndResolveSubtypesByClass(MapperConfig<?> config,
AnnotatedClass type)
Method for finding out all reachable subtypes for given type,
such that access is by type,
typically needed for serialization (converting from type to type name).
|
Collection<NamedType> |
collectAndResolveSubtypesByClass(MapperConfig<?> config,
AnnotatedMember property,
JavaType baseType)
Method for finding out all reachable subtypes for a property specified
by given element (method or field),
such that access is by type,
typically needed for serialization (converting from type to type name).
|
Collection<NamedType> |
collectAndResolveSubtypesByTypeId(MapperConfig<?> config,
AnnotatedClass baseType)
Method for finding out all reachable subtypes for given type,
such that access is by type id,
typically needed for deserialization (converting from type id to type).
|
Collection<NamedType> |
collectAndResolveSubtypesByTypeId(MapperConfig<?> config,
AnnotatedMember property,
JavaType baseType)
Method for finding out all reachable subtypes for a property specified
by given element (method or field),
such that access is by type id,
typically needed for deserialization (converting from type id to type).
|
SubtypeResolver |
copy()
Method called by
ObjectMapper.copy() to make sure that
SubtypeResolver instances used by two independent mappers
can not cause thread-safety issues: if resolver is immutable, it
may return this , but if not, it should create a copy with
same configuration and return that instead. |
void |
registerSubtypes(Class<?>... classes) |
void |
registerSubtypes(Collection<Class<?>> subtypes) |
void |
registerSubtypes(NamedType... types)
Method for registering specified subtypes (possibly including type
names); for type entries without name, non-qualified class name
as used as name (unless overridden by annotation).
|
collectAndResolveSubtypes, collectAndResolveSubtypes
protected LinkedHashSet<NamedType> _registeredSubtypes
public StdSubtypeResolver()
protected StdSubtypeResolver(StdSubtypeResolver src)
public SubtypeResolver copy()
SubtypeResolver
ObjectMapper.copy()
to make sure that
SubtypeResolver
instances used by two independent mappers
can not cause thread-safety issues: if resolver is immutable, it
may return this
, but if not, it should create a copy with
same configuration and return that instead.copy
in class SubtypeResolver
public void registerSubtypes(NamedType... types)
SubtypeResolver
registerSubtypes
in class SubtypeResolver
public void registerSubtypes(Class<?>... classes)
registerSubtypes
in class SubtypeResolver
public void registerSubtypes(Collection<Class<?>> subtypes)
registerSubtypes
in class SubtypeResolver
public Collection<NamedType> collectAndResolveSubtypesByClass(MapperConfig<?> config, AnnotatedMember property, JavaType baseType)
SubtypeResolver
collectAndResolveSubtypesByClass
in class SubtypeResolver
baseType
- Effective property base type to use; may differ from
actual type of property; for structured types it is content (value) type and NOT
structured type.public Collection<NamedType> collectAndResolveSubtypesByClass(MapperConfig<?> config, AnnotatedClass type)
SubtypeResolver
collectAndResolveSubtypesByClass
in class SubtypeResolver
type
- Effective property base type to use; may differ from
actual type of property; for structured types it is content (value) type and NOT
structured type.public Collection<NamedType> collectAndResolveSubtypesByTypeId(MapperConfig<?> config, AnnotatedMember property, JavaType baseType)
SubtypeResolver
collectAndResolveSubtypesByTypeId
in class SubtypeResolver
baseType
- Effective property base type to use; may differ from
actual type of property; for structured types it is content (value) type and NOT
structured type.public Collection<NamedType> collectAndResolveSubtypesByTypeId(MapperConfig<?> config, AnnotatedClass baseType)
SubtypeResolver
collectAndResolveSubtypesByTypeId
in class SubtypeResolver
baseType
- Effective property base type to use; may differ from
actual type of property; for structured types it is content (value) type and NOT
structured type.protected void _collectAndResolve(AnnotatedClass annotatedType, NamedType namedType, MapperConfig<?> config, AnnotationIntrospector ai, HashMap<NamedType,NamedType> collectedSubtypes)
protected void _collectAndResolveByTypeId(AnnotatedClass annotatedType, NamedType namedType, MapperConfig<?> config, Set<Class<?>> typesHandled, Map<String,NamedType> byName)
Copyright © 2008–2022 FasterXML. All rights reserved.