List of usage examples for com.fasterxml.jackson.databind SerializerProvider findValueSerializer
public JsonSerializer<Object> findValueSerializer(Class<?> paramClass, BeanProperty paramBeanProperty)
From source file:org.mongojack.internal.util.JacksonAccessor.java
public static JsonSerializer findValueSerializer(SerializerProvider serializerProvider, Class clazz) { try {/* w w w .j av a 2 s. co m*/ return serializerProvider.findValueSerializer(clazz, null); } catch (JsonMappingException e) { throw new RuntimeException(e); } }
From source file:org.mongojack.internal.util.JacksonAccessor.java
public static JsonSerializer findValueSerializer(SerializerProvider serializerProvider, JavaType javaType) { try {//from www. ja v a 2s.c om return serializerProvider.findValueSerializer(javaType, null); } catch (JsonMappingException e) { throw new RuntimeException(e); } }
From source file:net.nullschool.grains.jackson.datatype.GrainSerializer.java
private JsonSerializer<Object> findLateSerializer(Class<?> valueClass, SerializerProvider provider) throws JsonMappingException { JsonSerializer<Object> serializer = lateSerializerMemos.serializerFor(valueClass); if (serializer == null) { serializer = provider.findValueSerializer(valueClass, null); lateSerializerMemos = lateSerializerMemos.newWith(valueClass, serializer); }// ww w .ja v a 2 s . co m return serializer; }
From source file:be.dnsbelgium.rdap.jackson.StructuredValueSerializer.java
@Override public void serialize(StructuredValue value, JsonGenerator jgen, SerializerProvider provider) throws IOException { for (StructuredValue.Component c : value.getComponents()) { // in a structured context, a list-component must start with [ and end with ] if (AbstractList.class.isAssignableFrom(c.value.getClass()) && ((AbstractList) c.value).getValues() != null && ((AbstractList) c.value).getValues().size() > 1) { jgen.writeStartArray();// w w w. ja v a 2s . c o m provider.findValueSerializer(c.value.getClass(), null).serialize(c.value, jgen, provider); jgen.writeEndArray(); } else { provider.findValueSerializer(c.value.getClass(), null).serialize(c.value, jgen, provider); } } }
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 {/*w ww . j a v a2s.co m*/ 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 {/*from ww w . j a va2 s . c o m*/ Class<? extends Object> javaTypeForValue = valueAsJavaType.getClass(); JsonSerializer<Object> valueSerializer = serializerProvider.findValueSerializer(javaTypeForValue, null); return (SchemaAware) valueSerializer; } }
From source file:net.nullschool.grains.jackson.datatype.GrainSerializer.java
@Override public void resolve(SerializerProvider provider) throws JsonMappingException { if (isResolved.getAndSet(true)) { // This serializer has already been resolved so don't resolve again; avoids stack overflow. return;// w w w .j av a 2 s. c om } List<PropertyWriter> writers = new ArrayList<>(); for (GrainProperty gp : factory.getBasisProperties().values()) { JacksonGrainProperty prop = new JacksonGrainProperty(gp, provider.getTypeFactory(), handledType()); JsonSerializer<Object> serializer = provider.findValueSerializer(prop.getType(), prop); writers.add(new PropertyWriter(prop.getName(), serializer)); } this.writers = writers.toArray(new PropertyWriter[writers.size()]); }
From source file:de.tudarmstadt.ukp.clarin.webanno.brat.message.BeanAsArraySerializer.java
@Override public void serializeContents(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { JsonPropertyOrder order = value.getClass().getAnnotation(JsonPropertyOrder.class); String[] propOrder = (order == null) ? null : order.value(); if (propOrder == null) { throw new IllegalStateException("Bean must declare JsonPropertyOrder!"); }/*from w w w .ja v a2 s .com*/ if (propOrder.length == 0) { return; } int i = 0; try { do { Field field = value.getClass().getDeclaredField(propOrder[i]); ReflectionUtils.makeAccessible(field); Object elem = field.get(value); if (elem == null) { provider.defaultSerializeNull(jgen); } else { Class<?> cc = elem.getClass(); JsonSerializer<Object> serializer = provider.findValueSerializer(cc, null); serializer.serialize(elem, jgen, provider); } ++i; } while (i < propOrder.length); } catch (Exception e) { // [JACKSON-55] Need to add reference information wrapAndThrow(provider, e, value, i); } }
From source file:de.undercouch.bson4jackson.BsonGenerator.java
/** * Write a BSON JavaScript object/*from w w w .j a va2 s.com*/ * * @param javaScript The javaScript to write * @param provider The serializer provider, for serializing the scope * @throws IOException If an error occurred in the stream while writing */ public void writeJavaScript(JavaScript javaScript, SerializerProvider provider) throws IOException { _writeArrayFieldNameIfNeeded(); _verifyValueWrite("write javascript"); if (javaScript.getScope() == null) { _buffer.putByte(_typeMarker, BsonConstants.TYPE_JAVASCRIPT); _writeString(javaScript.getCode()); } else { _buffer.putByte(_typeMarker, BsonConstants.TYPE_JAVASCRIPT_WITH_SCOPE); // reserve space for the entire structure size int p = _buffer.size(); _buffer.putInt(0); // write the code _writeString(javaScript.getCode()); nextObjectIsEmbeddedInValue = true; // write the document provider.findValueSerializer(Map.class, null).serialize(javaScript.getScope(), this, provider); // write the length if (!isEnabled(Feature.ENABLE_STREAMING)) { int l = _buffer.size() - p + 4; _buffer.putInt(p, l); } } flushBuffer(); }
From source file:be.dnsbelgium.rdap.jackson.ContactSerializer.java
@Override public void serialize(Contact contact, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeStartArray();//from w w w. j a v a 2 s .c o m // start write version jsonGenerator.writeStartArray(); jsonGenerator.writeString("version"); jsonGenerator.writeStartObject(); jsonGenerator.writeEndObject(); jsonGenerator.writeString("text"); jsonGenerator.writeString("4.0"); jsonGenerator.writeEndArray(); // end write version for (Contact.Property property : contact.getProperties()) { // start write property jsonGenerator.writeStartArray(); // start write property name String key = (property.getGroup() == null) ? property.getName() : property.getGroup() + "." + property.getName(); jsonGenerator.writeString(property.getName().toLowerCase(Locale.ENGLISH)); // end write property name // start write property parameters jsonGenerator.writeStartObject(); if (property.getGroup() != null) { jsonGenerator.writeFieldName("group"); jsonGenerator.writeString(property.getGroup()); } if (property.getParameters() != null) { Iterator<String> it = property.getParameters().keys(); while (it.hasNext()) { String k = it.next(); if (k.equalsIgnoreCase("value")) { continue; } Set<String> values = property.getParameters().get(k); if (values.size() == 0) { // no parameters for this property, skip this step continue; } jsonGenerator.writeFieldName(k.toLowerCase(Locale.ENGLISH)); if (values.size() == 1) { jsonGenerator.writeString(values.toArray(new String[values.size()])[0]); continue; } // start write all property parameter values (array) jsonGenerator.writeStartArray(); for (String str : property.getParameters().get(k)) { jsonGenerator.writeString(str); } jsonGenerator.writeEndArray(); // end write all property parameter values (array) } } jsonGenerator.writeEndObject(); // end write property parameters // start write property type String value = "text"; if (property.getParameters() != null) { Set<String> types = property.getParameters().get("VALUE"); if (types != null) { value = types.iterator().next(); } } jsonGenerator.writeString(value); // end write property type // start write property value JsonSerializer s = serializerProvider.findValueSerializer(property.getValue().getClass(), null); s.serialize(property.getValue(), jsonGenerator, serializerProvider); // end write property value jsonGenerator.writeEndArray(); // end write property } jsonGenerator.writeEndArray(); }