List of usage examples for com.fasterxml.jackson.databind SerializerProvider defaultSerializeValue
public final void defaultSerializeValue(Object paramObject, JsonGenerator paramJsonGenerator)
From source file:com.unboundid.scim2.common.utils.JsonRefBeanSerializer.java
/** * {@inheritDoc}/*from w ww . ja v a2s . c om*/ */ @Override public void serialize(final Object value, final JsonGenerator gen, final SerializerProvider serializers) throws IOException { Class<?> clazz = value.getClass(); try { gen.writeStartObject(); Collection<PropertyDescriptor> propertyDescriptors = SchemaUtils.getPropertyDescriptors(clazz); for (PropertyDescriptor propertyDescriptor : propertyDescriptors) { Field field = SchemaUtils.findField(clazz, propertyDescriptor.getName()); if (field == null) { continue; } field.setAccessible(true); Object obj = field.get(value); if (obj instanceof JsonReference) { JsonReference<?> reference = (JsonReference<?>) obj; if (reference.isSet()) { gen.writeFieldName(field.getName()); serializers.defaultSerializeValue(reference.getObj(), gen); } } } gen.writeEndObject(); } catch (IntrospectionException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } }