Skip to content

Commit

Permalink
jakartaee#346 - Json should cache the result of JsonProvider.provider()
Browse files Browse the repository at this point in the history
  • Loading branch information
rbygrave committed Dec 14, 2021
1 parent 2da545b commit 2ce383c
Showing 1 changed file with 40 additions and 35 deletions.
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);
}
}

0 comments on commit 2ce383c

Please sign in to comment.