Package org.apache.johnzon.mapper
Class MapperConfig
- java.lang.Object
-
- org.apache.johnzon.mapper.MapperConfig
-
- All Implemented Interfaces:
java.lang.Cloneable
public class MapperConfig extends java.lang.Object implements java.lang.Cloneable
Contains internal configuration for all the mapper stuff. It needs to be immutable and 100% runtime oriented.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
MapperConfig.CustomEnumConverter<A>
-
Field Summary
Fields Modifier and Type Field Description private AccessMode
accessMode
private LazyConverterMap
adapters
private java.util.Comparator<java.lang.String>
attributeOrder
private boolean
close
private java.lang.Boolean
deduplicateObjects
private java.util.function.Predicate<java.lang.Class<?>>
deserializationPredicate
private java.lang.String
discriminator
private java.util.function.Function<java.lang.Class<?>,java.lang.String>
discriminatorMapper
private java.nio.charset.Charset
encoding
private java.util.function.Function<java.lang.Class<?>,MapperConfig.CustomEnumConverter<?>>
enumConverterFactory
private boolean
failOnUnknown
private java.util.Map<java.lang.Class<?>,java.lang.Class<?>>
interfaceImplementationMapping
private static ObjectConverter.Codec
NO_CONVERTER
private java.util.Collection<java.lang.reflect.Type>
noGeneratorAdapterTypes
private java.util.Collection<java.lang.reflect.Type>
noParserAdapterTypes
private java.util.Map<java.lang.Class<?>,ObjectConverter.Reader<?>>
objectConverterReaderCache
private java.util.Map<java.lang.Class<?>,ObjectConverter.Reader<?>>
objectConverterReaders
private java.util.Map<java.lang.Class<?>,ObjectConverter.Writer<?>>
objectConverterWriterCache
private java.util.Map<java.lang.Class<?>,ObjectConverter.Writer<?>>
objectConverterWriters
private boolean
readAttributeBeforeWrite
private java.util.concurrent.ConcurrentMap<Adapter<?,?>,AdapterKey>
reverseAdapters
private java.util.function.Predicate<java.lang.Class<?>>
serializationPredicate
private SerializeValueFilter
serializeValueFilter
private boolean
skipEmptyArray
private boolean
skipNull
private boolean
supportEnumMapDeserialization
private boolean
treatByteArrayAsBase64
private boolean
treatByteArrayAsBase64URL
private java.util.function.Function<java.lang.String,java.lang.Class<?>>
typeLoader
private boolean
useBigDecimalForFloats
private boolean
useBigDecimalForObjectNumbers
private boolean
useJsRange
private int
version
-
Constructor Summary
Constructors Constructor Description MapperConfig(LazyConverterMap adapters, java.util.Map<java.lang.Class<?>,ObjectConverter.Writer<?>> objectConverterWriters, java.util.Map<java.lang.Class<?>,ObjectConverter.Reader<?>> objectConverterReaders, int version, boolean close, boolean skipNull, boolean skipEmptyArray, boolean treatByteArrayAsBase64, boolean treatByteArrayAsBase64URL, boolean readAttributeBeforeWrite, AccessMode accessMode, java.nio.charset.Charset encoding, java.util.Comparator<java.lang.String> attributeOrder, boolean failOnUnknown, SerializeValueFilter serializeValueFilter, boolean useBigDecimalForFloats, java.lang.Boolean deduplicateObjects, java.util.Map<java.lang.Class<?>,java.lang.Class<?>> interfaceImplementationMapping, boolean useJsRange, boolean useBigDecimalForObjectNumbers, boolean supportEnumMapDeserialization, java.util.function.Function<java.lang.String,java.lang.Class<?>> typeLoader, java.util.function.Function<java.lang.Class<?>,java.lang.String> discriminatorMapper, java.lang.String discriminator, java.util.function.Predicate<java.lang.Class<?>> deserializationPredicate, java.util.function.Predicate<java.lang.Class<?>> serializationPredicate, java.util.function.Function<java.lang.Class<?>,MapperConfig.CustomEnumConverter<?>> enumConverterFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Adapter
findAdapter(java.lang.reflect.Type aClass)
private <T> T
findObjectConverter(java.lang.Class clazz, java.util.Map<java.lang.Class<?>,T> from, java.util.Map<java.lang.Class<?>,T> cache)
ObjectConverter.Reader
findObjectConverterReader(java.lang.Class clazz)
Search for anObjectConverter
for the given class.ObjectConverter.Writer
findObjectConverterWriter(java.lang.Class clazz)
AccessMode
getAccessMode()
LazyConverterMap
getAdapters()
java.util.Comparator<java.lang.String>
getAttributeOrder()
java.util.function.Predicate<java.lang.Class<?>>
getDeserializationPredicate()
java.lang.String
getDiscriminator()
java.util.function.Function<java.lang.Class<?>,java.lang.String>
getDiscriminatorMapper()
java.nio.charset.Charset
getEncoding()
java.util.function.Function<java.lang.Class<?>,MapperConfig.CustomEnumConverter<?>>
getEnumConverterFactory()
java.util.Map<java.lang.Class<?>,java.lang.Class<?>>
getInterfaceImplementationMapping()
java.util.Collection<java.lang.reflect.Type>
getNoGeneratorAdapterTypes()
java.util.Collection<java.lang.reflect.Type>
getNoParserAdapterTypes()
java.util.Map<java.lang.Class<?>,ObjectConverter.Reader<?>>
getObjectConverterReaders()
java.util.Map<java.lang.Class<?>,ObjectConverter.Writer<?>>
getObjectConverterWriters()
java.util.concurrent.ConcurrentMap<Adapter<?,?>,AdapterKey>
getReverseAdapters()
java.util.function.Predicate<java.lang.Class<?>>
getSerializationPredicate()
SerializeValueFilter
getSerializeValueFilter()
java.util.function.Function<java.lang.String,java.lang.Class<?>>
getTypeLoader()
int
getVersion()
boolean
isClose()
java.lang.Boolean
isDeduplicateObjects()
boolean
isFailOnUnknown()
boolean
isReadAttributeBeforeWrite()
boolean
isSkipEmptyArray()
boolean
isSkipNull()
boolean
isSupportEnumContainerDeserialization()
boolean
isTreatByteArrayAsBase64()
boolean
isTreatByteArrayAsBase64URL()
boolean
isUseBigDecimalForFloats()
boolean
isUseBigDecimalForObjectNumbers()
boolean
isUseJsRange()
-
-
-
Field Detail
-
NO_CONVERTER
private static final ObjectConverter.Codec NO_CONVERTER
-
version
private final int version
-
useJsRange
private final boolean useJsRange
-
close
private final boolean close
-
skipNull
private final boolean skipNull
-
skipEmptyArray
private final boolean skipEmptyArray
-
treatByteArrayAsBase64
private final boolean treatByteArrayAsBase64
-
treatByteArrayAsBase64URL
private final boolean treatByteArrayAsBase64URL
-
readAttributeBeforeWrite
private final boolean readAttributeBeforeWrite
-
supportEnumMapDeserialization
private final boolean supportEnumMapDeserialization
-
accessMode
private final AccessMode accessMode
-
encoding
private final java.nio.charset.Charset encoding
-
adapters
private final LazyConverterMap adapters
-
reverseAdapters
private final java.util.concurrent.ConcurrentMap<Adapter<?,?>,AdapterKey> reverseAdapters
-
objectConverterWriters
private final java.util.Map<java.lang.Class<?>,ObjectConverter.Writer<?>> objectConverterWriters
-
objectConverterReaders
private final java.util.Map<java.lang.Class<?>,ObjectConverter.Reader<?>> objectConverterReaders
-
attributeOrder
private final java.util.Comparator<java.lang.String> attributeOrder
-
failOnUnknown
private final boolean failOnUnknown
-
serializeValueFilter
private final SerializeValueFilter serializeValueFilter
-
useBigDecimalForFloats
private final boolean useBigDecimalForFloats
-
deduplicateObjects
private final java.lang.Boolean deduplicateObjects
-
interfaceImplementationMapping
private final java.util.Map<java.lang.Class<?>,java.lang.Class<?>> interfaceImplementationMapping
-
useBigDecimalForObjectNumbers
private final boolean useBigDecimalForObjectNumbers
-
typeLoader
private final java.util.function.Function<java.lang.String,java.lang.Class<?>> typeLoader
-
discriminatorMapper
private final java.util.function.Function<java.lang.Class<?>,java.lang.String> discriminatorMapper
-
serializationPredicate
private final java.util.function.Predicate<java.lang.Class<?>> serializationPredicate
-
deserializationPredicate
private final java.util.function.Predicate<java.lang.Class<?>> deserializationPredicate
-
discriminator
private final java.lang.String discriminator
-
objectConverterWriterCache
private final java.util.Map<java.lang.Class<?>,ObjectConverter.Writer<?>> objectConverterWriterCache
-
objectConverterReaderCache
private final java.util.Map<java.lang.Class<?>,ObjectConverter.Reader<?>> objectConverterReaderCache
-
noParserAdapterTypes
private final java.util.Collection<java.lang.reflect.Type> noParserAdapterTypes
-
noGeneratorAdapterTypes
private final java.util.Collection<java.lang.reflect.Type> noGeneratorAdapterTypes
-
enumConverterFactory
private final java.util.function.Function<java.lang.Class<?>,MapperConfig.CustomEnumConverter<?>> enumConverterFactory
-
-
Constructor Detail
-
MapperConfig
public MapperConfig(LazyConverterMap adapters, java.util.Map<java.lang.Class<?>,ObjectConverter.Writer<?>> objectConverterWriters, java.util.Map<java.lang.Class<?>,ObjectConverter.Reader<?>> objectConverterReaders, int version, boolean close, boolean skipNull, boolean skipEmptyArray, boolean treatByteArrayAsBase64, boolean treatByteArrayAsBase64URL, boolean readAttributeBeforeWrite, AccessMode accessMode, java.nio.charset.Charset encoding, java.util.Comparator<java.lang.String> attributeOrder, boolean failOnUnknown, SerializeValueFilter serializeValueFilter, boolean useBigDecimalForFloats, java.lang.Boolean deduplicateObjects, java.util.Map<java.lang.Class<?>,java.lang.Class<?>> interfaceImplementationMapping, boolean useJsRange, boolean useBigDecimalForObjectNumbers, boolean supportEnumMapDeserialization, java.util.function.Function<java.lang.String,java.lang.Class<?>> typeLoader, java.util.function.Function<java.lang.Class<?>,java.lang.String> discriminatorMapper, java.lang.String discriminator, java.util.function.Predicate<java.lang.Class<?>> deserializationPredicate, java.util.function.Predicate<java.lang.Class<?>> serializationPredicate, java.util.function.Function<java.lang.Class<?>,MapperConfig.CustomEnumConverter<?>> enumConverterFactory)
-
-
Method Detail
-
getEnumConverterFactory
public java.util.function.Function<java.lang.Class<?>,MapperConfig.CustomEnumConverter<?>> getEnumConverterFactory()
-
getNoParserAdapterTypes
public java.util.Collection<java.lang.reflect.Type> getNoParserAdapterTypes()
-
getNoGeneratorAdapterTypes
public java.util.Collection<java.lang.reflect.Type> getNoGeneratorAdapterTypes()
-
getTypeLoader
public java.util.function.Function<java.lang.String,java.lang.Class<?>> getTypeLoader()
-
getDiscriminatorMapper
public java.util.function.Function<java.lang.Class<?>,java.lang.String> getDiscriminatorMapper()
-
getDeserializationPredicate
public java.util.function.Predicate<java.lang.Class<?>> getDeserializationPredicate()
-
getSerializationPredicate
public java.util.function.Predicate<java.lang.Class<?>> getSerializationPredicate()
-
getDiscriminator
public java.lang.String getDiscriminator()
-
isUseBigDecimalForObjectNumbers
public boolean isUseBigDecimalForObjectNumbers()
-
isUseJsRange
public boolean isUseJsRange()
-
getInterfaceImplementationMapping
public java.util.Map<java.lang.Class<?>,java.lang.Class<?>> getInterfaceImplementationMapping()
-
getSerializeValueFilter
public SerializeValueFilter getSerializeValueFilter()
-
findAdapter
public Adapter findAdapter(java.lang.reflect.Type aClass)
-
findObjectConverterReader
public ObjectConverter.Reader findObjectConverterReader(java.lang.Class clazz)
Search for anObjectConverter
for the given class. If noObjectConverter
was found for the specific class, the whole type hierarchy will be scanned for a matchingObjectConverter
. In case the given class implements more than on interfaces and for at least two we have configured anObjectConverter
theObjectConverter
for the first interface we get will be taken.- Parameters:
clazz
- theClass
- Returns:
- the found
ObjectConverter
ornull
if noObjectConverter
has been found - Throws:
java.lang.IllegalArgumentException
- ifclazz
isnull
-
findObjectConverterWriter
public ObjectConverter.Writer findObjectConverterWriter(java.lang.Class clazz)
-
findObjectConverter
private <T> T findObjectConverter(java.lang.Class clazz, java.util.Map<java.lang.Class<?>,T> from, java.util.Map<java.lang.Class<?>,T> cache)
-
isFailOnUnknown
public boolean isFailOnUnknown()
-
getVersion
public int getVersion()
-
isClose
public boolean isClose()
-
isSkipNull
public boolean isSkipNull()
-
isSkipEmptyArray
public boolean isSkipEmptyArray()
-
isTreatByteArrayAsBase64
public boolean isTreatByteArrayAsBase64()
-
isTreatByteArrayAsBase64URL
public boolean isTreatByteArrayAsBase64URL()
-
isReadAttributeBeforeWrite
public boolean isReadAttributeBeforeWrite()
-
getAccessMode
public AccessMode getAccessMode()
-
getEncoding
public java.nio.charset.Charset getEncoding()
-
getAdapters
public LazyConverterMap getAdapters()
-
getReverseAdapters
public java.util.concurrent.ConcurrentMap<Adapter<?,?>,AdapterKey> getReverseAdapters()
-
getObjectConverterWriters
public java.util.Map<java.lang.Class<?>,ObjectConverter.Writer<?>> getObjectConverterWriters()
-
getObjectConverterReaders
public java.util.Map<java.lang.Class<?>,ObjectConverter.Reader<?>> getObjectConverterReaders()
-
getAttributeOrder
public java.util.Comparator<java.lang.String> getAttributeOrder()
-
isUseBigDecimalForFloats
public boolean isUseBigDecimalForFloats()
-
isDeduplicateObjects
public java.lang.Boolean isDeduplicateObjects()
-
isSupportEnumContainerDeserialization
public boolean isSupportEnumContainerDeserialization()
-
-