public abstract class MapperBuilder<M extends ObjectMapper,B extends MapperBuilder<M,B>> extends Object
ObjectMappers. Same can not be done with 2.10 for backwards-compatibility
 reasons; but we can offer sort of "fake" builder, which simply encapsulates
 configuration calls. The main (and only) point is to allow gradual upgrade.| Modifier | Constructor and Description | 
|---|---|
| protected  | MapperBuilder(M mapper) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected B | _this() | 
| B | activateDefaultTyping(PolymorphicTypeValidator subtypeValidator)Convenience method that is equivalent to calling | 
| B | activateDefaultTyping(PolymorphicTypeValidator subtypeValidator,
                     ObjectMapper.DefaultTyping dti)Convenience method that is equivalent to calling | 
| B | activateDefaultTyping(PolymorphicTypeValidator subtypeValidator,
                     ObjectMapper.DefaultTyping applicability,
                     JsonTypeInfo.As includeAs)Method for enabling automatic inclusion of type information, needed
 for proper deserialization of polymorphic types (unless types
 have been annotated with  JsonTypeInfo). | 
| B | activateDefaultTypingAsProperty(PolymorphicTypeValidator subtypeValidator,
                               ObjectMapper.DefaultTyping applicability,
                               String propertyName)Method for enabling automatic inclusion of type information -- needed
 for proper deserialization of polymorphic types (unless types
 have been annotated with  JsonTypeInfo) --
 using "As.PROPERTY" inclusion mechanism and specified property name
 to use for inclusion (default being "@class" since default type information
 always uses class name as type identifier) | 
| B | addHandler(DeserializationProblemHandler h)Method used for adding a  DeserializationProblemHandlerfor this
 builder, at the head of the list (meaning it has priority over handler
 registered earlier). | 
| B | addMixIn(Class<?> target,
        Class<?> mixinSource)Method to use for defining mix-in annotations to use for augmenting
 annotations that classes have, for purpose of configuration serialization
 and/or deserialization processing. | 
| B | addModule(Module module) | 
| B | addModules(Iterable<? extends Module> modules) | 
| B | addModules(Module... modules) | 
| B | annotationIntrospector(AnnotationIntrospector intr)Method for replacing  AnnotationIntrospectorused by the
 mapper instance to be built. | 
| M | build()Method to call to create actual mapper instance. | 
| B | clearProblemHandlers()Method that may be used to remove all  DeserializationProblemHandlers added
 to this builder (if any). | 
| B | configure(DeserializationFeature feature,
         boolean state) | 
| B | configure(JsonGenerator.Feature feature,
         boolean state) | 
| B | configure(JsonParser.Feature feature,
         boolean state) | 
| B | configure(MapperFeature feature,
         boolean state) | 
| B | configure(SerializationFeature feature,
         boolean state) | 
| B | configure(StreamReadFeature feature,
         boolean state) | 
| B | configure(StreamWriteFeature feature,
         boolean state) | 
| B | deactivateDefaultTyping()Method for disabling automatic inclusion of type information; if so, only
 explicitly annotated types (ones with
  JsonTypeInfo) will have
 additional embedded type information. | 
| B | defaultBase64Variant(Base64Variant v)Method that will configure default  Base64Variantthatbyte[]serializers and deserializers will use. | 
| B | defaultDateFormat(DateFormat df)Method for configuring the default  DateFormatto use when serializing time
 values as Strings, and deserializing from JSON Strings. | 
| B | defaultLeniency(Boolean b)Method for setting default Setter configuration, regarding things like
 merging, null-handling; used for properties for which there are
 no per-type or per-property overrides (via annotations or config overrides). | 
| B | defaultLocale(Locale locale)Method for overriding default locale to use for formatting. | 
| B | defaultMergeable(Boolean b)Method for setting default Setter configuration, regarding things like
 merging, null-handling; used for properties for which there are
 no per-type or per-property overrides (via annotations or config overrides). | 
| B | defaultPrettyPrinter(PrettyPrinter pp) | 
| B | defaultSetterInfo(JsonSetter.Value v) | 
| B | defaultTimeZone(TimeZone tz)Method for overriding default TimeZone to use for formatting. | 
| B | disable(DeserializationFeature... features) | 
| B | disable(JsonGenerator.Feature... features) | 
| B | disable(JsonParser.Feature... features) | 
| B | disable(MapperFeature... features) | 
| B | disable(SerializationFeature... features) | 
| B | disable(StreamReadFeature... features) | 
| B | disable(StreamWriteFeature... features) | 
| B | enable(DeserializationFeature... features) | 
| B | enable(JsonGenerator.Feature... features) | 
| B | enable(JsonParser.Feature... features) | 
| B | enable(MapperFeature... features) | 
| B | enable(SerializationFeature... features) | 
| B | enable(StreamReadFeature... features) | 
| B | enable(StreamWriteFeature... features) | 
| B | filterProvider(FilterProvider prov)Method for configuring this mapper to use specified  FilterProviderfor
 mapping Filter Ids to actual filter instances. | 
