diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-10-13 13:50:08 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-10-13 13:50:08 +0200 |
commit | c458fcd2c2a35b129763115439ba3d13502b40e0 (patch) | |
tree | 47c2a692f72135d4c7dc710cfd8a27d1366eaf24 /document/src | |
parent | c15afc9eafbddf4cf51e8e3937daf017ade1a6a5 (diff) |
Expose "writeFields" from JsonWriter, to write only document fields
Diffstat (limited to 'document/src')
-rw-r--r-- | document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java | 2 | ||||
-rw-r--r-- | document/src/main/java/com/yahoo/document/json/JsonWriter.java | 19 |
2 files changed, 13 insertions, 8 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java b/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java index eafc6d214d3..7ae09f604b7 100644 --- a/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java +++ b/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java @@ -58,7 +58,7 @@ public class JsonSerializationHelper { } @FunctionalInterface - static interface SubroutineThrowingIOException { + interface SubroutineThrowingIOException { void invoke() throws IOException; } diff --git a/document/src/main/java/com/yahoo/document/json/JsonWriter.java b/document/src/main/java/com/yahoo/document/json/JsonWriter.java index 2e4097e1d6a..73b563a30ab 100644 --- a/document/src/main/java/com/yahoo/document/json/JsonWriter.java +++ b/document/src/main/java/com/yahoo/document/json/JsonWriter.java @@ -134,16 +134,10 @@ public class JsonWriter implements DocumentWriter { // this makes it impossible to refeed directly, not sure what's correct // perhaps just change to "put"? generator.writeStringField("id", value.getId().toString()); - generator.writeObjectFieldStart(FIELDS); - Iterator<Map.Entry<Field, FieldValue>> i = value.iterator(); - while (i.hasNext()) { - Map.Entry<Field, FieldValue> entry = i.next(); - entry.getValue().serialize(entry.getKey(), this); - } + writeFields(value); generator.writeEndObject(); - generator.writeEndObject(); generator.flush(); } catch (IOException e) { throw new RuntimeException(e); @@ -347,4 +341,15 @@ public class JsonWriter implements DocumentWriter { serializeString(generator, field, value); return this; } + + public void writeFields(Document value) throws IOException { + generator.writeObjectFieldStart(FIELDS); + Iterator<Map.Entry<Field, FieldValue>> i = value.iterator(); + while (i.hasNext()) { + Map.Entry<Field, FieldValue> entry = i.next(); + entry.getValue().serialize(entry.getKey(), this); + } + generator.writeEndObject(); + } + } |