パッケージ 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
    関連事項:
    RFC 6901 , RFC 6902
    • メソッドの詳細

      • 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 ポインター文字列。