Example usage for com.fasterxml.jackson.databind.module SimpleModule setSerializerModifier

List of usage examples for com.fasterxml.jackson.databind.module SimpleModule setSerializerModifier

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.module SimpleModule setSerializerModifier.

Prototype

public SimpleModule setSerializerModifier(BeanSerializerModifier mod) 

Source Link

Usage

From source file:com.microsoft.rest.serializer.FlatteningSerializer.java

/**
 * Gets a module wrapping this serializer as an adapter for the Jackson
 * ObjectMapper./*w w  w  .j  a  v a2  s  .c  om*/
 *
 * @param mapper the object mapper for default serializations
 * @return a simple module to be plugged onto Jackson ObjectMapper.
 */
public static SimpleModule getModule(final ObjectMapper mapper) {
    SimpleModule module = new SimpleModule();
    module.setSerializerModifier(new BeanSerializerModifier() {
        @Override
        public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc,
                JsonSerializer<?> serializer) {
            if (beanDesc.getBeanClass().getAnnotation(JsonFlatten.class) != null) {
                return new FlatteningSerializer(beanDesc.getBeanClass(), serializer, mapper);
            }
            return serializer;
        }
    });
    return module;
}

From source file:com.netflix.discovery.converters.jackson.EurekaJsonJacksonCodec.java

private ObjectMapper createObjectMapper(KeyFormatter keyFormatter, boolean compact, boolean wrapped) {
    ObjectMapper newMapper = new ObjectMapper();
    SimpleModule jsonModule = new SimpleModule();
    jsonModule.setSerializerModifier(
            EurekaJacksonJsonModifiers.createJsonSerializerModifier(keyFormatter, compact));

    newMapper.registerModule(jsonModule);
    newMapper.setSerializationInclusion(Include.NON_NULL);
    newMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, wrapped);
    newMapper.configure(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED, false);
    newMapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, wrapped);
    newMapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
    newMapper.addMixIn(Applications.class, ApplicationsJsonMixIn.class);
    if (compact) {
        addMiniConfig(newMapper);/*w ww .j a  v  a2  s  .  co m*/
    } else {
        newMapper.addMixIn(InstanceInfo.class, InstanceInfoJsonMixIn.class);
    }
    return newMapper;
}

From source file:org.springframework.data.rest.webmvc.json.PersistentEntityJackson2ModuleUnitTests.java

@Before
public void setUp() {

    KeyValueMappingContext mappingContext = new KeyValueMappingContext();
    mappingContext.getPersistentEntity(Sample.class);
    mappingContext.getPersistentEntity(SampleWithAdditionalGetters.class);
    mappingContext.getPersistentEntity(PersistentEntityJackson2ModuleUnitTests.PetOwner.class);

    this.persistentEntities = new PersistentEntities(Arrays.asList(mappingContext));

    ResourceProcessorInvoker invoker = new ResourceProcessorInvoker(
            Collections.<ResourceProcessor<?>>emptyList());

    NestedEntitySerializer nestedEntitySerializer = new NestedEntitySerializer(persistentEntities,
            new EmbeddedResourcesAssembler(persistentEntities, associations, mock(ExcerptProjector.class)),
            invoker);//  w  ww . j  av a2s . c  om
    OrderAwarePluginRegistry<EntityLookup<?>, Class<?>> lookups = OrderAwarePluginRegistry.create();

    SimpleModule module = new SimpleModule();

    module.setSerializerModifier(new AssociationOmittingSerializerModifier(persistentEntities, associations,
            nestedEntitySerializer, new LookupObjectSerializer(lookups)));
    module.setDeserializerModifier(new AssociationUriResolvingDeserializerModifier(persistentEntities,
            associations, converter, mock(RepositoryInvokerFactory.class)));

    this.mapper = new ObjectMapper();
    this.mapper.registerModule(module);
}

From source file:com.logsniffer.app.CoreAppConfig.java

@Bean
public ObjectMapper jsonObjectMapper() {
    final ObjectMapper jsonMapper = new ObjectMapper();
    jsonMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    jsonMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    jsonMapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
    jsonMapper.configure(Feature.ALLOW_SINGLE_QUOTES, true);
    jsonMapper.configure(MapperFeature.DEFAULT_VIEW_INCLUSION, false);

    final SimpleModule module = new SimpleModule("FieldsMapping", Version.unknownVersion());
    module.setSerializerModifier(new BeanSerializerModifier() {
        @Override// www .j  a va  2s. com
        public JsonSerializer<?> modifyMapSerializer(final SerializationConfig config, final MapType valueType,
                final BeanDescription beanDesc, final JsonSerializer<?> serializer) {
            if (FieldsMap.class.isAssignableFrom(valueType.getRawClass())) {
                return new FieldsMapMixInLikeSerializer();
            } else {
                return super.modifyMapSerializer(config, valueType, beanDesc, serializer);
            }
        }
    });
    jsonMapper.registerModule(module);
    return jsonMapper;
}

From source file:com.corundumstudio.socketio.protocol.JacksonJsonSupport.java

protected void init(ObjectMapper objectMapper) {
    SimpleModule module = new SimpleModule();
    module.setSerializerModifier(modifier);
    module.addDeserializer(Event.class, eventDeserializer);
    module.addDeserializer(AckArgs.class, ackArgsDeserializer);
    objectMapper.registerModule(module);

    objectMapper.setSerializationInclusion(Include.NON_NULL);
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    objectMapper.configure(SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN, true);
    objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
}