Java 类com.fasterxml.jackson.databind.ser.BeanSerializer 实例源码

项目:log4j2-extended-jsonlayout    文件:ExtendedJsonSerializer.java   
@Override
 protected void serializeFields(Object bean, final JsonGenerator gen, SerializerProvider provider) throws IOException {
     if (bean instanceof ExtendedJsonWrapper) {
         ExtendedJsonWrapper mixin = (ExtendedJsonWrapper) bean;
         Object origin = mixin.getOrigin();

         BeanSerializer serializer = (BeanSerializer) provider.findValueSerializer(origin.getClass());
         new ExtendedJsonSerializer(serializer).serializeFieldsFiltered(origin, gen, provider);

         Set<Entry<String, Object>> entries = mixin.getMixed().entrySet();

         //gen.writeObjectField("mixedIn", mixin.getMixed());

         for (Entry<String, Object> entry : entries) {
    if(entry.getValue() != null){
         try {
                    gen.writeObjectField(entry.getKey(), entry.getValue());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
    }
}

     } else {
         super.serializeFields(bean, gen, provider);
     }

 }
项目:QD    文件:DataMessageSerializer.java   
private JsonSerializer<Object> findSerializer(Class<?> type, SerializerProvider provider, boolean eventBean)
    throws JsonMappingException
{
    JsonSerializer<Object> serializer = serializers.serializerFor(type);
    if (serializer != null)
        return serializer;
    serializer = provider.findValueSerializer(type, null);
    if (eventBean)
        serializer = new EventBeanSerializer((BeanSerializer)serializer);
    serializers = serializers.newWith(type, serializer);
    return serializer;
}
项目:owsi-core-parent    文件:HibernateBeanSerializerModifier.java   
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc,
        JsonSerializer<?> serializer) {
    if (serializer instanceof BeanSerializer) {
        return new BeanSerializerWrapper((BeanSerializer) serializer);
    } else {
        return serializer;
    }
}
项目:owsi-core-parent    文件:HibernateBeanSerializerModifier.java   
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc,
        JsonSerializer<?> serializer) {
    if (serializer instanceof BeanSerializer) {
        return new BeanSerializerWrapper((BeanSerializer) serializer);
    } else {
        return serializer;
    }
}
项目:QD    文件:EventBeanSerializer.java   
EventBeanSerializer(BeanSerializer src) {
    super(src);
}
项目:owsi-core-parent    文件:HibernateBeanSerializerModifier.java   
protected BeanSerializerWrapper(BeanSerializer src) {
    super(src);
    this.serializer = src;
}
项目:owsi-core-parent    文件:HibernateBeanSerializerModifier.java   
protected BeanSerializerWrapper(BeanSerializer src) {
    super(src);
    this.serializer = src;
}
项目:gedcomx-java    文件:ExtensibleObjectSerializer.java   
public ExtensibleObjectSerializer(BeanSerializer src) {
  super(src);
}
项目:gedcomx-java    文件:GedcomBeanSerializerModifier.java   
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) {
  return (serializer instanceof BeanSerializer) ? new ExtensibleObjectSerializer((BeanSerializer) serializer) : serializer;
}
项目:imagej-server    文件:DefaultJsonService.java   
/**
 * Constructs and initializes a JsonService with an {@link ObjectService}.
 * 
 * @param objectService
 */
public DefaultJsonService(final ObjectService objectService) {

    idToObjDeserializer = new UntypedObjectDeserializer(null, null) {

        @Override
        public Object deserialize(JsonParser p, DeserializationContext ctxt)
            throws IOException, JsonProcessingException
        {
            final Object obj = super.deserialize(p, ctxt);
            if (!(obj instanceof String && ((String) obj).startsWith("object:")))
                return obj;
            final String id = (String) obj;
            if (!objectService.contains(id)) {
                throw new JsonMappingException(p, "Object does not exist");
            }
            final ObjectInfo info = objectService.find(id);
            info.updateLastUsed();
            return info.getObject();
        }
    };

    final JsonSerializer<Object> objToIdSerializer =
        new JsonSerializer<Object>()
    {

            @Override
            public void serialize(Object value, JsonGenerator gen,
                SerializerProvider serializers) throws IOException,
                JsonProcessingException
        {
                gen.writeString(objectService.register(value, "DefaultJsonService"));
            }

        };

    final SimpleModule objToIdModule = new SimpleModule();
    objToIdModule.setSerializerModifier(new BeanSerializerModifier() {

        @Override
        public JsonSerializer<?> modifySerializer(SerializationConfig config,
            BeanDescription beanDesc, JsonSerializer<?> serializer)
        {
            if (Mixins.support(beanDesc.getBeanClass())) return serializer;
            // If the serialized class is unknown (i.e. serialized using the general
            // BeanSerializer) or should not be serialized (i.e. complicated class
            // implemented interfaces such as Iterable), would be serialized as an
            // ID.
            if (serializer instanceof BeanSerializer) return objToIdSerializer;
            if (notSerialized(beanDesc.getBeanClass())) return objToIdSerializer;
            return serializer;

        }
    });
    objToIdMapper = new ObjectMapper();
    objToIdMapper.registerModule(objToIdModule);

    // register Jackson MixIns to obtain better json output format for some
    // specific types
    Mixins.registerMixIns(objToIdMapper);
}