Class EntityObjectMapper
- java.lang.Object
-
- com.fasterxml.jackson.core.TreeCodec
-
- com.fasterxml.jackson.core.ObjectCodec
-
- com.fasterxml.jackson.databind.ObjectMapper
-
- is.codion.plugin.jackson.json.domain.EntityObjectMapper
-
- All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned
,Serializable
public final class EntityObjectMapper extends com.fasterxml.jackson.databind.ObjectMapper
Entity object mapper for mappingEntity
andKey
to and from JSON.
For instances use theentityObjectMapper(Entities)
factory method.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static com.fasterxml.jackson.core.type.TypeReference<List<Entity>>
ENTITY_LIST_REFERENCE
static com.fasterxml.jackson.core.type.TypeReference<List<Key>>
KEY_LIST_REFERENCE
-
Fields inherited from class com.fasterxml.jackson.databind.ObjectMapper
_coercionConfigs, _configOverrides, _deserializationConfig, _deserializationContext, _injectableValues, _jsonFactory, _mixIns, _registeredModuleTypes, _rootDeserializers, _serializationConfig, _serializerFactory, _serializerProvider, _subtypeResolver, _typeFactory, DEFAULT_ANNOTATION_INTROSPECTOR, DEFAULT_BASE
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> void
addDeserializer(Class<T> clazz, com.fasterxml.jackson.databind.deser.std.StdDeserializer<? extends T> deserializer)
Adds a deserializer to this EntityObjectMapper instance.<T> void
addSerializer(Class<? extends T> clazz, com.fasterxml.jackson.databind.ser.std.StdSerializer<T> serializer)
Adds a serializer to this EntityObjectMapper instance.List<Entity>
deserializeEntities(InputStream inputStream)
Deserializes the given JSON input stream into a list of Entity instancesList<Entity>
deserializeEntities(String jsonString)
Deserializes the given JSON string into a list of Entity instancesList<Key>
deserializeKeys(InputStream inputStream)
Deserializes the given JSON input stream into a list of Key instancesList<Key>
deserializeKeys(String jsonString)
Deserializes the given JSON string into a list of Key instancesEntities
entities()
static EntityObjectMapper
entityObjectMapper(Entities entities)
A factory method forEntityObjectMapper
instances.String
serializeEntities(List<Entity> entities)
Serializes the given Entity instances into a JSON string arrayString
serializeKeys(List<Key> keys)
Serializes the given Key instances into a JSON string arrayEntityObjectMapper
setIncludeForeignKeyValues(boolean includeForeignKeyValues)
EntityObjectMapper
setIncludeNullValues(boolean includeNullValues)
-
Methods inherited from class com.fasterxml.jackson.databind.ObjectMapper
_assertNotNull, _checkInvalidCopy, _configAndWriteValue, _constructDefaultTypeResolverBuilder, _convert, _findRootDeserializer, _initForReading, _newReader, _newReader, _newWriter, _newWriter, _newWriter, _readMapAndClose, _readTreeAndClose, _readValue, _serializerProvider, _verifyNoTrailingTokens, _verifySchemaType, _writeValueAndClose, acceptJsonFormatVisitor, acceptJsonFormatVisitor, activateDefaultTyping, activateDefaultTyping, activateDefaultTyping, activateDefaultTypingAsProperty, addHandler, addMixIn, addMixInAnnotations, canDeserialize, canDeserialize, canSerialize, canSerialize, clearProblemHandlers, coercionConfigDefaults, coercionConfigFor, coercionConfigFor, configOverride, configure, configure, configure, configure, configure, configure, constructType, constructType, convertValue, convertValue, convertValue, copy, copyWith, createArrayNode, createDeserializationContext, createGenerator, createGenerator, createGenerator, createGenerator, createGenerator, createNonBlockingByteArrayParser, createObjectNode, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, deactivateDefaultTyping, defaultClassIntrospector, disable, disable, disable, disable, disable, disable, disable, disableDefaultTyping, enable, enable, enable, enable, enable, enable, enable, enableDefaultTyping, enableDefaultTyping, enableDefaultTyping, enableDefaultTypingAsProperty, findAndRegisterModules, findMixInClassFor, findModules, findModules, generateJsonSchema, getDateFormat, getDeserializationConfig, getDeserializationContext, getFactory, getInjectableValues, getNodeFactory, getPolymorphicTypeValidator, getPropertyNamingStrategy, getRegisteredModuleIds, getSerializationConfig, getSerializerFactory, getSerializerProvider, getSerializerProviderInstance, getSubtypeResolver, getTypeFactory, getVisibilityChecker, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, missingNode, mixInCount, nullNode, reader, reader, reader, reader, reader, reader, reader, reader, reader, reader, reader, readerFor, readerFor, readerFor, readerForArrayOf, readerForListOf, readerForMapOf, readerForUpdating, readerWithView, readTree, readTree, readTree, readTree, readTree, readTree, readTree, readTree, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValue, readValues, readValues, readValues, readValues, registerModule, registerModules, registerModules, registerSubtypes, registerSubtypes, registerSubtypes, setAccessorNaming, setAnnotationIntrospector, setAnnotationIntrospectors, setBase64Variant, setConfig, setConfig, setConstructorDetector, setDateFormat, setDefaultAttributes, setDefaultLeniency, setDefaultMergeable, setDefaultPrettyPrinter, setDefaultPropertyInclusion, setDefaultPropertyInclusion, setDefaultSetterInfo, setDefaultTyping, setDefaultVisibility, setFilterProvider, setFilters, setHandlerInstantiator, setInjectableValues, setLocale, setMixInAnnotations, setMixInResolver, setMixIns, setNodeFactory, setPolymorphicTypeValidator, setPropertyInclusion, setPropertyNamingStrategy, setSerializationInclusion, setSerializerFactory, setSerializerProvider, setSubtypeResolver, setTimeZone, setTypeFactory, setVisibility, setVisibility, setVisibilityChecker, tokenStreamFactory, treeAsTokens, treeToValue, treeToValue, updateValue, valueToTree, version, writer, writer, writer, writer, writer, writer, writer, writer, writer, writer, writerFor, writerFor, writerFor, writerWithDefaultPrettyPrinter, writerWithType, writerWithType, writerWithType, writerWithView, writeTree, writeTree, writeValue, writeValue, writeValue, writeValue, writeValue, writeValueAsBytes, writeValueAsString
-
-
-
-
Method Detail
-
entities
public Entities entities()
- Returns:
- the underlying domain model entities
-
setIncludeForeignKeyValues
public EntityObjectMapper setIncludeForeignKeyValues(boolean includeForeignKeyValues)
- Parameters:
includeForeignKeyValues
- if true then the foreign key graph is included in serialized entities- Returns:
- this
EntityObjectMapper
instance
-
setIncludeNullValues
public EntityObjectMapper setIncludeNullValues(boolean includeNullValues)
- Parameters:
includeNullValues
- true if null values should be included in exported entities- Returns:
- this
EntityObjectMapper
instance
-
serializeEntities
public String serializeEntities(List<Entity> entities) throws com.fasterxml.jackson.core.JsonProcessingException
Serializes the given Entity instances into a JSON string array- Parameters:
entities
- the entities- Returns:
- a JSON string representation of the given entities
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
- in case of an exception
-
deserializeEntities
public List<Entity> deserializeEntities(String jsonString) throws com.fasterxml.jackson.core.JsonProcessingException
Deserializes the given JSON string into a list of Entity instances- Parameters:
jsonString
- the JSON string to parse- Returns:
- a List containing the Entity instances represented by the given JSON string
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
- in case of an exception
-
deserializeEntities
public List<Entity> deserializeEntities(InputStream inputStream) throws IOException
Deserializes the given JSON input stream into a list of Entity instances- Parameters:
inputStream
- the JSON input stream to parse- Returns:
- a List containing the Entity instances represented by the given JSON input stream
- Throws:
IOException
- in case of an exception
-
serializeKeys
public String serializeKeys(List<Key> keys) throws com.fasterxml.jackson.core.JsonProcessingException
Serializes the given Key instances into a JSON string array- Parameters:
keys
- the keys- Returns:
- a JSON string representation of the given entity keys
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
- in case of an exception
-
deserializeKeys
public List<Key> deserializeKeys(String jsonString) throws com.fasterxml.jackson.core.JsonProcessingException
Deserializes the given JSON string into a list of Key instances- Parameters:
jsonString
- the JSON string to parse- Returns:
- a List containing the Key instances represented by the given JSON string
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
- in case of an exception
-
deserializeKeys
public List<Key> deserializeKeys(InputStream inputStream) throws IOException
Deserializes the given JSON input stream into a list of Key instances- Parameters:
inputStream
- the JSON input stream to parse- Returns:
- a List containing the Key instances represented by the given JSON input stream
- Throws:
IOException
- in case of an exception
-
addSerializer
public <T> void addSerializer(Class<? extends T> clazz, com.fasterxml.jackson.databind.ser.std.StdSerializer<T> serializer)
Adds a serializer to this EntityObjectMapper instance.- Type Parameters:
T
- the type- Parameters:
clazz
- the classserializer
- the serializer
-
addDeserializer
public <T> void addDeserializer(Class<T> clazz, com.fasterxml.jackson.databind.deser.std.StdDeserializer<? extends T> deserializer)
Adds a deserializer to this EntityObjectMapper instance.- Type Parameters:
T
- the type- Parameters:
clazz
- the classdeserializer
- the deserializer
-
entityObjectMapper
public static EntityObjectMapper entityObjectMapper(Entities entities)
A factory method forEntityObjectMapper
instances.- Parameters:
entities
- the domain entities- Returns:
- a new
EntityObjectMapper
instance based on the given entities
-
-