java.lang.Object
org.apache.johnzon.mapper.MapperBuilder
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AccessModeprivate Stringprivate LazyConverterMapprivate Comparator<String>private booleanprivate intprivate Stringprivate jakarta.json.JsonBuilderFactoryprivate booleanprivate final Collection<Closeable>private Booleanprivate Stringprivate Charsetprivate Function<Class<?>,MapperConfig.CustomEnumConverter<?>> private booleanprivate jakarta.json.stream.JsonGeneratorFactoryprivate Function<MapperConfig,Mappings> private intprivate intprivate Map<Class<?>,ObjectConverter.Reader<?>> private Map<Class<?>,ObjectConverter.Writer<?>> private booleanprivate booleanprivate jakarta.json.spi.JsonProviderprivate booleanprivate jakarta.json.JsonReaderFactoryprivate SerializeValueFilterprivate booleanprivate booleanprivate booleanprivate intprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddAdapter(Type from, Type to, Adapter<?, ?> adapter) addAdapter(Adapter<?, ?> converter) addCloseable(Closeable closeable) addConverter(Type clazz, Converter<?> converter) Deprecated.<T> MapperBuilderaddObjectConverter(Class<T> targetType, MapperConverter objectConverter) addPropertyEditor(Class<?> clazz, Converter<?> converter) Deprecated.build()setAccessMode(AccessMode mode) setAccessModeName(String mode) setAdaptersDateTimeFormatter(DateTimeFormatter dateTimeFormatter) setAdaptersDateTimeFormatterString(String dateTimeFormatter) setAttributeOrder(Comparator<String> attributeOrder) setAutoAdjustStringBuffers(boolean autoAdjustStringBuffers) setBufferSize(int bufferSize) setBufferStrategy(String bufferStrategy) setBuilderFactory(jakarta.json.JsonBuilderFactory builderFactory) setDeduplicateObjects(Boolean deduplicateObjects) If any non-primitive Java Object gets serialised more than just one time, then we write a JsonPointer to the first occurrence instead.setDoCloseOnStreams(boolean doCloseOnStreams) setEncoding(String encoding) voidsetEnumConverterFactory(Function<Class<?>, MapperConfig.CustomEnumConverter<?>> enumConverterFactory) setFailOnUnknownProperties(boolean failOnUnknownProperties) setGeneratorFactory(jakarta.json.stream.JsonGeneratorFactory generatorFactory) setIgnoreFieldsForType(Class<?> type, String... fields) setInterfaceImplementationMapping(Map<Class<?>, Class<?>> interfaceImplementationMapping) setMappingsFactory(Function<MapperConfig, Mappings> mappingsFactory) setMaxBigDecimalScale(int maxBigDecimalScale) setMaxSize(int size) setPolymorphicDeserializationPredicate(Predicate<Class<?>> deserializationPredicate) setPolymorphicDiscriminatorMapper(Function<Class<?>, String> discriminatorMapper) setPolymorphicSerializationPredicate(Predicate<Class<?>> serializationPredicate) setPolymorphicTypeLoader(Function<String, Class<?>> typeLoader) setPretty(boolean pretty) setPrimitiveConverters(boolean val) setProvider(jakarta.json.spi.JsonProvider provider) setReadAttributeBeforeWrite(boolean readAttributeBeforeWrite) setReaderFactory(jakarta.json.JsonReaderFactory readerFactory) setSerializeValueFilter(SerializeValueFilter serializeValueFilter) setSkipAccessModeWrapper(boolean skipAccessModeWrapper) setSkipEmptyArray(boolean skipEmptyArray) setSkipNull(boolean skipNull) setSnippetMaxLength(int snippetMaxLength) setSupportConstructors(boolean supportConstructors) setSupportEnumContainerDeserialization(boolean supportEnumContainerDeserialization) setSupportGetterForCollections(boolean useGetterForCollections) setSupportHiddenAccess(boolean supportHiddenAccess) setSupportsComments(boolean supportsComments) setTreatByteArrayAsBase64(boolean treatByteArrayAsBase64) setTreatByteArrayAsBase64URL(boolean treatByteArrayAsBase64URL) setUseBigDecimalForFloats(boolean useBigDecimalForFloats) setUseBigDecimalForObjectNumbers(boolean value) setUseBigDecimalStringAdapter(boolean convertBigDecimalToString) setUseBigIntegerStringAdapter(boolean convertBigIntegerToString) setUseJsRange(boolean value) setUseShortISO8601Format(boolean useShortISO8601Format) setVersion(int version)
-
Field Details
-
readerFactory
private jakarta.json.JsonReaderFactory readerFactory -
generatorFactory
private jakarta.json.stream.JsonGeneratorFactory generatorFactory -
provider
private jakarta.json.spi.JsonProvider provider -
builderFactory
private jakarta.json.JsonBuilderFactory builderFactory -
supportHiddenAccess
private boolean supportHiddenAccess -
maxSize
private int maxSize -
bufferSize
private int bufferSize -
bufferStrategy
-
autoAdjustStringBuffers
private boolean autoAdjustStringBuffers -
attributeOrder
-
supportConstructors
private boolean supportConstructors -
useGetterForCollections
private boolean useGetterForCollections -
accessModeName
-
pretty
private boolean pretty -
closeables
-
version
private int version -
snippetMaxLength
private int snippetMaxLength -
close
private boolean close -
skipNull
private boolean skipNull -
skipEmptyArray
private boolean skipEmptyArray -
supportsComments
private boolean supportsComments -
treatByteArrayAsBase64
private boolean treatByteArrayAsBase64 -
treatByteArrayAsBase64URL
private boolean treatByteArrayAsBase64URL -
readAttributeBeforeWrite
private boolean readAttributeBeforeWrite -
accessMode
-
encoding
-
adapters
-
objectConverterReaders
-
objectConverterWriters
-
ignoredForFields
-
interfaceImplementationMapping
-
fieldFilteringStrategy
-
primitiveConverters
private boolean primitiveConverters -
failOnUnknownProperties
private boolean failOnUnknownProperties -
serializeValueFilter
-
useBigDecimalForFloats
private boolean useBigDecimalForFloats -
deduplicateObjects
-
useJsRange
private boolean useJsRange -
useBigDecimalForObjectNumbers
private boolean useBigDecimalForObjectNumbers -
maxBigDecimalScale
private int maxBigDecimalScale -
supportEnumContainerDeserialization
private boolean supportEnumContainerDeserialization -
enumConverterFactory
-
skipAccessModeWrapper
private boolean skipAccessModeWrapper -
mappingsFactory
-
typeLoader
-
discriminatorMapper
-
deserializationPredicate
-
serializationPredicate
-
discriminator
-
-
Constructor Details
-
MapperBuilder
public MapperBuilder()
-
-
Method Details
-
build
-
setEnumConverterFactory
public void setEnumConverterFactory(Function<Class<?>, MapperConfig.CustomEnumConverter<?>> enumConverterFactory) -
getAdapters
-
setSnippetMaxLength
-
setUseShortISO8601Format
-
setAdaptersDateTimeFormatter
-
setUseBigIntegerStringAdapter
-
setUseBigDecimalStringAdapter
-
setAdaptersDateTimeFormatterString
-
setInterfaceImplementationMapping
public MapperBuilder setInterfaceImplementationMapping(Map<Class<?>, Class<?>> interfaceImplementationMapping) -
setFailOnUnknownProperties
-
addCloseable
-
setIgnoreFieldsForType
-
setSupportGetterForCollections
-
setSupportsComments
-
setPretty
-
setBufferSize
-
setBufferStrategy
-
setMaxSize
-
setAccessMode
-
setAccessModeName
-
setAccessModeFieldFilteringStrategy
public MapperBuilder setAccessModeFieldFilteringStrategy(BaseAccessMode.FieldFilteringStrategy strategy) -
setAccessModeFieldFilteringStrategyName
-
setSupportHiddenAccess
-
setAttributeOrder
-
setReaderFactory
-
setGeneratorFactory
-
setProvider
-
setBuilderFactory
-
setDoCloseOnStreams
-
addPropertyEditor
Deprecated. -
addConverter
Deprecated. -
addAdapter
-
addAdapter
-
setVersion
-
setSkipNull
-
setSkipEmptyArray
-
setTreatByteArrayAsBase64
-
setTreatByteArrayAsBase64URL
-
setSupportConstructors
-
setEncoding
-
setReadAttributeBeforeWrite
-
addObjectConverter
-
setPrimitiveConverters
-
setSerializeValueFilter
-
setUseBigDecimalForFloats
-
setAutoAdjustStringBuffers
-
setDeduplicateObjects
If any non-primitive Java Object gets serialised more than just one time, then we write a JsonPointer to the first occurrence instead. This will effectively also avoid endless loops in data with cycles! An example: Assume you have a Person with a name 'Sarah' and her daughter, a Person with the name 'Clemens' both stored in a JSON array. Given the Java Code:Person sarah = new Person("Sarah"); Person clemens = new Person("Clemens"); clemens.setMother(sarah); Person[] family = new Person[]{sarah, clemens};Transformed to JSON this will now look like the following:[{"name":"Sarah"},{"name":"Clemens","mother":"/0"}]That means instead of serialising 'mother' as full object we will now only store a JsonPointer to the Person 'Sarah'. When deserialised back Johnzon will automatically de-reference the JsonPointer back to the correct instance. Possible values:true: deduplicate objectsfalse: do not deduplicate objectsnull: dedupliate based on theJohnzonDeduplicateObjectsannotation. This is the default
-
setUseJsRange
-
setUseBigDecimalForObjectNumbers
-
setMaxBigDecimalScale
-
setSupportEnumContainerDeserialization
public MapperBuilder setSupportEnumContainerDeserialization(boolean supportEnumContainerDeserialization) -
setPolymorphicSerializationPredicate
public MapperBuilder setPolymorphicSerializationPredicate(Predicate<Class<?>> serializationPredicate) -
setPolymorphicDeserializationPredicate
public MapperBuilder setPolymorphicDeserializationPredicate(Predicate<Class<?>> deserializationPredicate) -
setPolymorphicDiscriminatorMapper
public MapperBuilder setPolymorphicDiscriminatorMapper(Function<Class<?>, String> discriminatorMapper) -
setPolymorphicTypeLoader
-
setPolymorphicDiscriminator
-
setSkipAccessModeWrapper
-
setMappingsFactory
-