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
 - 
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
 - 
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
 
 
 -