public class ObjectMapperFactory extends Object
create instances of a Jackson ObjectMapper. It allows to
configure the ObjectMapper for polymorphic transfer-objects.setBaseClasses(Class...),
setSubtypes(NamedType...)| Modifier and Type | Field and Description |
|---|---|
(package private) static String |
ARTIFACT_ID |
private List<Class<?>> |
baseClassList |
private com.fasterxml.jackson.databind.module.SimpleModule |
extensionModule |
(package private) static String |
GROUP_ID |
private List<com.fasterxml.jackson.databind.jsontype.NamedType> |
subtypeList |
| Constructor and Description |
|---|
ObjectMapperFactory()
The constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addBaseClasses(Class<?>... baseClasses) |
void |
addSubtypes(com.fasterxml.jackson.databind.jsontype.NamedType... subtypes) |
com.fasterxml.jackson.databind.ObjectMapper |
createInstance() |
com.fasterxml.jackson.databind.module.SimpleModule |
getExtensionModule()
Gets access to a generic extension
module for customizations to Jackson JSON mapping. |
void |
setBaseClasses(Class<?>... baseClasses) |
void |
setSubtypeList(List<com.fasterxml.jackson.databind.jsontype.NamedType> subtypeList) |
void |
setSubtypes(com.fasterxml.jackson.databind.jsontype.NamedType... subtypeList) |
static final String GROUP_ID
static final String ARTIFACT_ID
private List<com.fasterxml.jackson.databind.jsontype.NamedType> subtypeList
private com.fasterxml.jackson.databind.module.SimpleModule extensionModule
public com.fasterxml.jackson.databind.module.SimpleModule getExtensionModule()
module for customizations to Jackson JSON mapping.SimpleModule.addSerializer(Class, com.fasterxml.jackson.databind.JsonSerializer),
SimpleModule.addDeserializer(Class, com.fasterxml.jackson.databind.JsonDeserializer)public void setBaseClasses(Class<?>... baseClasses)
baseClasses - are the base classes that are polymorphic (e.g. abstract transfer-object classes that have
sub-types). You also need to register all sub-types of these polymorphic classes via
setSubtypes(NamedType...).public void addBaseClasses(Class<?>... baseClasses)
baseClasses - the base-classes to add to base classes list.setBaseClasses(Class...)public void setSubtypeList(List<com.fasterxml.jackson.databind.jsontype.NamedType> subtypeList)
subtypeList - the List of NamedTypes to register the subtypes.setSubtypes(NamedType...)public void addSubtypes(com.fasterxml.jackson.databind.jsontype.NamedType... subtypes)
subtypes - the NamedTypes to add to sub-type list for registration.setSubtypes(NamedType...)public void setSubtypes(com.fasterxml.jackson.databind.jsontype.NamedType... subtypeList)
subtypeList - the NamedTypes as pair of Class reflecting a polymorphic sub-type together with
its unique name in JSON format.public com.fasterxml.jackson.databind.ObjectMapper createInstance()
ObjectMapper configured for polymorphic resolution.Copyright © 2014–2019 devon4j-Team. All rights reserved.