Example usage for com.fasterxml.jackson.databind.ser BeanSerializerFactory instance

List of usage examples for com.fasterxml.jackson.databind.ser BeanSerializerFactory instance

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.ser BeanSerializerFactory instance.

Prototype

BeanSerializerFactory instance

To view the source code for com.fasterxml.jackson.databind.ser BeanSerializerFactory instance.

Click Source Link

Usage

From source file:de.escalon.hypermedia.spring.hydra.ResourceSerializer.java

@Override
public void serialize(Resource value, JsonGenerator jgen, SerializerProvider provider) throws IOException {

    final SerializationConfig config = provider.getConfig();
    JavaType javaType = config.constructType(value.getClass());

    JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(provider, javaType);

    jgen.writeStartObject();/* ww  w.ja  v a2s.c o m*/
    serializer.unwrappingSerializer(NameTransformer.NOP).serialize(value, jgen, provider);

    jgen.writeEndObject();

}

From source file:de.escalon.hypermedia.spring.de.escalon.hypermedia.spring.jackson.ResourcesSerializer.java

@Override
public void serialize(Resources value, JsonGenerator jgen, SerializerProvider provider) throws IOException {

    final SerializationConfig config = provider.getConfig();
    JavaType javaType = config.constructType(value.getClass());

    JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(provider, javaType);

    jgen.writeStartObject();// ww w.  j a v  a  2 s.  co  m
    serializer.serialize(value, jgen, provider);
    jgen.writeEndObject();

}

From source file:de.escalon.hypermedia.spring.de.escalon.hypermedia.spring.jackson.ResourceSerializer.java

@Override
public void serialize(Resource value, JsonGenerator jgen, SerializerProvider provider) throws IOException {

    final SerializationConfig config = provider.getConfig();
    JavaType javaType = config.constructType(value.getClass());

    JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(provider, javaType);

    jgen.writeStartObject();//from  w  w  w  . ja  v  a 2s  .  co m
    serializer.unwrappingSerializer(NameTransformer.NOP).serialize(value, jgen, provider);

    //        // make a Link Serializer
    //        for (Link link : value.getLinks()) {
    //            final String rel = link.getRel();
    //            String linkFieldName = IanaRels.isIanaRel(rel) ? IANA_REL_PREFIX + rel : rel;
    //            jgen.writeFieldName(linkFieldName);
    //            jgen.writeStartObject();
    //            jgen.writeStringField("@id", link.getHref());
    //            jgen.writeEndObject();
    //        }
    jgen.writeEndObject();

}

From source file:de.escalon.hypermedia.spring.hydra.PagedResourcesSerializer.java

@Override
public void serialize(PagedResources pagedResources, JsonGenerator jgen, SerializerProvider serializerProvider)
        throws IOException {

    final SerializationConfig config = serializerProvider.getConfig();
    JavaType javaType = config.constructType(pagedResources.getClass());

    JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(serializerProvider,
            javaType);/*from w w w .j av  a  2  s. c  o  m*/

    // replicate pretty much everything from JacksonHydraSerializer
    // since we must reorganize the internals of pagedResources to get a hydra collection
    // with partial page view, we have to serialize pagedResources with an
    // unwrapping serializer
    Deque<LdContext> contextStack = (Deque<LdContext>) serializerProvider.getAttribute(KEY_LD_CONTEXT);
    if (contextStack == null) {
        contextStack = new ArrayDeque<LdContext>();
        serializerProvider.setAttribute(KEY_LD_CONTEXT, contextStack);
    }

    // TODO: filter next/previous/first/last from link list - maybe create new PagedResources without them?
    List<Link> links = pagedResources.getLinks();
    List<Link> filteredLinks = new ArrayList<Link>();
    for (Link link : links) {
        String rel = link.getRel();
        if (navigationRels.contains(rel)) {
            continue;
        } else {
            filteredLinks.add(link);
        }
    }

    PagedResources toRender = new PagedResources(pagedResources.getContent(), pagedResources.getMetadata(),
            filteredLinks);

    jgen.writeStartObject();

    serializeContext(toRender, jgen, serializerProvider, contextStack);

    jgen.writeStringField(JsonLdKeywords.AT_TYPE, "hydra:Collection");

    // serialize with PagedResourcesMixin
    serializer.unwrappingSerializer(NameTransformer.NOP).serialize(toRender, jgen, serializerProvider);

    PagedResources.PageMetadata metadata = pagedResources.getMetadata();
    jgen.writeNumberField("hydra:totalItems", metadata.getTotalElements());

    // begin hydra:view
    jgen.writeObjectFieldStart("hydra:view");
    jgen.writeStringField(JsonLdKeywords.AT_TYPE, "hydra:PartialCollectionView");
    writeRelLink(pagedResources, jgen, Link.REL_NEXT);
    writeRelLink(pagedResources, jgen, "previous");
    // must also translate prev to its synonym previous
    writeRelLink(pagedResources, jgen, Link.REL_PREVIOUS, "previous");
    writeRelLink(pagedResources, jgen, Link.REL_FIRST);
    writeRelLink(pagedResources, jgen, Link.REL_LAST);
    jgen.writeEndObject();
    // end hydra:view

    jgen.writeEndObject();

    contextStack = (Deque<LdContext>) serializerProvider.getAttribute(KEY_LD_CONTEXT);
    if (!contextStack.isEmpty()) {
        contextStack.pop();
    }

}

