+ static class CustomSerializerProvider extends StdSerializerProvider {
+
+ public CustomSerializerProvider() {
+ super();
+ }
+
+ public CustomSerializerProvider(SerializationConfig config,
+ StdSerializerProvider src, SerializerFactory f) {
+ super(config, src, f);
+ }
+
+ protected StdSerializerProvider createInstance(
+ SerializationConfig config, SerializerFactory jsf) {
+ return new CustomSerializerProvider(config, this, jsf);
+ }
+
+ @Override
+ public JsonSerializer<Object> getUnknownTypeSerializer(
+ Class<?> unknownType) {
+ JsonSerializer<Object> res = new JsonSerializer<Object>() {
+ public void serialize(Object value, JsonGenerator jgen,
+ SerializerProvider provider)
+ throws JsonMappingException {
+ if (log.isDebugEnabled())
+ log.warn("Unknown serializer for "
+ + value.getClass().getName());
+ try {
+ jgen.writeNull();
+ } catch (Exception e) {
+ throw new ArgeoException("Cannot write null", e);
+ }
+ }
+
+ };
+
+ return res;
+ }
+
+ }