クラス JsonWriter.Member<T>

java.lang.ObjectSE
org.springframework.boot.json.JsonWriter.Member<T>
型パラメーター:
T - メンバー型
含まれているインターフェース:
JsonWriter<T>

public static final class JsonWriter.Member<T> extends ObjectSE
JSON を提供するメンバー。通常、メンバーは抽出された値に基づいて単一の名前 / 値のペアを提供します。また、using(...) メソッドのいずれかを使用して構成されている場合は、より複雑な JSON 構造を提供することもあります。

when(...) メソッドは、メンバーをフィルター処理する (JSON から完全に省略する) ために使用できます。as(Extractor) メソッドは、異なる型に適応するために使用できます。

導入:
3.4.0
作成者:
Phillip Webb, Moritz Halbritter
  • メソッドの詳細

    • whenNotNull

      public JsonWriter.Member<T> whenNotNull()
      このメンバーは、その値が null でない場合にのみ含めます。
      戻り値:
      さらに構成できる JsonWriter.Member
    • whenNotNull

      public JsonWriter.Member<T> whenNotNull(FunctionSE<@Nullable T, ?> extractor)
      抽出された値が null でない場合にのみ、このメンバーを含めます。
      パラメーター:
      extractor - テストする値を抽出するために使用される関数
      戻り値:
      さらに構成できる JsonWriter.Member
    • whenHasLength

      public JsonWriter.Member<T> whenHasLength()
      このメンバーは、null ではなく、長さがゼロでない toString() を持つ場合にのみ含めます。
      戻り値:
      さらに構成できる JsonWriter.Member
      関連事項:
    • whenNotEmpty

      public JsonWriter.Member<T> whenNotEmpty()
      このメンバーは空でない場合にのみ含めます (詳細については ObjectUtils.isEmpty(Object) を参照してください)。
      戻り値:
      さらに構成できる JsonWriter.Member
    • whenNot

      public JsonWriter.Member<T> whenNot(PredicateSE<@Nullable T> predicate)
      指定された述語が一致しない場合にのみ、このメンバーを含めます。
      パラメーター:
      predicate - テストする述語
      戻り値:
      さらに構成できる JsonWriter.Member
    • when

      public JsonWriter.Member<T> when(PredicateSE<? super @Nullable T> predicate)
      指定された述語が一致する場合にのみこのメンバーを含めます。
      パラメーター:
      predicate - テストする述語
      戻り値:
      さらに構成できる JsonWriter.Member
    • as

      public <R> JsonWriter.Member<R> as(JsonWriter.Extractor<T,R> extractor)
      指定された FunctionSE を適用して値を調整します。
      型パラメーター:
      R - 結果の型
      パラメーター:
      extractor - 値を適応させる JsonWriter.Extractor
      戻り値:
      さらに構成できる JsonWriter.Member
    • usingExtractedPairs

      public <E> JsonWriter.Member<T> usingExtractedPairs(BiConsumerSE<T, ConsumerSE<E>> elements, JsonWriter.PairExtractor<E> extractor)
      一連の要素から値を抽出して、JSON の名前と値のペアを追加します。通常は、Iterable.forEach(Consumer)SE 呼び出しで使用されます。例:
      members.add(Event::getTags).usingExtractedPairs(Iterable::forEach, pairExtractor);
      

      名前付きメンバーで使用すると、ペアは新しい JSON 値オブジェクトとして追加されます。

      {
        "name": {
          "p1": 1,
          "p2": 2
        }
      }
      
      名前のないメンバーで使用すると、ペアは既存の JSON オブジェクトに追加されます。
      {
        "p1": 1,
        "p2": 2
      }
      
      型パラメーター:
      E - 要素型
      パラメーター:
      elements - 要素を提供するために使用されるコールバック
      extractor - 名前 / 値のペアを抽出するために使用される JsonWriter.PairExtractor
      戻り値:
      さらに構成できる JsonWriter.Member
      関連事項:
    • usingExtractedPairs

      public <E,N,V> JsonWriter.Member<T> usingExtractedPairs(BiConsumerSE<T, ConsumerSE<E>> elements, FunctionSE<E,N> nameExtractor, FunctionSE<E,V> valueExtractor)
      一連の要素から値を抽出して、JSON の名前と値のペアを追加します。通常は、Iterable.forEach(Consumer)SE 呼び出しで使用されます。例:
      members.add(Event::getTags).usingExtractedPairs(Iterable::forEach, Tag::getName, Tag::getValue);
      

      名前付きメンバーで使用すると、ペアは新しい JSON 値オブジェクトとして追加されます。

      {
        "name": {
          "p1": 1,
          "p2": 2
        }
      }
      
      名前のないメンバーで使用すると、ペアは既存の JSON オブジェクトに追加されます。
      {
        "p1": 1,
        "p2": 2
      }
      
      型パラメーター:
      E - 要素型
      N - 名前型
      V - 値の型
      パラメーター:
      elements - 要素を提供するために使用されるコールバック
      nameExtractor - 名前を抽出するために使用された FunctionSE
      valueExtractor - FunctionSE は値を抽出するために使用される
      戻り値:
      さらに構成できる JsonWriter.Member
      関連事項:
    • usingPairs

      public <N,V> JsonWriter.Member<T> usingPairs(BiConsumerSE<T, BiConsumerSE<N,V>> pairs)
      JSON の名前 / 値のペアを追加します。通常は Map.forEach(BiConsumer)SE 呼び出しで使用されます。例:
      members.add(Event::getLabels).usingPairs(Map::forEach);
      

      名前付きメンバーで使用すると、ペアは新しい JSON 値オブジェクトとして追加されます。

      {
        "name": {
          "p1": 1,
          "p2": 2
        }
      }
      
      名前のないメンバーで使用すると、ペアは既存の JSON オブジェクトに追加されます。
      {
        "p1": 1,
        "p2": 2
      }
      
      型パラメーター:
      N - 名前型
      V - 値の型
      パラメーター:
      pairs - ペアを提供するために使用されるコールバック
      戻り値:
      さらに構成できる JsonWriter.Member
      関連事項:
    • usingMembers

      public JsonWriter.Member<T> usingMembers(ConsumerSE<JsonWriter.Members<T>> members)
      さらなる JsonWriter.Members 構成に基づいて JSON を追加します。例:
      members.add(User::getName).usingMembers((personMembers) -> {
          personMembers.add("first", Name::first);
          personMembers.add("last", Name::last);
      });
      

      名前付きメンバーで使用すると、結果は新しい JSON 値オブジェクトとして追加されます。

      {
        "name": {
          "first": "Jane",
          "last": "Doe"
        }
      }
      
      名前のないメンバーで使用すると、結果は既存の JSON オブジェクトに追加されます。
      {
        "first": "John",
        "last": "Doe"
      }
      
      パラメーター:
      members - メンバーを設定するためのコールバック
      戻り値:
      さらに構成できる JsonWriter.Member
      関連事項:
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString