com.fasterxml.jackson.databind.SerializerProvider#findTypedValueSerializer ( )源码实例Demo

下面列出了com.fasterxml.jackson.databind.SerializerProvider#findTypedValueSerializer ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: vavr-jackson   文件: HListSerializer.java
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 != null && containedType.hasGenericTypes()) {
                JavaType st = provider.constructSpecializedType(containedType, val.getClass());
                ser = provider.findTypedValueSerializer(st, true, null);
            } else {
                ser = provider.findTypedValueSerializer(val.getClass(), true, null);
            }
            ser.serialize(val, gen, provider);
        } else {
            gen.writeObject(val);
        }
    } else {
        gen.writeNull();
    }
}
 
源代码2 项目: vavr-jackson   文件: 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 {
        JsonSerializer<Object> ser;
        try {
            JavaType emulated = emulatedJavaType(provider.getTypeFactory());
            if (emulated.getRawClass() != Object.class) {
                ser = provider.findTypedValueSerializer(emulated, true, beanProperty);
            } else {
                ser = provider.findTypedValueSerializer(obj.getClass(), true, beanProperty);
            }
        } catch (Exception ignore) {
            ser = provider.findTypedValueSerializer(obj.getClass(), true, beanProperty);
        }
        ser.serialize(obj, gen, provider);
    }
}
 
