List of usage examples for com.fasterxml.jackson.databind.module SimpleModule addDeserializer
public <T> SimpleModule addDeserializer(Class<T> type, JsonDeserializer<? extends T> deser)
From source file:com.arpnetworking.metrics.mad.configuration.PipelineConfiguration.java
/** * Create an <code>ObjectMapper</code> for Pipeline configuration. * * @param injector The Guice <code>Injector</code> instance. * @return An <code>ObjectMapper</code> for Pipeline configuration. *//*w w w. ja v a 2 s.c o m*/ public static ObjectMapper createObjectMapper(final Injector injector) { final ObjectMapper objectMapper = ObjectMapperFactory.createInstance(); final SimpleModule module = new SimpleModule("Pipeline"); module.addDeserializer(Statistic.class, new StatisticDeserializer()); objectMapper.registerModules(module); final GuiceAnnotationIntrospector guiceIntrospector = new GuiceAnnotationIntrospector(); objectMapper.setInjectableValues(new GuiceInjectableValues(injector)); objectMapper.setAnnotationIntrospectors( new AnnotationIntrospectorPair(guiceIntrospector, objectMapper.getSerializationConfig().getAnnotationIntrospector()), new AnnotationIntrospectorPair(guiceIntrospector, objectMapper.getDeserializationConfig().getAnnotationIntrospector())); return objectMapper; }
From source file:org.jongo.marshall.jackson.JacksonProcessor.java
private static void addBSONTypeSerializers(SimpleModule module) { NativeSerializer serializer = new NativeSerializer(); NativeDeserializer deserializer = new NativeDeserializer(); for (Class primitive : BSONPrimitives.getPrimitives()) { module.addSerializer(primitive, serializer); module.addDeserializer(primitive, deserializer); }// www . ja v a2 s. c o m module.addDeserializer(Date.class, new BackwardDateDeserializer(deserializer)); }
From source file:com.groupdocs.sdk.common.ApiInvoker.java
@SuppressWarnings("unchecked") public static Object deserialize(String json, String containerType, @SuppressWarnings("rawtypes") Class cls) throws ApiException { try {// w w w.jav a 2 s . com ObjectMapper mapper = JsonUtil.getJsonMapper(); SimpleModule m = new SimpleModule(PACKAGE_NAME, Version.unknownVersion()); m.addDeserializer(Date.class, new CustomDateDeserializer(new DateDeserializer())); mapper.registerModule(m); if ("List".equals(containerType)) { JavaType typeInfo = mapper.getTypeFactory().constructCollectionType(List.class, cls); List<?> response = (List<?>) mapper.readValue(json, typeInfo); return response; } else if (String.class.equals(cls)) { return json; } else { return mapper.readValue(json, cls); } } catch (IOException e) { throw new ApiException(500, e.getMessage()); } }
From source file:com.reprezen.swagedit.model.Model.java
protected static ObjectMapper createMapper() { final ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); final SimpleModule module = new SimpleModule(); module.addDeserializer(AbstractNode.class, new NodeDeserializer()); mapper.registerModule(module);// www . j ava 2 s . c o m return mapper; }
From source file:net.roboconf.dm.rest.commons.json.JSonBindingUtils.java
/** * Creates a mapper with specific binding for Roboconf types. * @return a non-null, configured mapper *///from w ww. j ava2s . c om public static ObjectMapper createObjectMapper() { ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); SimpleModule module = new SimpleModule("RoboconfModule", new Version(1, 0, 0, null, null, null)); module.addSerializer(Instance.class, new InstanceSerializer()); module.addDeserializer(Instance.class, new InstanceDeserializer()); module.addSerializer(Application.class, new ApplicationSerializer()); module.addDeserializer(Application.class, new ApplicationDeserializer()); module.addSerializer(Component.class, new ComponentSerializer()); module.addDeserializer(Component.class, new ComponentDeserializer()); mapper.registerModule(module); return mapper; }
From source file:org.kiji.rest.KijiRESTService.java
/** * Registers custom serializers with the Jackson ObjectMapper via DropWizard's * ObjectMapperFactory. This is used by both the service initialization and the test * setup method to ensure consistency between test and production. * * @param mapperFactory is the ObjectMapperFactory. *//*from w w w. ja v a 2 s .com*/ public static void registerSerializers(ObjectMapperFactory mapperFactory) { // TODO: Add a module to convert btw Avro's specific types and JSON. The default // mapping seems to throw an exception. SimpleModule module = new SimpleModule("KijiRestModule", new Version(1, 0, 0, null, "org.kiji.rest", "serializers")); module.addSerializer(new AvroToJsonStringSerializer()); module.addSerializer(new Utf8ToJsonSerializer()); module.addSerializer(new TableLayoutToJsonSerializer()); module.addSerializer(new SchemaOptionToJson()); module.addDeserializer(SchemaOption.class, new JsonToSchemaOption()); module.addSerializer(new KijiRestEntityIdToJson()); module.addDeserializer(KijiRestEntityId.class, new JsonToKijiRestEntityId()); mapperFactory.registerModule(module); }
From source file:org.jboss.aerogear.simplepush.protocol.impl.json.JsonUtil.java
private static ObjectMapper createObjectMapper() { om = new ObjectMapper(); final SimpleModule module = new SimpleModule("MyModule", new Version(0, 10, 0, null, "org.jboss.aerogear", "aerogear-simplepush-server")); module.addDeserializer(MessageType.class, new MessageTypeDeserializer()); module.addDeserializer(RegisterMessageImpl.class, new RegisterDeserializer()); module.addSerializer(RegisterMessageImpl.class, new RegisterSerializer()); module.addDeserializer(RegisterResponseImpl.class, new RegisterResponseDeserializer()); module.addSerializer(RegisterResponseImpl.class, new RegisterResponseSerializer()); module.addDeserializer(HelloMessageImpl.class, new HelloDeserializer()); module.addSerializer(HelloMessageImpl.class, new HelloSerializer()); module.addDeserializer(HelloResponseImpl.class, new HelloResponseDeserializer()); module.addSerializer(HelloResponseImpl.class, new HelloResponseSerializer()); module.addDeserializer(AckMessageImpl.class, new AckDeserializer()); module.addSerializer(AckMessageImpl.class, new AckSerializer()); module.addDeserializer(PingMessageImpl.class, new PingDeserializer()); module.addSerializer(PingMessageImpl.class, new PingSerializer()); module.addDeserializer(NotificationMessageImpl.class, new NotificationDeserializer()); module.addSerializer(NotificationMessageImpl.class, new NotificationSerializer()); module.addDeserializer(UnregisterMessageImpl.class, new UnregisterDeserializer()); module.addSerializer(UnregisterMessageImpl.class, new UnregisterMessageSerializer()); module.addDeserializer(UnregisterResponseImpl.class, new UnregisterResponseDeserializer()); module.addSerializer(UnregisterResponseImpl.class, new UnregisterResponseSerializer()); om.registerModule(module);/* w w w.ja va 2s . c o m*/ return om; }
From source file:org.craftercms.commons.jackson.JacksonUtils.java
/** * Creates a module from a set of serializers and deserializes. * * @param serializers the serializers, can be null or empty * @param deserializers the deserializers, can be null or empty * * @return a non-reusable Jackson module composed of the specified serializers and deserializers */// w w w.j a va 2 s. co m @SuppressWarnings("unchecked") public static final Module createModule(List<JsonSerializer<?>> serializers, Map<Class<?>, JsonDeserializer<?>> deserializers) { SimpleModule module = new SimpleModule(); if (CollectionUtils.isNotEmpty(serializers)) { for (JsonSerializer<?> serializer : serializers) { module.addSerializer(serializer); } } if (MapUtils.isNotEmpty(deserializers)) { for (Map.Entry<Class<?>, JsonDeserializer<?>> entry : deserializers.entrySet()) { Class<Object> type = (Class<Object>) entry.getKey(); JsonDeserializer<Object> des = (JsonDeserializer<Object>) entry.getValue(); module.addDeserializer(type, des); } } return module; }
From source file:com.arpnetworking.jackson.BuilderDeserializer.java
/** * Register builder deserializers for the the transitive closure of builders * anchored by the target class in the provided <code>SimpleModule</code>. * * @param targetModule The <code>SimpleModule</code> to register in. * @param targetClass The root of the type tree to traverse. *///w w w. j ava2s . c om public static void addTo(final SimpleModule targetModule, final Class<?> targetClass) { final Map<Class<?>, JsonDeserializer<?>> typeToDeserializer = Maps.newHashMap(); addTo(Sets.<Type>newHashSet(), typeToDeserializer, targetClass); for (final Map.Entry<Class<?>, JsonDeserializer<?>> entry : typeToDeserializer.entrySet()) { @SuppressWarnings("unchecked") final Class<Object> clazz = (Class<Object>) entry.getKey(); targetModule.addDeserializer(clazz, entry.getValue()); } }
From source file:com.ikanow.aleph2.data_model.utils.BeanTemplateUtils.java
/** Configures a mapper with the desired properties for use in Aleph2 * @param configure_me - leave this empty to create a new mapper, or add one to configure an existing mapper * @return//from w w w . ja v a 2s . co m */ public static ObjectMapper configureMapper(final Optional<ObjectMapper> configure_me) { final ObjectMapper mapper = configure_me.orElse(new ObjectMapper()); mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY); mapper.setSerializationInclusion(Include.NON_NULL); mapper.setVisibility(PropertyAccessor.IS_GETTER, JsonAutoDetect.Visibility.NONE); final SimpleModule module = new SimpleModule(); module.addDeserializer(Number.class, new NumberDeserializer()); mapper.registerModule(module); return mapper; }