パッケージ jakarta.json.spi

クラス JsonProvider


  • public abstract class JsonProvider
    extends ObjectSE
    JSON 処理オブジェクトのサービスプロバイダー。

    このクラスのすべてのメソッドは、複数の並行スレッドで安全に使用できます。

    関連事項:
    ServiceLoaderSE
    • フィールドの詳細

      • JSONP_PROVIDER_FACTORY

        public static final StringSE JSONP_PROVIDER_FACTORY
        新しい JsonProvider オブジェクトを作成できるクラスの名前を含むプロパティの名前。
        関連事項:
        定数フィールド値
    • コンストラクターの詳細

      • JsonProvider

        protected JsonProvider()
        デフォルトコンストラクター。
    • メソッドの詳細

      • provider

        public static JsonProvider provider()
        JSON プロバイダーオブジェクトを作成します。実装の検出は次の手順で構成されます。
        1. システムプロパティ "jakarta.json.provider" が存在する場合、その値はプロバイダーファクトリクラスであると見なされます。ルックアップのこのフェーズでは、JsonProvider 実装の JVM ごとのオーバーライドを有効にします。
        2. プロバイダーは ServiceLoader.load(Class)SE メソッドを使用してロードされます。
        3. 上記のすべての手順が失敗した場合、残りの検索は指定されません。そうは言っても、推奨される動作は、ハードコードされたプラットフォームのデフォルトの Jakarta JSON Processing 実装を単純に探すことです。ルックアップのこのフェーズは、プラットフォームが最後の手段として独自の Jakarta JSON Processing 実装を行えるようにするためのものです。
        このメソッドの結果をキャッシュすることをお勧めします。
        戻り値:
        JSON プロバイダー
        関連事項:
        ServiceLoaderSE
      • createParser

        public abstract JsonParser createParser​(ReaderSE reader)
        文字ストリームから JSON パーサーを作成します。
        パラメーター:
        reader - JSON を読み取る i/o リーダー
        戻り値:
        JSON パーサー
      • createParser

        public abstract JsonParser createParser​(InputStreamSE in)
        指定されたバイトストリームから JSON パーサーを作成します。ストリームの文字エンコードは、RFC 7159 で定義されているように決定されます。
        パラメーター:
        in - JSON が読み取られる I/O ストリーム
        戻り値:
        JSON パーサー
        例外:
        JsonException - エンコードを判別できない場合、または入出力エラーの場合 (IOException は JsonException の原因となる)
      • createParserFactory

        public abstract JsonParserFactory createParserFactory​(MapSE<StringSE,​?> config)
        JsonParser インスタンスを作成するためのパーサーファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON パーサーを構成するためのプロバイダー固有のプロパティのマップ。マップは空または null の可能性があります
        戻り値:
        JSON パーサーファクトリ
      • createGenerator

        public abstract JsonGenerator createGenerator​(WriterSE writer)
        JSON テキストを文字ストリームに書き込むための JSON ジェネレーターを作成します。
        パラメーター:
        writer - JSON が書き込まれる I/O ライター
        戻り値:
        JSON ジェネレーター
      • createGenerator

        public abstract JsonGenerator createGenerator​(OutputStreamSE out)
        JSON テキストをバイトストリームに書き込むための JSON ジェネレーターを作成します。
        パラメーター:
        out - JSON が書き込まれる I/O ストリーム
        戻り値:
        JSON ジェネレーター
      • createGeneratorFactory

        public abstract JsonGeneratorFactory createGeneratorFactory​(MapSE<StringSE,​?> config)
        JsonGenerator インスタンスを作成するためのジェネレーターファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON ジェネレーターを構成するためのプロバイダー固有のプロパティのマップ。マップは空または null の可能性があります
        戻り値:
        JSON ジェネレーターファクトリ
      • createReader

        public abstract JsonReader createReader​(ReaderSE reader)
        文字ストリームから JSON リーダーを作成します。
        パラメーター:
        reader - JSON を読み取るリーダー
        戻り値:
        JSON リーダー
      • createReader

        public abstract JsonReader createReader​(InputStreamSE in)
        バイトストリームから JSON リーダーを作成します。ストリームの文字エンコーディングは、RFC 7159 に従って決定されます。
        パラメーター:
        in - JSON を読み取るバイトストリーム
        戻り値:
        JSON リーダー
      • createWriter

        public abstract JsonWriter createWriter​(WriterSE writer)
        指定された文字ストリームに JSON object または array 構造を書き込む JSON ライターを作成します。
        パラメーター:
        writer - JSON オブジェクトまたは配列が書き込まれる
        戻り値:
        JSON ライター
      • createWriter

        public abstract JsonWriter createWriter​(OutputStreamSE out)
        JSON ライターを作成して、JSON object または array 構造を指定されたバイトストリームに書き込みます。ストリームに書き込まれた文字は、UTF-8 エンコーディングを使用してバイトにエンコードされます。
        パラメーター:
        out - JSON オブジェクトまたは配列が書き込まれる
        戻り値:
        JSON ライター
      • createWriterFactory

        public abstract JsonWriterFactory createWriterFactory​(MapSE<StringSE,​?> config)
        JsonWriter オブジェクトを作成するためのライターファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON ライターを構成するためのプロバイダー固有のプロパティのマップ。マップは空または null の可能性があります
        戻り値:
        JSON ライターファクトリ
      • createReaderFactory

        public abstract JsonReaderFactory createReaderFactory​(MapSE<StringSE,​?> config)
        JsonReader オブジェクトを作成するためのリーダーファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON リーダーを構成するためのプロバイダー固有のプロパティのマップ。マップは空または null の可能性があります
        戻り値:
        JSON リーダーファクトリ
      • createObjectBuilder

        public abstract JsonObjectBuilder createObjectBuilder()
        JSON オブジェクトビルダーを作成します。
        戻り値:
        JSON オブジェクトビルダー
      • createObjectBuilder

        public JsonObjectBuilder createObjectBuilder​(JsonObject object)
        指定されたオブジェクトで初期化された JSON オブジェクトビルダーを作成します。
        パラメーター:
        object - ビルダーの最初の JSON オブジェクト
        戻り値:
        JSON オブジェクトビルダー
        導入:
        1.1
      • createObjectBuilder

        public JsonObjectBuilder createObjectBuilder​(MapSE<StringSE,​?> map)
        指定された map からのデータで初期化された JSON オブジェクトビルダーを作成します。@{code map} に OptionalSE が含まれている場合、結果の JSON オブジェクトビルダーには、OptionalSE が空でない場合にのみ、map からのキーが含まれます。
        パラメーター:
        map - ビルダーの初期オブジェクト
        戻り値:
        JSON オブジェクトビルダー
        例外:
        IllegalArgumentExceptionSE - map からの値を対応する JsonValue に変換できない場合
        導入:
        1.1
      • createArrayBuilder

        public abstract JsonArrayBuilder createArrayBuilder()
        JSON 配列ビルダーを作成します。
        戻り値:
        JSON 配列ビルダー
      • createArrayBuilder

        public JsonArrayBuilder createArrayBuilder​(JsonArray array)
        指定された配列で初期化された JSON 配列ビルダーを作成します。
        パラメーター:
        array - ビルダーの最初の JSON 配列
        戻り値:
        JSON 配列ビルダー
        導入:
        1.1
      • createPointer

        public JsonPointer createPointer​(StringSE jsonPointer)
        指定された jsonPointer 文字列から JSON ポインター(RFC 6901)を作成します。
        • 空の jsonPointer 文字列は、ターゲット自体への参照を定義します。
        • jsonPointer 文字列が空でない場合、'/' 接頭辞付きトークンのシーケンスでなければなりません。
        パラメーター:
        jsonPointer - JSON ポインタ文字列
        戻り値:
        JSON ポインター
        例外:
        NullPointerExceptionSE - jsonPointer が null の場合
        JsonException - jsonPointer が有効な JSON ポインターでない場合
        導入:
        1.1
      • createPatchBuilder

        public JsonPatchBuilder createPatchBuilder()
        JSON Patch Builder(RFC 6902)を作成します。
        戻り値:
        JSON Patch Builder
        導入:
        1.1
      • createPatchBuilder

        public JsonPatchBuilder createPatchBuilder​(JsonArray array)
        指定された操作で初期化された JSON パッチビルダー(RFC 6902)を作成します。
        パラメーター:
        array - 初期パッチ操作
        戻り値:
        JSON Patch Builder
        導入:
        1.1
      • createPatch

        public JsonPatch createPatch​(JsonArray array)
        指定された操作から JSON パッチ(RFC 6902)を作成します。
        パラメーター:
        array - パッチ操作
        戻り値:
        JSON パッチ
        導入:
        1.1
      • createDiff

        public JsonPatch createDiff​(JsonStructure source,
                                    JsonStructure target)
        ソースおよびターゲット JsonStructure から JSON パッチ(RFC 6902)を生成します。生成された JSON パッチは一意である必要はありません。
        パラメーター:
        source - ソース
        target - ターゲット、ソースと同じ型である必要があります
        戻り値:
        ソースに適用するとターゲットを生成する JSON パッチ
        導入:
        1.1
      • createMergePatch

        public JsonMergePatch createMergePatch​(JsonValue patch)
        指定された JsonValue から JSON マージパッチ(RFC 7396)を作成します。
        パラメーター:
        patch - パッチ
        戻り値:
        JSON マージパッチ
        導入:
        1.1
      • createMergeDiff

        public JsonMergePatch createMergeDiff​(JsonValue source,
                                              JsonValue target)
        ソースとターゲットの JsonValue から JSON マージパッチ(RFC 7396)を生成します。source に適用すると、target が生成されます。
        パラメーター:
        source - ソース
        target - ターゲット
        戻り値:
        JSON マージパッチ
        導入:
        1.1
      • createArrayBuilder

        public JsonArrayBuilder createArrayBuilder​(CollectionSE<?> collection)
        指定された collection のコンテンツで初期化された JSON 配列ビルダーを作成します。@{code collection} に OptionalSE が含まれている場合、OptionalSE が空でない場合にのみ、結果の JSON 配列ビルダーに collection からの値が含まれます。
        パラメーター:
        collection - ビルダーの初期データ
        戻り値:
        JSON 配列ビルダー
        例外:
        IllegalArgumentExceptionSE - collection からの値を対応する JsonValue に変換できない場合
        導入:
        1.1
      • createBuilderFactory

        public abstract JsonBuilderFactory createBuilderFactory​(MapSE<StringSE,​?> config)
        JsonArrayBuilder および JsonObjectBuilder オブジェクトを作成するためのビルダーファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON ビルダーを構成するためのプロバイダー固有のプロパティのマップ。地図は空または null
        戻り値:
        JSON ビルダーファクトリ
      • createValue

        public JsonString createValue​(StringSE value)
        JsonString を作成します。
        パラメーター:
        value - JSON 文字列
        戻り値:
        文字列の JsonString
        導入:
        1.1
      • createValue

        public JsonNumber createValue​(int value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public JsonNumber createValue​(long value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public JsonNumber createValue​(double value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public JsonNumber createValue​(BigDecimalSE value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public JsonNumber createValue​(BigIntegerSE value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public JsonNumber createValue​(NumberSE number)
        JsonNumber を作成します。実装されていない場合は、型をチェックし、その型をすでに処理している既存のメソッドに委譲します。型が不明な場合は、UnsupportedOperationException をスローします。
        パラメーター:
        number - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        2.1