源代码3 项目: joynr   文件: JoynrListSerializer.java
@Override
public void serialize(List<?> value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
                                                                                      JsonGenerationException {

    jgen.writeStartArray();
    for (Object elem : value) {
        if (elem == null) {
            provider.defaultSerializeNull(jgen);
        } else {
            Class<?> clazz = elem.getClass();
            JsonSerializer<Object> serializer = serializers.get(clazz);
            if (serializer == null) {
                serializer = provider.findTypedValueSerializer(clazz, false, null);
            }
            serializer.serialize(elem, jgen, provider);
        }
    }
    jgen.writeEndArray();

}
 
源代码4 项目: joynr   文件: JoynrArraySerializer.java
@Override
public void serialize(Object[] value, JsonGenerator gen, SerializerProvider provider) throws IOException {
    gen.writeStartArray();
    for (Object elem : value) {
        if (elem == null) {
            provider.defaultSerializeNull(gen);
        } else {
            Class<?> clazz = elem.getClass();
            JsonSerializer<Object> serializer = serializers.get(clazz);
            if (serializer == null) {
                serializer = provider.findTypedValueSerializer(clazz, false, null);
            }
            serializer.serialize(elem, gen, provider);
        }
    }
    gen.writeEndArray();

}
 
源代码5 项目: lams   文件: PropertySerializerMap.java
/**
 * @since 2.5
 */
public final SerializerAndMapResult findAndAddRootValueSerializer(JavaType type,
        SerializerProvider provider)
    throws JsonMappingException
{
    JsonSerializer<Object> serializer = provider.findTypedValueSerializer(type, false, null);
    return new SerializerAndMapResult(serializer, newWith(type.getRawClass(), serializer));
}
 
源代码6 项目: cyclops   文件: Tuple2Serializer.java
@Override
public void serialize(Tuple2<?,?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {


  Object[] array = new Object[]{value._1(),value._2()};
  gen.writeStartArray();
  for(Object o : array) {
    JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
    ser.serialize(o, gen, serializers);
  }
  gen.writeEndArray();

}
 
源代码7 项目: cyclops   文件: Tuple3Serializer.java
@Override
public void serialize(Tuple3<?,?,?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {

  Object[] array = new Object[]{value._1(),value._2(),value._3()};
  gen.writeStartArray();
  for(Object o : array) {
    JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
    ser.serialize(o, gen, serializers);
  }
  gen.writeEndArray();

}
 
源代码8 项目: cyclops   文件: Tuple7Serializer.java
@Override
public void serialize(Tuple7<?,?,?,?,?,?,?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
  Object[] array = new Object[]{value._1(),value._2(),value._3(),value._4(),value._5(),value._6(),value._7()};
  gen.writeStartArray();
  for(Object o : array) {
    JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
    ser.serialize(o, gen, serializers);
  }
  gen.writeEndArray();
}
 
源代码9 项目: cyclops   文件: Tuple8Serializer.java
@Override
public void serialize(Tuple8<?,?,?,?,?,?,?,?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {

  Object[] array = new Object[]{value._1(),value._2(),value._3(),value._4(),value._5(),value._6(),value._7(),value._8()};
  gen.writeStartArray();
  for(Object o : array) {
    JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
    ser.serialize(o, gen, serializers);
  }
  gen.writeEndArray();
}
 
源代码10 项目: cyclops   文件: Tuple6Serializer.java
@Override
public void serialize(Tuple6<?,?,?,?,?,?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {

  Object[] array = new Object[]{value._1(),value._2(),value._3(),value._4(),value._5(),value._6()};
  gen.writeStartArray();
  for(Object o : array) {
    JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
    ser.serialize(o, gen, serializers);
  }
  gen.writeEndArray();
}
 
源代码11 项目: cyclops   文件: Tuple5Serializer.java
@Override
public void serialize(Tuple5<?,?,?,?,?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {

  Object[] array = new Object[]{value._1(),value._2(),value._3(),value._4(),value._5()};
  gen.writeStartArray();
  for(Object o : array) {
    JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
    ser.serialize(o, gen, serializers);
  }
  gen.writeEndArray();
}
 
源代码12 项目: cyclops   文件: Tuple4Serializer.java
@Override
public void serialize(Tuple4<?,?,?,?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {

  Object[] array = new Object[]{value._1(),value._2(),value._3(),value._4()};
  gen.writeStartArray();
  for(Object o : array) {
    JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
    ser.serialize(o, gen, serializers);
  }
  gen.writeEndArray();

}
 
源代码13 项目: cyclops   文件: IterableXSerializer.java
@Override
public void serialize(Iterable<?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
  if(value==null) {
    gen.writeNull();
    return;
  }
  gen.writeStartArray();
  for(Object o : value) {
    JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
    ser.serialize(o, gen, serializers);
  }
  gen.writeEndArray();
}
 
源代码14 项目: cyclops   文件: Tuple1Serializer.java
@Override
public void serialize(Tuple1<?> value, JsonGenerator gen, SerializerProvider serializers) throws IOException {


    Object[] array = new Object[]{value._1()};
    gen.writeStartArray();
    for(Object o : array) {
      JsonSerializer<Object> ser = serializers.findTypedValueSerializer(o.getClass(),true,null);
      ser.serialize(o, gen, serializers);
    }
    gen.writeEndArray();


}
 
源代码15 项目: Rosetta   文件: ContextualStoredAsJsonSerializer.java
private boolean trySerializeToGenerator(T value, ObjectMapper mapper, SerializerProvider provider, JsonGenerator gen) throws IOException {
  JsonSerializer<Object> serializer = provider.findTypedValueSerializer(
      mapper.getTypeFactory().constructSpecializedType(property.getType(), value.getClass()),
      false,
      null);

  if (serializer == null) {
    return false;
  }

  mapper.getSerializationConfig().initialize(gen);
  serializer.serialize(value, gen, provider);
  return true;
}
 
源代码16 项目: lams   文件: PropertySerializerMap.java
/**
 * Method called if initial lookup fails, when looking for a root value
 * serializer: one that is not directly attached to a property, but needs to
 * have {@link com.fasterxml.jackson.databind.jsontype.TypeSerializer} wrapped
 * around it. Will both find the serializer
 * and construct new map instance if warranted, and return both.
 * 
 * @since 2.5
 * 
 * @throws JsonMappingException 
 */
public final SerializerAndMapResult findAndAddRootValueSerializer(Class<?> type,
        SerializerProvider provider)
    throws JsonMappingException
{
    JsonSerializer<Object> serializer = provider.findTypedValueSerializer(type, false, null);
    return new SerializerAndMapResult(serializer, newWith(type, serializer));
}