package serializers.jackson; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.cbor.*; import serializers.JavaBuiltIn; import serializers.SerClass; import serializers.SerFeatures; import serializers.SerFormat; import serializers.SerGraph; import serializers.TestGroups; import data.media.MediaContent; public class JacksonCBORDatabind { public static void register(TestGroups groups) { // Jackson Smile defaults: share names, not values register(groups, true, false); } public static void register(TestGroups groups, boolean sharedNames, boolean sharedValues) { CBORFactory factory = new CBORFactory(); // no point in using enum names with binary format, so: ObjectMapper mapper = new ObjectMapper(factory); groups.media.add(JavaBuiltIn.mediaTransformer, new StdJacksonDataBind<MediaContent>("cbor/jackson/databind", MediaContent.class, mapper), new SerFeatures(SerFormat.BIN_CROSSLANG, SerGraph.FLAT_TREE, SerClass.ZERO_KNOWLEDGE, "" )); groups.media.add(JavaBuiltIn.mediaTransformer, new JacksonJsonManual("cbor/jackson/manual", factory), new SerFeatures(SerFormat.BIN_CROSSLANG, SerGraph.FLAT_TREE, SerClass.MANUAL_OPT, "" )); } }