Skip to content

#346 - Json should cache the result of JsonProvider.provider() #347

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 40 additions & 35 deletions api/src/main/java/jakarta/json/Json.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@
*/
public final class Json {

/**
* Create the JsonProvider instance to use.
*/
private static final JsonProvider PROVIDER = JsonProvider.provider();

/**
* No instantiation.
*/
Expand All @@ -71,7 +76,7 @@ private Json() {
* @return a JSON parser
*/
public static JsonParser createParser(Reader reader) {
return JsonProvider.provider().createParser(reader);
return PROVIDER.createParser(reader);
}

/**
Expand All @@ -85,7 +90,7 @@ public static JsonParser createParser(Reader reader) {
* @return a JSON parser
*/
public static JsonParser createParser(InputStream in) {
return JsonProvider.provider().createParser(in);
return PROVIDER.createParser(in);
}

/**
Expand All @@ -95,7 +100,7 @@ public static JsonParser createParser(InputStream in) {
* @return a JSON generator
*/
public static JsonGenerator createGenerator(Writer writer) {
return JsonProvider.provider().createGenerator(writer);
return PROVIDER.createGenerator(writer);
}

/**
Expand All @@ -105,7 +110,7 @@ public static JsonGenerator createGenerator(Writer writer) {
* @return a JSON generator
*/
public static JsonGenerator createGenerator(OutputStream out) {
return JsonProvider.provider().createGenerator(out);
return PROVIDER.createGenerator(out);
}

/**
Expand All @@ -114,7 +119,7 @@ public static JsonGenerator createGenerator(OutputStream out) {
* @return JSON parser factory.
*
public static JsonParserFactory createParserFactory() {
return JsonProvider.provider().createParserFactory();
return PROVIDER.createParserFactory();
}
*/

Expand All @@ -129,7 +134,7 @@ public static JsonParserFactory createParserFactory() {
* @return JSON parser factory
*/
public static JsonParserFactory createParserFactory(Map<String, ?> config) {
return JsonProvider.provider().createParserFactory(config);
return PROVIDER.createParserFactory(config);
}

/**
Expand All @@ -138,7 +143,7 @@ public static JsonParserFactory createParserFactory(Map<String, ?> config) {
* @return JSON generator factory
*
public static JsonGeneratorFactory createGeneratorFactory() {
return JsonProvider.provider().createGeneratorFactory();
return PROVIDER.createGeneratorFactory();
}
*/

Expand All @@ -154,7 +159,7 @@ public static JsonGeneratorFactory createGeneratorFactory() {
*/
public static JsonGeneratorFactory createGeneratorFactory(
Map<String, ?> config) {
return JsonProvider.provider().createGeneratorFactory(config);
return PROVIDER.createGeneratorFactory(config);
}

/**
Expand All @@ -166,7 +171,7 @@ public static JsonGeneratorFactory createGeneratorFactory(
* @return a JSON writer
*/
public static JsonWriter createWriter(Writer writer) {
return JsonProvider.provider().createWriter(writer);
return PROVIDER.createWriter(writer);
}

/**
Expand All @@ -179,7 +184,7 @@ public static JsonWriter createWriter(Writer writer) {
* @return a JSON writer
*/
public static JsonWriter createWriter(OutputStream out) {
return JsonProvider.provider().createWriter(out);
return PROVIDER.createWriter(out);
}

/**
Expand All @@ -189,7 +194,7 @@ public static JsonWriter createWriter(OutputStream out) {
* @return a JSON reader
*/
public static JsonReader createReader(Reader reader) {
return JsonProvider.provider().createReader(reader);
return PROVIDER.createReader(reader);
}

/**
Expand All @@ -201,7 +206,7 @@ public static JsonReader createReader(Reader reader) {
* @return a JSON reader
*/
public static JsonReader createReader(InputStream in) {
return JsonProvider.provider().createReader(in);
return PROVIDER.createReader(in);
}

/**
Expand All @@ -215,7 +220,7 @@ public static JsonReader createReader(InputStream in) {
* @return a JSON reader factory
*/
public static JsonReaderFactory createReaderFactory(Map<String, ?> config) {
return JsonProvider.provider().createReaderFactory(config);
return PROVIDER.createReaderFactory(config);
}

/**
Expand All @@ -229,7 +234,7 @@ public static JsonReaderFactory createReaderFactory(Map<String, ?> config) {
* @return a JSON writer factory
*/
public static JsonWriterFactory createWriterFactory(Map<String, ?> config) {
return JsonProvider.provider().createWriterFactory(config);
return PROVIDER.createWriterFactory(config);
}

/**
Expand All @@ -238,7 +243,7 @@ public static JsonWriterFactory createWriterFactory(Map<String, ?> config) {
* @return a JSON array builder
*/
public static JsonArrayBuilder createArrayBuilder() {
return JsonProvider.provider().createArrayBuilder();
return PROVIDER.createArrayBuilder();
}

/**
Expand All @@ -250,7 +255,7 @@ public static JsonArrayBuilder createArrayBuilder() {
* @since 1.1
*/
public static JsonArrayBuilder createArrayBuilder(JsonArray array) {
return JsonProvider.provider().createArrayBuilder(array);
return PROVIDER.createArrayBuilder(array);
}

/**
Expand All @@ -266,7 +271,7 @@ public static JsonArrayBuilder createArrayBuilder(JsonArray array) {
* @since 1.1
*/
public static JsonArrayBuilder createArrayBuilder(Collection<?> collection) {
return JsonProvider.provider().createArrayBuilder(collection);
return PROVIDER.createArrayBuilder(collection);
}

/**
Expand All @@ -275,7 +280,7 @@ public static JsonArrayBuilder createArrayBuilder(Collection<?> collection) {
* @return a JSON object builder
*/
public static JsonObjectBuilder createObjectBuilder() {
return JsonProvider.provider().createObjectBuilder();
return PROVIDER.createObjectBuilder();
}

/**
Expand All @@ -287,7 +292,7 @@ public static JsonObjectBuilder createObjectBuilder() {
* @since 1.1
*/
public static JsonObjectBuilder createObjectBuilder(JsonObject object) {
return JsonProvider.provider().createObjectBuilder(object);
return PROVIDER.createObjectBuilder(object);
}

/**
Expand All @@ -303,7 +308,7 @@ public static JsonObjectBuilder createObjectBuilder(JsonObject object) {
* @since 1.1
*/
public static JsonObjectBuilder createObjectBuilder(Map<String, ?> map) {
return JsonProvider.provider().createObjectBuilder(map);
return PROVIDER.createObjectBuilder(map);
}

/**
Expand All @@ -322,7 +327,7 @@ public static JsonObjectBuilder createObjectBuilder(Map<String, ?> map) {
* @since 1.1
*/
public static JsonPointer createPointer(String jsonPointer) {
return JsonProvider.provider().createPointer(jsonPointer);
return PROVIDER.createPointer(jsonPointer);
}

/**
Expand All @@ -333,7 +338,7 @@ public static JsonPointer createPointer(String jsonPointer) {
* @since 1.1
*/
public static JsonPatchBuilder createPatchBuilder() {
return JsonProvider.provider().createPatchBuilder();
return PROVIDER.createPatchBuilder();
}

/**
Expand All @@ -347,7 +352,7 @@ public static JsonPatchBuilder createPatchBuilder() {
* @since 1.1
*/
public static JsonPatchBuilder createPatchBuilder(JsonArray array) {
return JsonProvider.provider().createPatchBuilder(array);
return PROVIDER.createPatchBuilder(array);
}

/**
Expand All @@ -360,7 +365,7 @@ public static JsonPatchBuilder createPatchBuilder(JsonArray array) {
* @since 1.1
*/
public static JsonPatch createPatch(JsonArray array) {
return JsonProvider.provider().createPatch(array);
return PROVIDER.createPatch(array);
}

/**
Expand All @@ -375,7 +380,7 @@ public static JsonPatch createPatch(JsonArray array) {
* @since 1.1
*/
public static JsonPatch createDiff(JsonStructure source, JsonStructure target) {
return JsonProvider.provider().createDiff(source, target);
return PROVIDER.createDiff(source, target);
}

/**
Expand All @@ -388,7 +393,7 @@ public static JsonPatch createDiff(JsonStructure source, JsonStructure target) {
* @since 1.1
*/
public static JsonMergePatch createMergePatch(JsonValue patch) {
return JsonProvider.provider().createMergePatch(patch);
return PROVIDER.createMergePatch(patch);
}

/**
Expand All @@ -403,7 +408,7 @@ public static JsonMergePatch createMergePatch(JsonValue patch) {
* @since 1.1
*/
public static JsonMergePatch createMergeDiff(JsonValue source, JsonValue target) {
return JsonProvider.provider().createMergeDiff(source, target);
return PROVIDER.createMergeDiff(source, target);
}

/**
Expand All @@ -419,7 +424,7 @@ public static JsonMergePatch createMergeDiff(JsonValue source, JsonValue target)
*/
public static JsonBuilderFactory createBuilderFactory(
Map<String, ?> config) {
return JsonProvider.provider().createBuilderFactory(config);
return PROVIDER.createBuilderFactory(config);
}

/**
Expand All @@ -431,7 +436,7 @@ public static JsonBuilderFactory createBuilderFactory(
* @since 1.1
*/
public static JsonString createValue(String value) {
return JsonProvider.provider().createValue(value);
return PROVIDER.createValue(value);
}

/**
Expand All @@ -443,7 +448,7 @@ public static JsonString createValue(String value) {
* @since 1.1
*/
public static JsonNumber createValue(int value) {
return JsonProvider.provider().createValue(value);
return PROVIDER.createValue(value);
}

/**
Expand All @@ -455,7 +460,7 @@ public static JsonNumber createValue(int value) {
* @since 1.1
*/
public static JsonNumber createValue(long value) {
return JsonProvider.provider().createValue(value);
return PROVIDER.createValue(value);
}

/**
Expand All @@ -467,7 +472,7 @@ public static JsonNumber createValue(long value) {
* @since 1.1
*/
public static JsonNumber createValue(double value) {
return JsonProvider.provider().createValue(value);
return PROVIDER.createValue(value);
}

/**
Expand All @@ -479,7 +484,7 @@ public static JsonNumber createValue(double value) {
* @since 1.1
*/
public static JsonNumber createValue(BigDecimal value) {
return JsonProvider.provider().createValue(value);
return PROVIDER.createValue(value);
}

/**
Expand All @@ -491,7 +496,7 @@ public static JsonNumber createValue(BigDecimal value) {
* @since 1.1
*/
public static JsonNumber createValue(BigInteger value) {
return JsonProvider.provider().createValue(value);
return PROVIDER.createValue(value);
}

/**
Expand Down Expand Up @@ -529,6 +534,6 @@ public static String decodePointer(String escaped) {
* @since 2.1
*/
public static JsonNumber createValue(Number value) {
return JsonProvider.provider().createValue(value);
return PROVIDER.createValue(value);
}
}