]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/Utils.java
6c87d5dc3baeca5fb716cdd9dea4faa5564e176a
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / storage / Utils.java
1 package org.asamk.signal.manager.storage;
2
3 import com.fasterxml.jackson.annotation.JsonAutoDetect;
4 import com.fasterxml.jackson.annotation.PropertyAccessor;
5 import com.fasterxml.jackson.core.JsonGenerator;
6 import com.fasterxml.jackson.core.JsonParser;
7 import com.fasterxml.jackson.databind.DeserializationFeature;
8 import com.fasterxml.jackson.databind.ObjectMapper;
9 import com.fasterxml.jackson.databind.SerializationFeature;
10
11 public class Utils {
12
13 private Utils() {
14 }
15
16 public static ObjectMapper createStorageObjectMapper() {
17 final ObjectMapper jsonProcessor = new ObjectMapper();
18
19 jsonProcessor.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.PUBLIC_ONLY);
20 jsonProcessor.enable(SerializationFeature.INDENT_OUTPUT); // for pretty print
21 jsonProcessor.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
22 jsonProcessor.disable(JsonParser.Feature.AUTO_CLOSE_SOURCE);
23 jsonProcessor.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);
24
25 return jsonProcessor;
26 }
27 }