public abstract class JsonProvider
extends java.lang.Object
All the methods in this class are safe for use by multiple concurrent threads.
ServiceLoader
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
JSONP_PROVIDER_FACTORY
The name of the property that contains the name of the class capable of creating new JsonProvider objects.
|
Modifier | Constructor and Description |
---|---|
protected |
JsonProvider()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract JsonArrayBuilder |
createArrayBuilder()
Creates a JSON array builder.
|
JsonArrayBuilder |
createArrayBuilder(java.util.Collection<?> collection)
Creates a JSON array builder, initialized with the content of specified
collection . |
JsonArrayBuilder |
createArrayBuilder(JsonArray array)
Creates a JSON array builder, initialized with the specified array.
|
abstract JsonBuilderFactory |
createBuilderFactory(java.util.Map<java.lang.String,?> config)
Creates a builder factory for creating
JsonArrayBuilder
and JsonObjectBuilder objects. |
JsonPatch |
createDiff(JsonStructure source,
JsonStructure target)
Generates a JSON Patch (RFC 6902)
from the source and target
JsonStructure . |
abstract JsonGenerator |
createGenerator(java.io.OutputStream out)
Creates a JSON generator for writing JSON text to a byte stream.
|
abstract JsonGenerator |
createGenerator(java.io.Writer writer)
Creates a JSON generator for writing JSON text to a character stream.
|
abstract JsonGeneratorFactory |
createGeneratorFactory(java.util.Map<java.lang.String,?> config)
Creates a generator factory for creating
JsonGenerator instances. |
JsonMergePatch |
createMergeDiff(JsonValue source,
JsonValue target)
Generates a JSON Merge Patch (RFC 7396)
from the source and target
JsonValue s
which when applied to the source , yields the target . |
JsonMergePatch |
createMergePatch(JsonValue patch)
Creates JSON Merge Patch (RFC 7396)
from specified
JsonValue . |
abstract JsonObjectBuilder |
createObjectBuilder()
Creates a JSON object builder.
|
JsonObjectBuilder |
createObjectBuilder(JsonObject object)
Creates a JSON object builder, initialized with the specified object.
|
JsonObjectBuilder |
createObjectBuilder(java.util.Map<java.lang.String,?> map)
Creates a JSON object builder, initialized with the data from specified
map . |
abstract JsonParser |
createParser(java.io.InputStream in)
Creates a JSON parser from the specified byte stream.
|
abstract JsonParser |
createParser(java.io.Reader reader)
Creates a JSON parser from a character stream.
|
abstract JsonParserFactory |
createParserFactory(java.util.Map<java.lang.String,?> config)
Creates a parser factory for creating
JsonParser instances. |
JsonPatch |
createPatch(JsonArray array)
Creates a JSON Patch (RFC 6902)
from the specified operations.
|
JsonPatchBuilder |
createPatchBuilder()
Creates a JSON Patch builder (RFC 6902).
|
JsonPatchBuilder |
createPatchBuilder(JsonArray array)
Creates a JSON Patch builder
(RFC 6902),
initialized with the specified operations.
|
JsonPointer |
createPointer(java.lang.String jsonPointer)
Creates JSON Pointer (RFC 6901)
from given
jsonPointer string. |
abstract JsonReader |
createReader(java.io.InputStream in)
Creates a JSON reader from a byte stream.
|
abstract JsonReader |
createReader(java.io.Reader reader)
Creates a JSON reader from a character stream.
|
abstract JsonReaderFactory |
createReaderFactory(java.util.Map<java.lang.String,?> config)
Creates a reader factory for creating
JsonReader objects. |
JsonNumber |
createValue(java.math.BigDecimal value)
Creates a JsonNumber.
|
JsonNumber |
createValue(java.math.BigInteger value)
Creates a JsonNumber.
|
JsonNumber |
createValue(double value)
Creates a JsonNumber.
|
JsonNumber |
createValue(int value)
Creates a JsonNumber.
|
JsonNumber |
createValue(long value)
Creates a JsonNumber.
|
JsonNumber |
createValue(java.lang.Number number)
Creates a JsonNumber.
|
JsonString |
createValue(java.lang.String value)
Creates a JsonString.
|
abstract JsonWriter |
createWriter(java.io.OutputStream out)
|
abstract JsonWriter |
createWriter(java.io.Writer writer)
|
abstract JsonWriterFactory |
createWriterFactory(java.util.Map<java.lang.String,?> config)
Creates a writer factory for creating
JsonWriter objects. |
static JsonProvider |
provider()
Creates a JSON provider object.
|
public static final java.lang.String JSONP_PROVIDER_FACTORY
public static JsonProvider provider()
ServiceLoader.load(Class)
method.ServiceLoader
public abstract JsonParser createParser(java.io.Reader reader)
reader
- i/o reader from which JSON is to be readpublic abstract JsonParser createParser(java.io.InputStream in)
in
- i/o stream from which JSON is to be readJsonException
- if encoding cannot be determined
or i/o error (IOException would be cause of JsonException)public abstract JsonParserFactory createParserFactory(java.util.Map<java.lang.String,?> config)
JsonParser
instances.
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.config
- a map of provider specific properties to configure the
JSON parsers. The map may be empty or nullpublic abstract JsonGenerator createGenerator(java.io.Writer writer)
writer
- a i/o writer to which JSON is writtenpublic abstract JsonGenerator createGenerator(java.io.OutputStream out)
out
- i/o stream to which JSON is writtenpublic abstract JsonGeneratorFactory createGeneratorFactory(java.util.Map<java.lang.String,?> config)
JsonGenerator
instances.
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.config
- a map of provider specific properties to configure the
JSON generators. The map may be empty or nullpublic abstract JsonReader createReader(java.io.Reader reader)
reader
- a reader from which JSON is to be readpublic abstract JsonReader createReader(java.io.InputStream in)
in
- a byte stream from which JSON is to be readpublic abstract JsonWriter createWriter(java.io.Writer writer)
writer
- to which JSON object or array is writtenpublic abstract JsonWriter createWriter(java.io.OutputStream out)
object
or array
structure to the specified byte stream. Characters written to
the stream are encoded into bytes using UTF-8 encoding.out
- to which JSON object or array is writtenpublic abstract JsonWriterFactory createWriterFactory(java.util.Map<java.lang.String,?> config)
JsonWriter
objects.
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.config
- a map of provider specific properties to configure the
JSON writers. The map may be empty or nullpublic abstract JsonReaderFactory createReaderFactory(java.util.Map<java.lang.String,?> config)
JsonReader
objects.
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.config
- a map of provider specific properties to configure the
JSON readers. The map may be empty or nullpublic abstract JsonObjectBuilder createObjectBuilder()
public JsonObjectBuilder createObjectBuilder(JsonObject object)
object
- the initial JSON object in the builderpublic JsonObjectBuilder createObjectBuilder(java.util.Map<java.lang.String,?> map)
map
.
If the @{code map} contains Optional
s then resulting JSON object builder
contains the key from the map
only if the Optional
is not empty.map
- the initial object in the builderjava.lang.IllegalArgumentException
- if the value from the map
cannot be converted
to the corresponding JsonValue
public abstract JsonArrayBuilder createArrayBuilder()
public JsonArrayBuilder createArrayBuilder(JsonArray array)
array
- the initial JSON array in the builderpublic JsonPointer createPointer(java.lang.String jsonPointer)
jsonPointer
string.
jsonPointer
string defines a reference to the target itself.jsonPointer
string is non-empty, it must be a sequence of '/
' prefixed tokens.jsonPointer
- the JSON Pointer stringjava.lang.NullPointerException
- if jsonPointer
is null
JsonException
- if jsonPointer
is not a valid JSON Pointerpublic JsonPatchBuilder createPatchBuilder()
public JsonPatchBuilder createPatchBuilder(JsonArray array)
array
- the initial patch operationspublic JsonPatch createPatch(JsonArray array)
array
- patch operationspublic JsonPatch createDiff(JsonStructure source, JsonStructure target)
JsonStructure
.
The generated JSON Patch need not be unique.source
- the sourcetarget
- the target, must be the same type as the sourcepublic JsonMergePatch createMergePatch(JsonValue patch)
JsonValue
.patch
- the patchpublic JsonMergePatch createMergeDiff(JsonValue source, JsonValue target)
JsonValue
s
which when applied to the source
, yields the target
.source
- the sourcetarget
- the targetpublic JsonArrayBuilder createArrayBuilder(java.util.Collection<?> collection)
collection
.
If the @{code collection} contains Optional
s then resulting JSON array builder
contains the value from the collection
only if the Optional
is not empty.collection
- the initial data for the builderjava.lang.IllegalArgumentException
- if the value from the collection
cannot be converted
to the corresponding JsonValue
public abstract JsonBuilderFactory createBuilderFactory(java.util.Map<java.lang.String,?> config)
JsonArrayBuilder
and JsonObjectBuilder
objects.
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.config
- a map of provider specific properties to configure the
JSON builders. The map may be empty or nullpublic JsonString createValue(java.lang.String value)
value
- a JSON stringpublic JsonNumber createValue(int value)
value
- a JSON numberpublic JsonNumber createValue(long value)
value
- a JSON numberpublic JsonNumber createValue(double value)
value
- a JSON numberpublic JsonNumber createValue(java.math.BigDecimal value)
value
- a JSON numberpublic JsonNumber createValue(java.math.BigInteger value)
value
- a JSON numberpublic JsonNumber createValue(java.lang.Number number)
number
- a JSON number