Class 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.
    • Field Detail

      • 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
      • encoding

        private final java.nio.charset.Charset encoding
      • 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
      • 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
    • 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

      • 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()
      • findAdapter

        public Adapter findAdapter​(java.lang.reflect.Type aClass)
      • findObjectConverterReader

        public ObjectConverter.Reader findObjectConverterReader​(java.lang.Class clazz)
        Search for an ObjectConverter for the given class. If no ObjectConverter was found for the specific class, the whole type hierarchy will be scanned for a matching ObjectConverter. In case the given class implements more than on interfaces and for at least two we have configured an ObjectConverter the ObjectConverter for the first interface we get will be taken.
        Parameters:
        clazz - the Class
        Returns:
        the found ObjectConverter or null if no ObjectConverter has been found
        Throws:
        java.lang.IllegalArgumentException - if clazz is null
      • 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()
      • 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()