From source file:org.springframework.amqp.support.converter.Jackson2JsonMessageConverterTests.java

@Test
public void simpleTradeOverrideMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializerFactory(BeanSerializerFactory.instance);
    converter.setJsonObjectMapper(mapper);

    Message message = converter.toMessage(trade, new MessageProperties());

    SimpleTrade marshalledTrade = (SimpleTrade) converter.fromMessage(message);
    assertEquals(trade, marshalledTrade);
}

From source file:com.google.api.server.spi.ObjectMapperUtil.java

/**
 * Creates an Endpoints standard object mapper that allows unquoted field names and unknown
 * properties./*  ww  w. j a  v a2  s .  co m*/
 *
 * Note on unknown properties: When Apiary FE supports a strict mode where properties
 * are checked against the schema, BE can just ignore unknown properties.  This way, FE does
 * not need to filter out everything that the BE doesn't understand.  Before that's done,
 * a property name with a typo in it, for example, will just be ignored by the BE.
 */
public static ObjectMapper createStandardObjectMapper(ApiSerializationConfig config) {
    ObjectMapper objectMapper = new ObjectMapper().configure(JsonParser.Feature.ALLOW_COMMENTS, true)
            .configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true)
            .configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true)
            .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).setSerializerFactory(
                    BeanSerializerFactory.instance.withSerializerModifier(new DeepEmptyCheckingModifier()));
    AnnotationIntrospector pair = AnnotationIntrospector.pair(new ApiAnnotationIntrospector(config),
            new JacksonAnnotationIntrospector());
    objectMapper.setAnnotationIntrospector(pair);
    return objectMapper;
}

From source file:com.googlecode.jsonschema2pojo.SchemaGenerator.java

private SchemaAware getValueSerializer(Object valueAsJavaType) throws JsonMappingException {

    SerializerProvider serializerProvider = new DefaultSerializerProvider.Impl()
            .createInstance(OBJECT_MAPPER.getSerializationConfig(), BeanSerializerFactory.instance);

    if (valueAsJavaType == null) {
        return NullSerializer.instance;
    } else {/*www. j  a v  a  2 s.c om*/
        Class<? extends Object> javaTypeForValue = valueAsJavaType.getClass();
        JsonSerializer<Object> valueSerializer = serializerProvider.findValueSerializer(javaTypeForValue, null);
        return (SchemaAware) valueSerializer;
    }
}

From source file:org.jsonschema2pojo.SchemaGenerator.java

private SchemaAware getValueSerializer(Object valueAsJavaType) throws JsonMappingException {

    SerializerProvider serializerProvider = new DefaultSerializerProvider.Impl()
            .createInstance(OBJECT_MAPPER.getSerializationConfig(), BeanSerializerFactory.instance);

    if (valueAsJavaType == null) {
        return NullSerializer.instance;
    } else if (valueAsJavaType instanceof Long) {
        // longs are 'integers' in schema terms
        JsonSerializer<Object> valueSerializer = serializerProvider.findValueSerializer(Integer.class, null);
        return (SchemaAware) valueSerializer;
    } else {// w ww .ja  va 2s  . c o  m
        Class<? extends Object> javaTypeForValue = valueAsJavaType.getClass();
        JsonSerializer<Object> valueSerializer = serializerProvider.findValueSerializer(javaTypeForValue, null);
        return (SchemaAware) valueSerializer;
    }
}

From source file:org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint.java

/**
 * Ensure only bindable and non-cyclic bean properties are reported.
 * @param mapper the object mapper//from   w ww. j  a  v  a 2 s  .c  o  m
 */
private void applySerializationModifier(ObjectMapper mapper) {
    SerializerFactory factory = BeanSerializerFactory.instance
            .withSerializerModifier(new GenericSerializerModifier());
    mapper.setSerializerFactory(factory);
}