From bfeebfeb693f1f2ef0d2f6abb34bdf0aeffa3af4 Mon Sep 17 00:00:00 2001 From: Thomas <> Date: Mon, 15 May 2023 08:34:22 +0200 Subject: feat(utils): add custom Jackson (de)serialization for polymorph class structures --- .../eaaf/core/impl/json/EscapedJsonSerializer.java | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/json/EscapedJsonSerializer.java (limited to 'eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/json/EscapedJsonSerializer.java') diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/json/EscapedJsonSerializer.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/json/EscapedJsonSerializer.java new file mode 100644 index 00000000..a79f4d90 --- /dev/null +++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/json/EscapedJsonSerializer.java @@ -0,0 +1,73 @@ +package at.gv.egiz.eaaf.core.impl.json; + +import java.io.IOException; +import java.io.StringWriter; +import java.util.Collection; + +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.jsontype.TypeSerializer; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.fasterxml.jackson.databind.node.TextNode; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + + +/** + * Custom Jackson Serializer to support generic types and serialize them as + * escaped Strings. + * + *
+ * Code was an example from stack-overflow. + *
+ * + * @author tlenz + * + */ +public class EscapedJsonSerializer extends StdSerializer