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

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

Introduction

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

Prototype

public SimpleModule addSerializer(JsonSerializer<?> ser) 

Source Link

Usage

From source file:org.brutusin.json.impl.JacksonCodec.java

@Override
public void registerStringFormat(Class clazz, String format) {
    this.schemaFactory.registerStringFormat(clazz, format);
    SimpleModule testModule = new SimpleModule("json-provider-module:" + format,
            new Version(1, 0, 0, null, "org.brutusin", "json-provider:" + format));
    testModule.addSerializer(new StdSerializer(clazz) {
        @Override// ww  w .  j a v  a  2 s .c  o  m
        public void serialize(Object value, JsonGenerator gen, SerializerProvider provider) throws IOException {
            gen.writeString(value.toString());
        }
    });
    mapper.registerModule(testModule);
}

From source file:org.brutusin.json.impl.JacksonCodec.java

public JacksonCodec(ObjectMapper mapper, JacksonFactoryWrapper schemaFactory) {
    if (mapper == null) {
        mapper = new ObjectMapper();

        mapper.setVisibility(mapper.getSerializationConfig().getDefaultVisibilityChecker()
                .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
                .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
                .withIsGetterVisibility(JsonAutoDetect.Visibility.NONE));

        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

        SimpleModule testModule = new SimpleModule("json-provider-module",
                new Version(1, 0, 0, null, "org.brutusin", "json-provider"));
        testModule.addSerializer(new JsonNodeSerializer());
        testModule.addDeserializer(JsonNode.class, new JsonNodeDeserializer());
        testModule.addSerializer(new InputStreamSerializer());
        testModule.addDeserializer(InputStream.class, new InputStreamDeserializer());
        testModule.addDeserializer(MetaDataInputStream.class, new InputStreamDeserializer());
        mapper.registerModule(testModule);
    }//  www . j  a  v a 2  s .c om
    if (schemaFactory == null) {
        schemaFactory = new JacksonFactoryWrapper(new HashMap<Class, String>(DEFAULT_FORMAT_MAP));
    }
    this.mapper = mapper;
    this.schemaFactory = schemaFactory;
}

From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java

@Test
public void testGenerateDocumentationForExternalSerializer() throws Exception {
    // given// ww  w. ja  v a2s .c o  m
    ObjectMapper mapper = createMapper();

    JavadocReader javadocReader = mock(JavadocReader.class);
    when(javadocReader.resolveFieldComment(ExternalSerializer.class, "bigDecimal")).thenReturn("A decimal");

    ConstraintReader constraintReader = mock(ConstraintReader.class);

    SimpleModule testModule = new SimpleModule("TestModule");
    testModule.addSerializer(new BigDecimalSerializer());
    mapper.registerModule(testModule);

    FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader,
            constraintReader);
    Type type = ExternalSerializer.class;

    // when
    List<ExtendedFieldDescriptor> fieldDescriptions = cast(
            generator.generateDocumentation(type, mapper.getTypeFactory()));

    // then
    assertThat(fieldDescriptions.size(), is(1));
    assertThat(fieldDescriptions.get(0), is(descriptor("bigDecimal", "Decimal", "A decimal", "true")));
}

From source file:org.springside.examples.showcase.demos.utilities.json.JsonDemo.java

/**
 * ????MoneyLong./*from w ww .j  a v a2 s  .c om*/
 */
@Test
public void customConverter() {

    JsonMapper newMapper = JsonMapper.nonEmptyMapper();

    SimpleModule moneyModule = new SimpleModule("MoneyModule");
    moneyModule.addSerializer(new MoneySerializer());
    moneyModule.addDeserializer(Money.class, new MoneyDeserializer());
    newMapper.getMapper().registerModule(moneyModule);

    // tojson
    User user = new User();
    user.setName("foo");
    user.setSalary(new Money(1.2));

    String jsonString = newMapper.toJson(user);

    assertThat(jsonString).isEqualTo("{\"name\":\"foo\",\"salary\":\"1.2\"}");

    // from
    User resultUser = newMapper.fromJson(jsonString, User.class);
    assertThat(resultUser.getSalary().value).isEqualTo(1.2);

}