List of usage examples for com.fasterxml.jackson.databind.ser BeanSerializerFactory instance
BeanSerializerFactory instance
To view the source code for com.fasterxml.jackson.databind.ser BeanSerializerFactory instance.
Click Source Link
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); }