Package jakarta.json.spi
Class JsonProvider
java.lang.Object
jakarta.json.spi.JsonProvider
Service provider for JSON processing objects.
All the methods in this class are safe for use by multiple concurrent threads.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe name of the property that contains the name of the class capable of creating new JsonProvider objects. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract JsonArrayBuilderCreates a JSON array builder.createArrayBuilder(JsonArray array) Creates a JSON array builder, initialized with the specified array.createArrayBuilder(Collection<?> collection) Creates a JSON array builder, initialized with the content of specifiedcollection.abstract JsonBuilderFactorycreateBuilderFactory(Map<String, ?> config) Creates a builder factory for creatingJsonArrayBuilderandJsonObjectBuilderobjects.createDiff(JsonStructure source, JsonStructure target) Generates a JSON Patch (RFC 6902) from the source and targetJsonStructure.abstract JsonGeneratorCreates a JSON generator for writing JSON text to a byte stream.abstract JsonGeneratorcreateGenerator(Writer writer) Creates a JSON generator for writing JSON text to a character stream.abstract JsonGeneratorFactorycreateGeneratorFactory(Map<String, ?> config) Creates a generator factory for creatingJsonGeneratorinstances.createMergeDiff(JsonValue source, JsonValue target) Generates a JSON Merge Patch (RFC 7396) from the source and targetJsonValues which when applied to thesource, yields thetarget.createMergePatch(JsonValue patch) Creates JSON Merge Patch (RFC 7396) from specifiedJsonValue.abstract JsonObjectBuilderCreates a JSON object builder.createObjectBuilder(JsonObject object) Creates a JSON object builder, initialized with the specified object.createObjectBuilder(Map<String, ?> map) Creates a JSON object builder, initialized with the data from specifiedmap.abstract JsonParserCreates a JSON parser from the specified byte stream.abstract JsonParsercreateParser(Reader reader) Creates a JSON parser from a character stream.abstract JsonParserFactorycreateParserFactory(Map<String, ?> config) Creates a parser factory for creatingJsonParserinstances.createPatch(JsonArray array) Creates a JSON Patch (RFC 6902) from the specified operations.Creates a JSON Patch builder (RFC 6902).createPatchBuilder(JsonArray array) Creates a JSON Patch builder (RFC 6902), initialized with the specified operations.createPointer(String jsonPointer) Creates JSON Pointer (RFC 6901) from givenjsonPointerstring.abstract JsonReaderCreates a JSON reader from a byte stream.abstract JsonReadercreateReader(Reader reader) Creates a JSON reader from a character stream.abstract JsonReaderFactorycreateReaderFactory(Map<String, ?> config) Creates a reader factory for creatingJsonReaderobjects.createValue(double value) Creates a JsonNumber.createValue(int value) Creates a JsonNumber.createValue(long value) Creates a JsonNumber.createValue(Number number) Creates a JsonNumber.createValue(String value) Creates a JsonString.createValue(BigDecimal value) Creates a JsonNumber.createValue(BigInteger value) Creates a JsonNumber.abstract JsonWritercreateWriter(OutputStream out) abstract JsonWritercreateWriter(Writer writer) abstract JsonWriterFactorycreateWriterFactory(Map<String, ?> config) Creates a writer factory for creatingJsonWriterobjects.static JsonProviderprovider()Creates a JSON provider object.
-
Field Details
-
JSONP_PROVIDER_FACTORY
The name of the property that contains the name of the class capable of creating new JsonProvider objects.- See Also:
-
-
Constructor Details
-
JsonProvider
protected JsonProvider()Default constructor.
-
-
Method Details
-
provider
Creates a JSON provider object. Implementation discovery consists of following steps:- If the system property "jakarta.json.provider" exists, then its value is assumed to be the provider factory class. This phase of the look up enables per-JVM override of the JsonProvider implementation.
- The provider is loaded using the
ServiceLoader.load(Class)method. - If all the steps above fail, then the rest of the look up is unspecified. That said, the recommended behavior is to simply look for some hard-coded platform default Jakarta JSON Processing implementation. This phase of the look up is so that a platform can have its own Jakarta JSON Processing implementation as the last resort.
- Returns:
- a JSON provider
- See Also:
-
createParser
Creates a JSON parser from a character stream.- Parameters:
reader- i/o reader from which JSON is to be read- Returns:
- a JSON parser
-
createParser
Creates a JSON parser from the specified byte stream. The character encoding of the stream is determined as defined in RFC 7159 .- Parameters:
in- i/o stream from which JSON is to be read- Returns:
- a JSON parser
- Throws:
JsonException- if encoding cannot be determined or i/o error (IOException would be cause of JsonException)
-
createParserFactory
Creates a parser factory for creatingJsonParserinstances. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.- Parameters:
config- a map of provider specific properties to configure the JSON parsers. The map may be empty or null- Returns:
- a JSON parser factory
-
createGenerator
Creates a JSON generator for writing JSON text to a character stream.- Parameters:
writer- a i/o writer to which JSON is written- Returns:
- a JSON generator
-
createGenerator
Creates a JSON generator for writing JSON text to a byte stream.- Parameters:
out- i/o stream to which JSON is written- Returns:
- a JSON generator
-
createGeneratorFactory
Creates a generator factory for creatingJsonGeneratorinstances. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.- Parameters:
config- a map of provider specific properties to configure the JSON generators. The map may be empty or null- Returns:
- a JSON generator factory
-
createReader
Creates a JSON reader from a character stream.- Parameters:
reader- a reader from which JSON is to be read- Returns:
- a JSON reader
-
createReader
Creates a JSON reader from a byte stream. The character encoding of the stream is determined as described in RFC 7159.- Parameters:
in- a byte stream from which JSON is to be read- Returns:
- a JSON reader
-
createWriter
- Parameters:
writer- to which JSON object or array is written- Returns:
- a JSON writer
-
createWriter
Creates a JSON writer to write a JSONobjectorarraystructure to the specified byte stream. Characters written to the stream are encoded into bytes using UTF-8 encoding.- Parameters:
out- to which JSON object or array is written- Returns:
- a JSON writer
-
createWriterFactory
Creates a writer factory for creatingJsonWriterobjects. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.- Parameters:
config- a map of provider specific properties to configure the JSON writers. The map may be empty or null- Returns:
- a JSON writer factory
-
createReaderFactory
Creates a reader factory for creatingJsonReaderobjects. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.- Parameters:
config- a map of provider specific properties to configure the JSON readers. The map may be empty or null- Returns:
- a JSON reader factory
-
createObjectBuilder
Creates a JSON object builder.- Returns:
- a JSON object builder
-
createObjectBuilder
Creates a JSON object builder, initialized with the specified object.- Parameters:
object- the initial JSON object in the builder- Returns:
- a JSON object builder
- Since:
- 1.1
-
createObjectBuilder
Creates a JSON object builder, initialized with the data from specifiedmap. If the @{code map} containsOptionals then resulting JSON object builder contains the key from themaponly if theOptionalis not empty.- Parameters:
map- the initial object in the builder- Returns:
- a JSON object builder
- Throws:
IllegalArgumentException- if the value from themapcannot be converted to the correspondingJsonValue- Since:
- 1.1
-
createArrayBuilder
Creates a JSON array builder.- Returns:
- a JSON array builder
-
createArrayBuilder
Creates a JSON array builder, initialized with the specified array.- Parameters:
array- the initial JSON array in the builder- Returns:
- a JSON array builder
- Since:
- 1.1
-
createPointer
Creates JSON Pointer (RFC 6901) from givenjsonPointerstring.- An empty
jsonPointerstring defines a reference to the target itself. - If the
jsonPointerstring is non-empty, it must be a sequence of '/' prefixed tokens.
- Parameters:
jsonPointer- the JSON Pointer string- Returns:
- a JSON Pointer
- Throws:
NullPointerException- ifjsonPointerisnullJsonException- ifjsonPointeris not a valid JSON Pointer- Since:
- 1.1
- An empty
-
createPatchBuilder
Creates a JSON Patch builder (RFC 6902).- Returns:
- a JSON Patch builder
- Since:
- 1.1
-
createPatchBuilder
Creates a JSON Patch builder (RFC 6902), initialized with the specified operations.- Parameters:
array- the initial patch operations- Returns:
- a JSON Patch builder
- Since:
- 1.1
-
createPatch
Creates a JSON Patch (RFC 6902) from the specified operations.- Parameters:
array- patch operations- Returns:
- a JSON Patch
- Since:
- 1.1
-
createDiff
Generates a JSON Patch (RFC 6902) from the source and targetJsonStructure. The generated JSON Patch need not be unique.- Parameters:
source- the sourcetarget- the target, must be the same type as the source- Returns:
- a JSON Patch which when applied to the source, yields the target
- Since:
- 1.1
-
createMergePatch
Creates JSON Merge Patch (RFC 7396) from specifiedJsonValue.- Parameters:
patch- the patch- Returns:
- a JSON Merge Patch
- Since:
- 1.1
-
createMergeDiff
Generates a JSON Merge Patch (RFC 7396) from the source and targetJsonValues which when applied to thesource, yields thetarget.- Parameters:
source- the sourcetarget- the target- Returns:
- a JSON Merge Patch
- Since:
- 1.1
-
createArrayBuilder
Creates a JSON array builder, initialized with the content of specifiedcollection. If the @{code collection} containsOptionals then resulting JSON array builder contains the value from thecollectiononly if theOptionalis not empty.- Parameters:
collection- the initial data for the builder- Returns:
- a JSON array builder
- Throws:
IllegalArgumentException- if the value from thecollectioncannot be converted to the correspondingJsonValue- Since:
- 1.1
-
createBuilderFactory
Creates a builder factory for creatingJsonArrayBuilderandJsonObjectBuilderobjects. The factory is configured with the specified map of provider specific configuration properties. Provider implementations should ignore any unsupported configuration properties specified in the map.- Parameters:
config- a map of provider specific properties to configure the JSON builders. The map may be empty or null- Returns:
- a JSON builder factory
-
createValue
Creates a JsonString.- Parameters:
value- a JSON string- Returns:
- the JsonString for the string
- Since:
- 1.1
-
createValue
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
Creates a JsonNumber. When it is not implemented it checks the type and delegates to an existing method that already handles that type. It throws UnsupportedOperationException in case the type is not known.- Parameters:
number- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 2.1
-