パッケージ jakarta.json

インターフェース JsonPointer


public interface JsonPointer

このインターフェースは、RFC 6901 で定義されている JSON ポインターの不変の実装を表します。

JSON ポインターは、ターゲット JsonValue に適用されると、ターゲット内の参照場所を定義します。

空の JSON ポインター文字列は、ターゲット自体への参照を定義します。

JSON ポインター文字列が空でない場合、'/' プレフィックストークンのシーケンスである必要があり、ターゲットは JsonArray または JsonObject のいずれかである必要があります。ターゲットが JsonArray の場合、ポインターは配列要素への参照を定義し、最後のトークンはインデックスを指定します。ターゲットが JsonObject の場合、ポインターは名前と値のペアへの参照を定義し、最後のトークンは名前を指定します。

メソッド getValue() は、参照された値を返します。メソッド add()replace()remove() は、RFC 6902 で指定された操作を実行します。

導入:
1.1
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    <T extends JsonStructure>
    T
    add(T target, JsonValue value)
    指定された target の参照された場所の値を指定された value で追加または置換します。
    boolean
    指定された target の参照された場所に値がある場合、true を返します。
    指定された target の参照された場所の値を返します。
    <T extends JsonStructure>
    T
    remove(T target)
    指定された target の参照位置の値を削除します。
    <T extends JsonStructure>
    T
    replace(T target, JsonValue value)
    指定された target 内の参照された場所の値を、指定された value で置き換えます。
    この JSON ポインターの文字列表現を返します。
  • メソッドの詳細

    • add

      <T extends JsonStructure> T add(T target, JsonValue value)
      指定された target の参照された場所の値を指定された value で追加または置換します。
      1. 参照がターゲット(空の JSON ポインター文字列)の場合、指定された target と同じ型である必要がある、指定された value が返されます。
      2. 参照が配列要素の場合、指定された value が参照されたインデックスで配列に挿入されます。現在その位置にある値と後続の値は、右にシフトされます(インデックスに 1 を加えます)。インデックスは 0 から始まります。参照が "-" で指定されている場合、またはインデックスが配列のサイズと等しい場合、値は配列に追加されます。
      3. 参照が JsonObject の名前と値のペアであり、参照される値が存在する場合、値は指定された value で置き換えられます。値が存在しない場合、新しい名前と値のペアがオブジェクトに追加されます。
      型パラメーター:
      T - ターゲット型。JsonValue のサブ型である必要があります
      パラメーター:
      target - この JsonPointer によって参照されるターゲット
      value - 追加する値
      戻り値:
      値が追加された後の変換された target 
      例外:
      NullPointerExceptionSE - target が null の場合
      JsonException - 参照が配列要素であり、インデックスが範囲外(index < 0 || index > array size)である場合、またはポインターが存在しないオブジェクトまたは配列への参照を含む場合
    • remove

      <T extends JsonStructure> T remove(T target)
      指定された target の参照位置の値を削除します。
      型パラメーター:
      T - ターゲット型。JsonValue のサブ型である必要があります
      パラメーター:
      target - この JsonPointer によって参照されるターゲット
      戻り値:
      値が削除された後の変換された target 
      例外:
      NullPointerExceptionSE - target が null の場合
      JsonException - 参照される値が存在しない場合、または参照がターゲットである場合。
    • replace

      <T extends JsonStructure> T replace(T target, JsonValue value)
      指定された target 内の参照された場所の値を、指定された value で置き換えます。
      型パラメーター:
      T - ターゲット型。JsonValue のサブ型である必要があります
      パラメーター:
      target - この JsonPointer によって参照されるターゲット
      value - 参照された場所に格納される値
      戻り値:
      値が置き換えられた後の変換された target 
      例外:
      NullPointerExceptionSE - target が null の場合
      JsonException - 参照される値が存在しない場合、または参照がターゲットである場合。
    • containsValue

      boolean containsValue(JsonStructure target)
      指定された target の参照された場所に値がある場合、true を返します。
      パラメーター:
      target - この JsonPointer によって参照されるターゲット
      戻り値:
      true (このポインターが指定された target の値を指す場合)。
    • getValue

      JsonValue getValue(JsonStructure target)
      指定された target の参照された場所の値を返します。
      パラメーター:
      target - この JsonPointer によって参照されるターゲット
      戻り値:
      ターゲットの参照値。
      例外:
      NullPointerExceptionSE - target が null の場合
      JsonException - 参照された値が存在しない場合
    • toString

      StringSE toString()
      この JSON ポインターの文字列表現を返します。返される値は、空の文字列または "/" プレフィックス付きトークンのシーケンスです。
      オーバーライド:
      クラス ObjectSEtoString 
      戻り値:
      有効なエスケープされた JSON ポインター文字列。