Add "configure" methods to Gson to apply JsonWriter/JsonReader configs

This commit is contained in:
Johannes Frohnmeyer 2023-09-19 16:29:07 +02:00
parent 89ae8b48c2
commit db89f98ed8
Signed by: Johannes
GPG Key ID: E76429612C2929F4
1 changed files with 16 additions and 8 deletions

View File

@ -881,15 +881,19 @@ public final class Gson {
writer.write(DefaultConfig.JSON_NON_EXECUTABLE_PREFIX);
}
JsonWriter jsonWriter = new JsonWriter(writer);
jsonWriter.setFormattingStyle(formattingStyle);
jsonWriter.setHtmlSafe(htmlSafe);
jsonWriter.setLenient(lenient);
jsonWriter.setOmitQuotes(omitQuotes);
jsonWriter.setSerializeNulls(serializeNulls);
jsonWriter.setSerializeSpecialFloatingPointValues(serializeSpecialFloatingPointValues);
configure(jsonWriter);
return jsonWriter;
}
public void configure(JsonWriter writer) {
writer.setFormattingStyle(formattingStyle);
writer.setHtmlSafe(htmlSafe);
writer.setLenient(lenient);
writer.setOmitQuotes(omitQuotes);
writer.setSerializeNulls(serializeNulls);
writer.setSerializeSpecialFloatingPointValues(serializeSpecialFloatingPointValues);
}
/**
* Returns a new JSON reader configured for the settings on this Gson instance.
*
@ -900,11 +904,15 @@ public final class Gson {
*/
public JsonReader newJsonReader(Reader reader) {
JsonReader jsonReader = new JsonReader(reader);
jsonReader.setLenient(lenient);
jsonReader.setSerializeSpecialFloatingPointValues(serializeSpecialFloatingPointValues);
configure(jsonReader);
return jsonReader;
}
public void configure(JsonReader reader) {
reader.setLenient(lenient);
reader.setSerializeSpecialFloatingPointValues(serializeSpecialFloatingPointValues);
}
/**
* Writes the JSON for {@code jsonElement} to {@code writer}.
*