From c458fcd2c2a35b129763115439ba3d13502b40e0 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Tue, 13 Oct 2020 13:50:08 +0200 Subject: Expose "writeFields" from JsonWriter, to write only document fields --- .../yahoo/document/json/JsonSerializationHelper.java | 2 +- .../main/java/com/yahoo/document/json/JsonWriter.java | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'document/src/main/java/com') 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,15 +134,9 @@ 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> i = value.iterator(); - while (i.hasNext()) { - Map.Entry entry = i.next(); - entry.getValue().serialize(entry.getKey(), this); - } + writeFields(value); - generator.writeEndObject(); generator.writeEndObject(); generator.flush(); } catch (IOException 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> i = value.iterator(); + while (i.hasNext()) { + Map.Entry entry = i.next(); + entry.getValue().serialize(entry.getKey(), this); + } + generator.writeEndObject(); + } + } -- cgit v1.2.3