| B | findAndAddModules()Convenience method that is functionally equivalent to:
 
   addModules(builder.findModules());
 | 
| static List<Module> | findModules()Method for locating available methods, using JDK  ServiceLoaderfacility, along with module-provided SPI. | 
| static List<Module> | findModules(ClassLoader classLoader)Method for locating available methods, using JDK  ServiceLoaderfacility, along with module-provided SPI. | 
| B | handlerInstantiator(HandlerInstantiator hi)Method for configuring  HandlerInstantiatorto use for creating
 instances of handlers (such as serializers, deserializers, type and type
 id resolvers), given a class. | 
| B | injectableValues(InjectableValues v) | 
| boolean | isEnabled(DeserializationFeature f) | 
| boolean | isEnabled(JsonGenerator.Feature f) | 
| boolean | isEnabled(JsonParser.Feature f) | 
| boolean | isEnabled(MapperFeature f) | 
| boolean | isEnabled(SerializationFeature f) | 
| B | nodeFactory(JsonNodeFactory f) | 
| B | polymorphicTypeValidator(PolymorphicTypeValidator ptv)Method for assigning  PolymorphicTypeValidatorto use for validating
 subtypes when using Class name - based polymorphic deserialization
 using annotations (validator used with "Default Typing" is specified by
 passing inactivateDefaultTyping(PolymorphicTypeValidator)instead). | 
| B | propertyNamingStrategy(PropertyNamingStrategy s) | 
| B | registerSubtypes(Class<?>... subtypes) | 
| B | registerSubtypes(Collection<Class<?>> subtypes) | 
| B | registerSubtypes(NamedType... subtypes) | 
| B | serializationInclusion(JsonInclude.Include incl) | 
| B | serializerFactory(SerializerFactory f) | 
| TokenStreamFactory | streamFactory() | 
| B | subtypeResolver(SubtypeResolver r) | 
| B | typeFactory(TypeFactory f) | 
| B | visibility(PropertyAccessor forMethod,
          JsonAutoDetect.Visibility visibility) | 
| B | visibility(VisibilityChecker<?> vc) | 
protected final M extends ObjectMapper _mapper
protected MapperBuilder(M mapper)
public M build()
Implementation detail: in 2.10 (but not 3.x) underlying mapper is eagerly constructed when builder is constructed, and method simply returns that instance.
public boolean isEnabled(MapperFeature f)
public boolean isEnabled(DeserializationFeature f)
public boolean isEnabled(SerializationFeature f)
public boolean isEnabled(JsonParser.Feature f)
public boolean isEnabled(JsonGenerator.Feature f)
public TokenStreamFactory streamFactory()
public B enable(MapperFeature... features)
public B disable(MapperFeature... features)
public B configure(MapperFeature feature, boolean state)
public B enable(SerializationFeature... features)
public B disable(SerializationFeature... features)
public B configure(SerializationFeature feature, boolean state)
public B enable(DeserializationFeature... features)
public B disable(DeserializationFeature... features)
public B configure(DeserializationFeature feature, boolean state)
public B enable(JsonParser.Feature... features)
public B disable(JsonParser.Feature... features)
public B configure(JsonParser.Feature feature, boolean state)
public B enable(JsonGenerator.Feature... features)
public B disable(JsonGenerator.Feature... features)
public B configure(JsonGenerator.Feature feature, boolean state)
public B enable(StreamReadFeature... features)
public B disable(StreamReadFeature... features)
public B configure(StreamReadFeature feature, boolean state)
public B enable(StreamWriteFeature... features)
public B disable(StreamWriteFeature... features)
public B configure(StreamWriteFeature feature, boolean state)
public static List<Module> findModules()
ServiceLoader
 facility, along with module-provided SPI.
Note that method does not do any caching, so calls should be considered potentially expensive.
public static List<Module> findModules(ClassLoader classLoader)
ServiceLoader
 facility, along with module-provided SPI.
Note that method does not do any caching, so calls should be considered potentially expensive.
public B findAndAddModules()
   addModules(builder.findModules());
 As with findModules(), no caching is done for modules, so care
 needs to be taken to either create and share a single mapper instance;
 or to cache introspected set of modules.
public B annotationIntrospector(AnnotationIntrospector intr)
AnnotationIntrospector used by the
 mapper instance to be built.
 Note that doing this will replace the current introspector, which
 may lead to unavailability of core Jackson annotations.
 If you want to combine handling of multiple introspectors,
 have a look at AnnotationIntrospectorPair.AnnotationIntrospectorPairpublic B nodeFactory(JsonNodeFactory f)
