]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/output/JsonWriterImpl.java
Check if required quote-author parameter is missing
[signal-cli] / src / main / java / org / asamk / signal / output / JsonWriterImpl.java
1 package org.asamk.signal.output;
2
3 import com.fasterxml.jackson.core.JsonProcessingException;
4 import com.fasterxml.jackson.databind.ObjectMapper;
5
6 import org.asamk.signal.util.Util;
7
8 import java.io.IOException;
9 import java.io.Writer;
10
11 public class JsonWriterImpl implements JsonWriter {
12
13 private final Writer writer;
14 private final ObjectMapper objectMapper;
15
16 public JsonWriterImpl(final Writer writer) {
17 this.writer = writer;
18 this.objectMapper = Util.createJsonObjectMapper();
19 }
20
21 public synchronized void write(final Object object) {
22 try {
23 try {
24 objectMapper.writeValue(writer, object);
25 } catch (JsonProcessingException e) {
26 // Some issue with json serialization, probably caused by a bug
27 throw new AssertionError(e);
28 }
29 writer.write(System.lineSeparator());
30 writer.flush();
31 } catch (IOException e) {
32 throw new AssertionError(e);
33 }
34 }
35 }