diff options
Diffstat (limited to 'container-core/src/main/java/com/yahoo/json/Jackson.java')
-rw-r--r-- | container-core/src/main/java/com/yahoo/json/Jackson.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/container-core/src/main/java/com/yahoo/json/Jackson.java b/container-core/src/main/java/com/yahoo/json/Jackson.java new file mode 100644 index 00000000000..41a1ada5cc8 --- /dev/null +++ b/container-core/src/main/java/com/yahoo/json/Jackson.java @@ -0,0 +1,27 @@ +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.json; + +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonFactoryBuilder; +import com.fasterxml.jackson.core.StreamReadFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class Jackson { + private static final ObjectMapper mapperInstance = createMapper(); + /// Create an ObjectMapper based on given factory, adds additional recommended settings + public static ObjectMapper createMapper() { + return createMapper(new JsonFactoryBuilder()); + } + + /// Create an ObjectMapper based on given factory, adds additional recommended settings + public static ObjectMapper createMapper(JsonFactoryBuilder jsonFactoryBuilder) { + JsonFactory jsonFactory = jsonFactoryBuilder + // This changes in 2.16, needs to consider what to do + .configure(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION, true) + .build(); + return new ObjectMapper(jsonFactory); + } + + /// Return a default ObjectMapper with recommended settings + public static ObjectMapper mapper() { return mapperInstance; } +} |