public B typeFactory(TypeFactory f)
public B subtypeResolver(SubtypeResolver r)
public B visibility(VisibilityChecker<?> vc)
public B visibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility)
public B handlerInstantiator(HandlerInstantiator hi)
HandlerInstantiator to use for creating
 instances of handlers (such as serializers, deserializers, type and type
 id resolvers), given a class.hi - Instantiator to use; if null, use the default implementationpublic B propertyNamingStrategy(PropertyNamingStrategy s)
public B serializerFactory(SerializerFactory f)
public B filterProvider(FilterProvider prov)
FilterProvider for
 mapping Filter Ids to actual filter instances.
 Note that usually it is better to use method in ObjectWriter, but sometimes
 this method is more convenient. For example, some frameworks only allow configuring
 of ObjectMapper instances and not ObjectWriters.
public B defaultPrettyPrinter(PrettyPrinter pp)
public B injectableValues(InjectableValues v)
public B addHandler(DeserializationProblemHandler h)
DeserializationProblemHandler for this
 builder, at the head of the list (meaning it has priority over handler
 registered earlier).public B clearProblemHandlers()
DeserializationProblemHandlers added
 to this builder (if any).public B defaultSetterInfo(JsonSetter.Value v)
public B defaultMergeable(Boolean b)
public B defaultLeniency(Boolean b)
public B defaultDateFormat(DateFormat df)
DateFormat to use when serializing time
 values as Strings, and deserializing from JSON Strings.
 If you need per-request configuration, factory methods in
 ObjectReader and ObjectWriter instead.public B defaultTimeZone(TimeZone tz)
public B defaultLocale(Locale locale)
Locale.getDefault().public B defaultBase64Variant(Base64Variant v)
Base64Variant that
 byte[] serializers and deserializers will use.v - Base64 variant to usepublic B serializationInclusion(JsonInclude.Include incl)
public B addMixIn(Class<?> target, Class<?> mixinSource)
 Note that standard mixin handler implementations will only allow a single mix-in
 source class per target, so if there was a previous mix-in defined target it will
 be cleared. This also means that you can remove mix-in definition by specifying
 mixinSource of null
public B registerSubtypes(Collection<Class<?>> subtypes)
public B polymorphicTypeValidator(PolymorphicTypeValidator ptv)
PolymorphicTypeValidator to use for validating
 subtypes when using Class name - based polymorphic deserialization
 using annotations (validator used with "Default Typing" is specified by
 passing in activateDefaultTyping(PolymorphicTypeValidator) instead).
Validator will be called on validating types for which no default databind deserializer, or module-provided deserializer is found: typically this includes "POJO" (aka Bean) types, but not (for example) most container types.
public B activateDefaultTyping(PolymorphicTypeValidator subtypeValidator)
activateDefaultTyping(subtypeValidator, DefaultTyping.OBJECT_AND_NON_CONCRETE);
 NOTE: choice of PolymorphicTypeValidator to pass is critical for security
 as allowing all subtypes can be risky for untrusted content.
public B activateDefaultTyping(PolymorphicTypeValidator subtypeValidator, ObjectMapper.DefaultTyping dti)
activateDefaultTyping(subtypeValidator, dti, JsonTypeInfo.As.WRAPPER_ARRAY);
 NOTE: choice of PolymorphicTypeValidator to pass is critical for security
 as allowing all subtypes can be risky for untrusted content.
public B activateDefaultTyping(PolymorphicTypeValidator subtypeValidator, ObjectMapper.DefaultTyping applicability, JsonTypeInfo.As includeAs)
JsonTypeInfo).
 NOTE: use of JsonTypeInfo.As#EXTERNAL_PROPERTY NOT SUPPORTED;
 and attempts of do so will throw an IllegalArgumentException to make
 this limitation explicit.
 NOTE: choice of PolymorphicTypeValidator to pass is critical for security
 as allowing all subtypes can be risky for untrusted content.
applicability - Defines kinds of types for which additional type information
    is added; see ObjectMapper.DefaultTyping for more information.public B activateDefaultTypingAsProperty(PolymorphicTypeValidator subtypeValidator, ObjectMapper.DefaultTyping applicability, String propertyName)
JsonTypeInfo) --
 using "As.PROPERTY" inclusion mechanism and specified property name
 to use for inclusion (default being "@class" since default type information
 always uses class name as type identifier)
 NOTE: choice of PolymorphicTypeValidator to pass is critical for security
 as allowing all subtypes can be risky for untrusted content.
public B deactivateDefaultTyping()
JsonTypeInfo) will have
 additional embedded type information.protected final B _this()
Copyright © 2008–2019 FasterXML. All rights reserved.