public class Jackson2ObjectMapperBuilder extends ObjectSE
ObjectMapper
インスタンスを作成するために使用されるビルダー。Jackson のデフォルトプロパティを次のようにカスタマイズします。
また、次の既知のモジュールがクラスパスで検出された場合、自動的に登録します。
Optional
SE のような他の Java 8 型のサポート Spring 5.3 以降、Jackson 2.9 から 2.12 と互換性があります。
build()
, configure(ObjectMapper)
, Jackson2ObjectMapperFactoryBean
コンストラクターと説明 |
---|
Jackson2ObjectMapperBuilder() |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public Jackson2ObjectMapperBuilder createXmlMapper(boolean createXmlMapper)
true
に設定すると、デフォルトのコンストラクターを使用して XmlMapper
が作成されます。これは、configure(com.fasterxml.jackson.databind.ObjectMapper)
コールではなく、build()
コールにのみ適用されます。public Jackson2ObjectMapperBuilder factory(JsonFactory factory)
ObjectMapper
インスタンスの作成に使用される JsonFactory
を定義します。public Jackson2ObjectMapperBuilder dateFormat(DateFormatSE dateFormat)
DateFormat
SE で日付 / 時刻の形式を定義します。 メモ: このプロパティを設定すると、Jackson のスレッドセーフルールに従って、公開された ObjectMapper
が非スレッドセーフになります。
public Jackson2ObjectMapperBuilder simpleDateFormat(StringSE format)
SimpleDateFormat
SE を使用して日付 / 時刻形式を定義します。 メモ: このプロパティを設定すると、Jackson のスレッドセーフルールに従って、公開された ObjectMapper
が非スレッドセーフになります。
public Jackson2ObjectMapperBuilder locale(LocaleSE locale)
Locale
SE をオーバーライドします。使用されるデフォルト値は Locale.getDefault()
SE です。public Jackson2ObjectMapperBuilder locale(StringSE localeString)
Locale
SE をオーバーライドします。使用されるデフォルト値は Locale.getDefault()
SE です。localeString
- 文字列表現としてのロケール IDpublic Jackson2ObjectMapperBuilder timeZone(TimeZoneSE timeZone)
TimeZone
SE をオーバーライドします。使用されるデフォルト値は UTC です(ローカルタイムゾーンではありません)。public Jackson2ObjectMapperBuilder timeZone(StringSE timeZoneString)
TimeZone
SE をオーバーライドします。使用されるデフォルト値は UTC です(ローカルタイムゾーンではありません)。timeZoneString
- 文字列表現としてのゾーン IDpublic Jackson2ObjectMapperBuilder annotationIntrospector(AnnotationIntrospector annotationIntrospector)
AnnotationIntrospector
を設定します。public Jackson2ObjectMapperBuilder annotationIntrospector(FunctionSE<AnnotationIntrospector,AnnotationIntrospector> pairingFunction)
annotationIntrospector(AnnotationIntrospector)
の代替。AnnotationIntrospector.pair(AnnotationIntrospector, AnnotationIntrospector)
経由。pairingFunction
- 現在設定されているイントロスペクター(おそらく null
)に適用する関数。関数の結果が新しいイントロスペクターになります。public Jackson2ObjectMapperBuilder propertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy)
PropertyNamingStrategy
を指定して、ObjectMapper
を構成します。public Jackson2ObjectMapperBuilder defaultTyping(TypeResolverBuilder<?> typeResolverBuilder)
TypeResolverBuilder
を指定します。public Jackson2ObjectMapperBuilder serializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include inclusion)
JsonInclude.Include
public Jackson2ObjectMapperBuilder serializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Value serializationInclusion)
JsonInclude.Value
public Jackson2ObjectMapperBuilder filters(FilterProvider filters)
@JsonFilter
アノテーション付き POJO をサポートするために使用するグローバルフィルターを設定します。MappingJacksonValue.setFilters(FilterProvider)
public Jackson2ObjectMapperBuilder mixIn(ClassSE<?> target, ClassSE<?> mixinSource)
target
- アノテーションが効果的にオーバーライドされるクラス(またはインターフェース)mixinSource
- そのアノテーションが値としてターゲットのアノテーションに「追加」されるクラス(またはインターフェース)ObjectMapper.addMixIn(Class, Class)
public Jackson2ObjectMapperBuilder mixIns(MapSE<ClassSE<?>,ClassSE<?>> mixIns)
mixIns
- アノテーションがキーとして効果的にオーバーライドされるターゲットクラス(またはインターフェース)と、アノテーションが値としてターゲットのアノテーションに「追加」されるミックスインクラス(またはインターフェース)を持つエントリのマップ。ObjectMapper.addMixIn(Class, Class)
public Jackson2ObjectMapperBuilder serializers(JsonSerializer<?>... serializers)
JsonSerializer.handledType()
によって返される型用に登録されますが、null
であってはなりません。public Jackson2ObjectMapperBuilder serializerByType(ClassSE<?> type, JsonSerializer<?> serializer)
serializers(JsonSerializer...)
public Jackson2ObjectMapperBuilder serializersByType(MapSE<ClassSE<?>,JsonSerializer<?>> serializers)
public Jackson2ObjectMapperBuilder deserializers(JsonDeserializer<?>... deserializers)
JsonDeserializer.handledType()
によって返される型に対して登録されますが、null
であってはなりません。deserializersByType(Map)
public Jackson2ObjectMapperBuilder deserializerByType(ClassSE<?> type, JsonDeserializer<?> deserializer)
public Jackson2ObjectMapperBuilder deserializersByType(MapSE<ClassSE<?>,JsonDeserializer<?>> deserializers)
public Jackson2ObjectMapperBuilder autoDetectFields(boolean autoDetectFields)
MapperFeature.AUTO_DETECT_FIELDS
オプションのショートカット。public Jackson2ObjectMapperBuilder autoDetectGettersSetters(boolean autoDetectGettersSetters)
public Jackson2ObjectMapperBuilder defaultViewInclusion(boolean defaultViewInclusion)
MapperFeature.DEFAULT_VIEW_INCLUSION
オプションのショートカット。public Jackson2ObjectMapperBuilder failOnUnknownProperties(boolean failOnUnknownProperties)
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
オプションのショートカット。public Jackson2ObjectMapperBuilder failOnEmptyBeans(boolean failOnEmptyBeans)
SerializationFeature.FAIL_ON_EMPTY_BEANS
オプションのショートカット。public Jackson2ObjectMapperBuilder indentOutput(boolean indentOutput)
SerializationFeature.INDENT_OUTPUT
オプションのショートカット。public Jackson2ObjectMapperBuilder defaultUseWrapper(boolean defaultUseWrapper)
XmlMapper
のみに適用されます))。public Jackson2ObjectMapperBuilder visibility(com.fasterxml.jackson.annotation.PropertyAccessor accessor, com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility visibility)
PropertyAccessor
, JsonAutoDetect.Visibility
public Jackson2ObjectMapperBuilder featuresToEnable(ObjectSE... featuresToEnable)
public Jackson2ObjectMapperBuilder featuresToDisable(ObjectSE... featuresToDisable)
public Jackson2ObjectMapperBuilder modules(Module... modules)
ObjectMapper
に登録する 1 つ以上のモジュールを指定します。複数の呼び出しは加算的ではなく、最後の呼び出しは登録するモジュールを定義します。
メモ: これが設定されている場合、モジュールの検出は行われません -Jackson でも Spring でもありません(findModulesViaServiceLoader
を参照)。結果として、ここで空のリストを指定すると、あらゆる種類のモジュール検出が抑制されます。
これまたは modulesToInstall(com.fasterxml.jackson.databind.Module...)
の両方ではなく、いずれかを指定します。
modules(List)
, Module
public Jackson2ObjectMapperBuilder modules(ListSE<Module> modules)
ObjectMapper
に登録するモジュールの完全なリストを設定します。複数の呼び出しは加算的ではなく、最後の呼び出しは登録するモジュールを定義します。
メモ: これが設定されている場合、モジュールの検出は行われません -Jackson でも Spring でもありません(findModulesViaServiceLoader
を参照)。結果として、ここで空のリストを指定すると、あらゆる種類のモジュール検出が抑制されます。
これまたは modulesToInstall(com.fasterxml.jackson.databind.Module...)
の両方ではなく、いずれかを指定します。
modules(Module...)
, Module
public Jackson2ObjectMapperBuilder modulesToInstall(Module... modules)
ObjectMapper
に登録する 1 つ以上のモジュールを指定します。複数の呼び出しは加算的ではなく、最後の呼び出しは登録するモジュールを定義します。
ここで指定されたモジュールは、Spring による JSR-310 および Joda-Time の自動検出、または Jackson によるモジュールの検出(findModulesViaServiceLoader
を参照)後に登録され、最終的にそれらの構成をオーバーライドできます。
これまたは modules(Module...)
の両方ではなく、いずれかを指定します。
modulesToInstall(Class...)
, Module
@SafeVarargsSE public final Jackson2ObjectMapperBuilder modulesToInstall(ClassSE<? extends Module>... modules)
ObjectMapper
に登録する 1 つ以上のモジュールをクラスごとに指定します。複数の呼び出しは加算的ではなく、最後の呼び出しは登録するモジュールを定義します。
ここで指定されたモジュールは、Spring による JSR-310 および Joda-Time の自動検出、または Jackson によるモジュールの検出(findModulesViaServiceLoader
を参照)後に登録され、最終的にそれらの構成をオーバーライドできます。
これまたは modules(Module...)
の両方ではなく、いずれかを指定します。
public Jackson2ObjectMapperBuilder findModulesViaServiceLoader(boolean findModules)
このモードが設定されていない場合、Spring の Jackson2ObjectMapperBuilder 自体は、クラスパス上で JSR-310 および Joda-Time サポートモジュールを見つけようとします。Java 8 および Joda-Time 自体がそれぞれ利用可能である場合。
public Jackson2ObjectMapperBuilder moduleClassLoader(ClassLoaderSE moduleClassLoader)
public Jackson2ObjectMapperBuilder handlerInstantiator(HandlerInstantiator handlerInstantiator)
JsonSerializer
、JsonDeserializer
、KeyDeserializer
、TypeResolverBuilder
および TypeIdResolver
)の構成をカスタマイズします。applicationContext(ApplicationContext)
public Jackson2ObjectMapperBuilder applicationContext(ApplicationContext applicationContext)
JsonSerializer
、JsonDeserializer
、KeyDeserializer
、TypeResolverBuilder
および TypeIdResolver
)をオートワイヤーするために、Spring ApplicationContext
を設定します。SpringHandlerInstantiator
public Jackson2ObjectMapperBuilder postConfigurer(ConsumerSE<ObjectMapper> configurer)
ObjectMapper
インスタンスに直接追加のカスタマイズを適用するオプション。configurer
- 適用するコンフィギュレーター。複数のコンフィギュレーターが登録されている場合、登録順に適用されます。public <T extends ObjectMapper> T build()
ObjectMapper
インスタンスを作成します。 ビルド操作ごとに、独立した ObjectMapper
インスタンスが生成されます。ビルダーの設定を変更して、その後のビルド操作で最新の設定に基づいて新しい ObjectMapper
を作成できます。
public void configure(ObjectMapper objectMapper)
ObjectMapper
インスタンスを構成します。これは、任意の数の ObjectMappers
に適用できます。objectMapper
- 設定する ObjectMapperpublic static Jackson2ObjectMapperBuilder json()
ObjectMapper
インスタンスを構築するには、Jackson2ObjectMapperBuilder
インスタンスを取得します。public static Jackson2ObjectMapperBuilder xml()
XmlMapper
インスタンスを構築するには、Jackson2ObjectMapperBuilder
インスタンスを取得します。public static Jackson2ObjectMapperBuilder smile()
ObjectMapper
インスタンスを構築するために、Jackson2ObjectMapperBuilder
インスタンスを取得してください。public static Jackson2ObjectMapperBuilder cbor()
Jackson2ObjectMapperBuilder
インスタンスを取得して、CBOR データ形式の ObjectMapper
インスタンスを構築します。