List of usage examples for com.fasterxml.jackson.databind SerializerProvider findTypedValueSerializer
public JsonSerializer<Object> findTypedValueSerializer(Class<?> paramClass, boolean paramBoolean, BeanProperty paramBeanProperty)
From source file:javaslang.jackson.datatype.serialize.EitherSerializer.java
private void write(Object val, int containedTypeIndex, JsonGenerator gen, SerializerProvider provider) throws IOException { if (val != null) { if (type.containedTypeCount() > containedTypeIndex) { JsonSerializer<Object> ser; JavaType containedType = type.containedType(containedTypeIndex); if (containedType.getRawClass() != Object.class) { ser = provider.findTypedValueSerializer(type.containedType(containedTypeIndex), true, null); } else { ser = provider.findTypedValueSerializer(val.getClass(), true, null); }/* w ww. j a v a2 s . co m*/ ser.serialize(val, gen, provider); } else { gen.writeObject(val); } } else { gen.writeNull(); } }
From source file:javaslang.jackson.datatype.serialize.ValueSerializer.java
@Override public void serialize(T value, JsonGenerator gen, SerializerProvider provider) throws IOException { Object obj = toJavaObj(value); if (obj == null) { provider.getDefaultNullValueSerializer().serialize(null, gen, provider); } else {//from w w w . j av a 2 s . co m JsonSerializer<Object> ser; try { JavaType emulated = emulatedJavaType(type); if (emulated.getRawClass() != Object.class) { ser = provider.findTypedValueSerializer(emulated, true, null); } else { ser = provider.findTypedValueSerializer(obj.getClass(), true, null); } } catch (Exception ignore) { ser = provider.findTypedValueSerializer(obj.getClass(), true, null); } ser.serialize(obj, gen, provider); } }