Package javax.json.spi
Class JsonProvider
- java.lang.Object
-
- javax.json.spi.JsonProvider
-
public abstract class JsonProvider extends Object
Service provider for JSON processing objects.All the methods in this class are safe for use by multiple concurrent threads.
- See Also:
ServiceLoader
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedJsonProvider()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract JsonArrayBuildercreateArrayBuilder()Creates a JSON array builder.JsonArrayBuildercreateArrayBuilder(Collection<?> collection)Creates a JSON array builder, initialized with the content of specifiedcollection.JsonArrayBuildercreateArrayBuilder(JsonArray array)Creates a JSON array builder, initialized with the specified array.abstract JsonBuilderFactorycreateBuilderFactory(Map<String,?> config)Creates a builder factory for creatingJsonArrayBuilderandJsonObjectBuilderobjects.JsonPatchcreateDiff(JsonStructure source, JsonStructure target)Generates a JSON Patch (RFC 6902) from the source and targetJsonStructure.abstract JsonGeneratorcreateGenerator(OutputStream out)Creates 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.JsonMergePatchcreateMergeDiff(JsonValue source, JsonValue target)Generates a JSON Merge Patch (RFC 7396) from the source and targetJsonValues which when applied to thesource, yields thetarget.JsonMergePatchcreateMergePatch(JsonValue patch)Creates JSON Merge Patch (RFC 7396) from specifiedJsonValue.abstract JsonObjectBuildercreateObjectBuilder()Creates a JSON object builder.JsonObjectBuildercreateObjectBuilder(Map<String,Object> map)Creates a JSON object builder, initialized with the data from specifiedmap.JsonObjectBuildercreateObjectBuilder(JsonObject object)Creates a JSON object builder, initialized with the specified object.abstract JsonParsercreateParser(InputStream in)Creates 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.JsonPatchcreatePatch(JsonArray array)Creates a JSON Patch (RFC 6902) from the specified operations.JsonPatchBuildercreatePatchBuilder()Creates a JSON Patch builder (RFC 6902).JsonPatchBuildercreatePatchBuilder(JsonArray array)Creates a JSON Patch builder (RFC 6902), initialized with the specified operations.JsonPointercreatePointer(String jsonPointer)Creates JSON Pointer (RFC 6901) from givenjsonPointerstring.abstract JsonReadercreateReader(InputStream in)Creates 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.JsonNumbercreateValue(double value)Creates a JsonNumber.JsonNumbercreateValue(int value)Creates a JsonNumber.JsonNumbercreateValue(long value)Creates a JsonNumber.JsonStringcreateValue(String value)Creates a JsonString.JsonNumbercreateValue(BigDecimal value)Creates a JsonNumber.JsonNumbercreateValue(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.
-
-
-
Method Detail
-
provider
public static JsonProvider provider()
Creates a JSON provider object. The provider is loaded using theServiceLoader.load(Class)method. If there are no available service providers, this method returns the default service provider. Users are recommended to cache the result of this method.- Returns:
- a JSON provider
- See Also:
ServiceLoader
-
createParser
public abstract JsonParser createParser(Reader reader)
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
public abstract JsonParser createParser(InputStream in)
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
public abstract JsonParserFactory createParserFactory(Map<String,?> config)
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
public abstract JsonGenerator createGenerator(Writer writer)
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
public abstract JsonGenerator createGenerator(OutputStream out)
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
public abstract JsonGeneratorFactory createGeneratorFactory(Map<String,?> config)
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
public abstract JsonReader createReader(Reader reader)
Creates a JSON reader from a character stream.- Parameters:
reader- a reader from which JSON is to be read- Returns:
- a JSON reader
-
createReader
public abstract JsonReader createReader(InputStream in)
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
public abstract JsonWriter createWriter(Writer writer)
- Parameters:
writer- to which JSON object or array is written- Returns:
- a JSON writer
-
createWriter
public abstract JsonWriter createWriter(OutputStream out)
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
public abstract JsonWriterFactory createWriterFactory(Map<String,?> config)
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
public abstract JsonReaderFactory createReaderFactory(Map<String,?> config)
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
public abstract JsonObjectBuilder createObjectBuilder()
Creates a JSON object builder.- Returns:
- a JSON object builder
-
createObjectBuilder
public JsonObjectBuilder createObjectBuilder(JsonObject object)
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
public JsonObjectBuilder createObjectBuilder(Map<String,Object> map)
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
public abstract JsonArrayBuilder createArrayBuilder()
Creates a JSON array builder.- Returns:
- a JSON array builder
-
createArrayBuilder
public JsonArrayBuilder createArrayBuilder(JsonArray array)
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
public JsonPointer createPointer(String jsonPointer)
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
public JsonPatchBuilder createPatchBuilder()
Creates a JSON Patch builder (RFC 6902).- Returns:
- a JSON Patch builder
- Since:
- 1.1
-
createPatchBuilder
public JsonPatchBuilder createPatchBuilder(JsonArray array)
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
public JsonPatch createPatch(JsonArray array)
Creates a JSON Patch (RFC 6902) from the specified operations.- Parameters:
array- patch operations- Returns:
- a JSON Patch
- Since:
- 1.1
-
createDiff
public JsonPatch createDiff(JsonStructure source, JsonStructure target)
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
public JsonMergePatch createMergePatch(JsonValue patch)
Creates JSON Merge Patch (RFC 7396) from specifiedJsonValue.- Parameters:
patch- the patch- Returns:
- a JSON Merge Patch
- Since:
- 1.1
-
createMergeDiff
public JsonMergePatch createMergeDiff(JsonValue source, JsonValue target)
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
public JsonArrayBuilder createArrayBuilder(Collection<?> collection)
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
public abstract JsonBuilderFactory createBuilderFactory(Map<String,?> config)
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
public JsonString createValue(String value)
Creates a JsonString.- Parameters:
value- a JSON string- Returns:
- the JsonString for the string
- Since:
- 1.1
-
createValue
public JsonNumber createValue(int value)
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
public JsonNumber createValue(long value)
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
public JsonNumber createValue(double value)
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
public JsonNumber createValue(BigDecimal value)
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
createValue
public JsonNumber createValue(BigInteger value)
Creates a JsonNumber.- Parameters:
value- a JSON number- Returns:
- the JsonNumber for the number
- Since:
- 1.1
-
-