クラス JacksonHashMapper
java.lang.ObjectSE
org.springframework.data.redis.hash.JacksonHashMapper
- 実装済みのインターフェース一覧:
HashMapper<ObjectSE,StringSE, ObjectSE>
平坦化を可能にする
ObjectMapper ベースの HashMapper 実装。以下のような Address を持つエンティティ Person が与えられると、フラット化はすべてのネストされたプロパティの個別のハッシュエントリを作成し、可能な限り複雑な型を単純な型に解決します。 作成は、builder() を使用して構成し、Jackson 2 互換モードを有効にするか (Jackson 2 から既存のデータを移行する場合)、カスタム MapperBuilder コンフィギュレーターをアタッチすることができます。
デフォルトでは、JSON マッピングはデフォルトの型付けを使用します。不要な型のインスタンス化を防ぐため、適切な PolymorphicTypeValidator を設定してください。
フラット化では、すべてのプロパティ名が JSON パスに干渉しないようにする必要があります。マップキーで、またはプロパティ名としてドットまたは括弧を使用することは、フラット化を使用してサポートされていません。結果のハッシュをオブジェクトにマップして戻すことはできません。
サンプル
class Person {
String firstname;
String lastname;
Address address;
Date date;
LocalDateTime localDateTime;
}
class Address {
String city;
String country;
}
標準
| ハッシュフィールド | 値 |
|---|---|
| ファーストネーム | ジョン |
| 苗字 | 雪 |
| アドレス | { " 市 ": 「Castle ブラック」、「カントリー」: " 北 " } |
| 日付 | 1561543964015 |
| localDateTime | 2018-01-02T12:13:14 |
フラット
| ハッシュフィールド | 値 |
|---|---|
| ファーストネーム | ジョン |
| 苗字 | 雪 |
| address.city | Castle ブラック |
| address.country | 北 |
| 日付 | 1561543964015 |
| localDateTime | 2018-01-02T12:13:14 |
- 導入:
- 4.0
- 作成者:
- Christoph Strobl, Mark Paluch
ネストされたクラスの概要
ネストされたクラス修飾子と型クラス説明static classJacksonHashMapper.JacksonHashMapperBuilder<B extends tools.jackson.databind.cfg.MapperBuilder<? extends tools.jackson.databind.ObjectMapper, ? extends tools.jackson.databind.cfg.MapperBuilder<?,?>>> JacksonHashMapperインスタンスを作成するビルダー。コンストラクター概要
コンストラクターコンストラクター説明JacksonHashMapper(tools.jackson.databind.ObjectMapper mapper, boolean flatten) カスタム JacksonObjectMapperで初期化された新しいJacksonHashMapperを作成します。方法の概要
修飾子と型メソッド説明static JacksonHashMapper.JacksonHashMapperBuilder<tools.jackson.databind.json.JsonMapper.Builder> builder()JsonMapperを使用してJacksonHashMapperインスタンスを構築するためのJacksonHashMapper.JacksonHashMapperBuilderを作成します。static <B extends tools.jackson.databind.cfg.MapperBuilder<? extends tools.jackson.databind.ObjectMapper, ? extends tools.jackson.databind.cfg.MapperBuilder<?,?>>>
JacksonHashMapper.JacksonHashMapperBuilder<B> builder(SupplierSE<B> builderFactory) JacksonHashMapperを構成および構築するために新しいJacksonHashMapper.JacksonHashMapperBuilderを作成します。static JacksonHashMappercreate(ConsumerSE<JacksonHashMapper.JacksonHashMapperBuilder<tools.jackson.databind.json.JsonMapper.Builder>> configurer) configurerを介してさらに構成できるようにする新しいJacksonHashMapperを作成します。static JacksonHashMapperプロパティにドット表記を使用して平坦化されたJacksonHashMapperを返します。hash(マップ)をオブジェクトに変換します。static JacksonHashMapperJackson によって作成された階層ノード構造を保持するJacksonHashMapperを返します。static voidpreconfigure(tools.jackson.databind.cfg.MapperBuilder<? extends tools.jackson.databind.ObjectMapper, ? extends tools.jackson.databind.cfg.MapperBuilder<?, ?>> builder, boolean jackson2Compatibility) 指定されたMapperBuilderを事前構成して、HashMapper での使用に適した JacksonObjectMapperを作成します。objectを Redis ハッシュで使用できるマップに変換します。
コンストラクターの詳細
JacksonHashMapper
public JacksonHashMapper(tools.jackson.databind.ObjectMapper mapper, boolean flatten) カスタム JacksonObjectMapperで初期化された新しいJacksonHashMapperを作成します。
メソッドの詳細
flattening
プロパティにドット表記を使用して平坦化されたJacksonHashMapperを返します。- 戻り値:
- 平坦化された
JacksonHashMapperインスタンス。
hierarchical
Jackson によって作成された階層ノード構造を保持するJacksonHashMapperを返します。- 戻り値:
- 階層的な
JacksonHashMapperインスタンス。
create
public static JacksonHashMapper create(ConsumerSE<JacksonHashMapper.JacksonHashMapperBuilder<tools.jackson.databind.json.JsonMapper.Builder>> configurer) configurerを介してさらに構成できるようにする新しいJacksonHashMapperを作成します。- パラメーター:
configurer-JacksonHashMapper.JacksonHashMapperBuilderのコンフィギュレーター。- 戻り値:
- 新しい
JacksonHashMapperインスタンス。
builder
public static JacksonHashMapper.JacksonHashMapperBuilder<tools.jackson.databind.json.JsonMapper.Builder> builder()JsonMapperを使用してJacksonHashMapperインスタンスを構築するためのJacksonHashMapper.JacksonHashMapperBuilderを作成します。- 戻り値:
JacksonHashMapperインスタンスを構築するためのJacksonHashMapper.JacksonHashMapperBuilder。
builder
public static <B extends tools.jackson.databind.cfg.MapperBuilder<? extends tools.jackson.databind.ObjectMapper, ? extends tools.jackson.databind.cfg.MapperBuilder<?,?>>> JacksonHashMapper.JacksonHashMapperBuilder<B> builder(SupplierSE<B> builderFactory) JacksonHashMapperを構成および構築するために新しいJacksonHashMapper.JacksonHashMapperBuilderを作成します。- 型パラメーター:
B- 使用するMapperBuilderの型。- パラメーター:
builderFactory-ObjectMapper用のMapperBuilderを作成するためのファクトリです。- 戻り値:
- 新しい
JacksonHashMapper.JacksonHashMapperBuilder。
preconfigure
public static void preconfigure(tools.jackson.databind.cfg.MapperBuilder<? extends tools.jackson.databind.ObjectMapper, ? extends tools.jackson.databind.cfg.MapperBuilder<?, ?>> builder, boolean jackson2Compatibility) 指定されたMapperBuilderを事前構成して、HashMapper での使用に適した JacksonObjectMapperを作成します。- パラメーター:
builder-MapperBuilderを事前設定します。jackson2Compatibility-Jackson2HashMapperによって書き込まれた値を読み取るために Jackson 2.x 互換性設定を適用するかどうか。
toHash
インターフェースからコピーされた説明:HashMapperobjectを Redis ハッシュで使用できるマップに変換します。- 次で指定:
- インターフェース
HashMapper<ObjectSE,のStringSE, ObjectSE> toHash - パラメーター:
source-- 戻り値:
fromHash
インターフェースからコピーされた説明:HashMapperhash(マップ)をオブジェクトに変換します。- 次で指定:
- インターフェース
HashMapper<ObjectSE,のStringSE, ObjectSE> fromHash - パラメーター:
hash-- 戻り値: