@Inject public JacksonJsonTransport(ConverterRegistry registry) { this.objectMapper = new ObjectMapper(); CustomDeserializerFactory deserializerFactory = new CustomDeserializerFactory(); // leave these for Jackson to handle exceptions.add(String.class); exceptions.add(Object.class); exceptions.addAll(Primitives.allWrapperTypes()); // Multimap<Type, ConverterDirection> typeToConverterDirection = ArrayListMultimap.create(); addConverterDirections(registry, true, typeToConverterDirection); addConverterDirections(registry, false, typeToConverterDirection); createJacksonDeserializers(deserializerFactory, typeToConverterDirection); objectMapper.setDeserializerProvider(new StdDeserializerProvider(deserializerFactory)); }
public static ObjectMapper createCustomMapper() { ObjectMapper result = new ObjectMapper(); CustomDeserializerFactory deserializerFactory = new CustomDeserializerFactory(); deserializerFactory.addSpecificMapping(Configuration.class, new ConfigurationDeserializer()); deserializerFactory.addSpecificMapping(CounterMap.class, new CounterDeserializer()); result.setDeserializerProvider(new StdDeserializerProvider(deserializerFactory)); return result; }
public static ObjectMapper createCustomMapper() { ObjectMapper result = new ObjectMapper(); CustomDeserializerFactory deserializerFactory = new CustomDeserializerFactory(); deserializerFactory.addSpecificMapping(Configuration.class, new ConfigurationDeserializer()); deserializerFactory.addSpecificMapping(CounterMap.class, new CounterDeserializer()); result.setDeserializerProvider(new StdDeserializerProvider(deserializerFactory)); return result; }
public EurekaJsonCodec(Set<Class<?>> acceptedTypes) { this.acceptedTypes = acceptedTypes; mapper = new ObjectMapper(); SimpleSerializers serializers = new SimpleSerializers(); serializers.addSerializer(Enum.class, new EnumSerializer()); SerializerFactory serializerFactory = BeanSerializerFactory .instance .withAdditionalSerializers(serializers) .withSerializerModifier(new TypeInjectingModifier()); DeserializerFactory deserializerFactory = BeanDeserializerFactory .instance .withDeserializerModifier(new TypeResolvingModifier(mapper)); mapper.setSerializerFactory(serializerFactory); mapper.setDeserializerProvider(new StdDeserializerProvider(deserializerFactory)); mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY); mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(Feature.FAIL_ON_EMPTY_BEANS, false); mapper.configure(Feature.AUTO_DETECT_GETTERS, false); }
mapper.setDeserializerProvider(deserializerProvider);