类com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter源码实例Demo

下面列出了怎么用com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: BeanSerializerBase.java
protected final void _serializeWithObjectId(Object bean, JsonGenerator gen, SerializerProvider provider,
        TypeSerializer typeSer) throws IOException
{
    final ObjectIdWriter w = _objectIdWriter;
    WritableObjectId objectId = provider.findObjectId(bean, w.generator);
    // If possible, write as id already
    if (objectId.writeAsId(gen, provider, w)) {
        return;
    }
    // If not, need to inject the id:
    Object id = objectId.generateId(bean);
    if (w.alwaysAsId) {
        w.serializer.serialize(id, gen, provider);
        return;
    }
    _serializeObjectId(bean, gen, provider, typeSer, objectId);
}
 
源代码2 项目: lams   文件: BeanSerializerBase.java
protected  void _serializeObjectId(Object bean, JsonGenerator g,
        SerializerProvider provider,
        TypeSerializer typeSer, WritableObjectId objectId) throws IOException
{
    final ObjectIdWriter w = _objectIdWriter;
    WritableTypeId typeIdDef = _typeIdDef(typeSer, bean, JsonToken.START_OBJECT);

    typeSer.writeTypePrefix(g, typeIdDef);
    objectId.writeAsField(g, provider, w);
    if (_propertyFilterId != null) {
        serializeFieldsFiltered(bean, g, provider);
    } else {
        serializeFields(bean, g, provider);
    }
    typeSer.writeTypeSuffix(g, typeIdDef);
}
 
源代码3 项目: lams   文件: BeanSerializerBase.java
/**
 * @since 2.3
 */
protected BeanSerializerBase(BeanSerializerBase src,
        ObjectIdWriter objectIdWriter, Object filterId)
{
    super(src._handledType);
    _beanType = src._beanType;
    _props = src._props;
    _filteredProps = src._filteredProps;
    
    _typeId = src._typeId;
    _anyGetterWriter = src._anyGetterWriter;
    _objectIdWriter = objectIdWriter;
    _propertyFilterId = filterId;
    _serializationShape = src._serializationShape;
}
 
源代码4 项目: lams   文件: BeanSerializerBase.java
protected final void _serializeWithObjectId(Object bean, JsonGenerator gen, SerializerProvider provider,
        boolean startEndObject) throws IOException
{
    final ObjectIdWriter w = _objectIdWriter;
    WritableObjectId objectId = provider.findObjectId(bean, w.generator);
    // If possible, write as id already
    if (objectId.writeAsId(gen, provider, w)) {
        return;
    }
    // If not, need to inject the id:
    Object id = objectId.generateId(bean);
    if (w.alwaysAsId) {
        w.serializer.serialize(id, gen, provider);
        return;
    }
    if (startEndObject) {
        gen.writeStartObject(bean);
    }
    objectId.writeAsField(gen, provider, w);
    if (_propertyFilterId != null) {
        serializeFieldsFiltered(bean, gen, provider);
    } else {
        serializeFields(bean, gen, provider);
    }
    if (startEndObject) {
        gen.writeEndObject();
    }
}
 
源代码5 项目: albedo   文件: ExtraFieldSerializer.java
public ExtraFieldSerializer(ExtraFieldSerializer source,
							ObjectIdWriter objectIdWriter) {
	super(source, objectIdWriter);
}
 
源代码6 项目: albedo   文件: ExtraFieldSerializer.java
public ExtraFieldSerializer(ExtraFieldSerializer source,
							ObjectIdWriter objectIdWriter, Object filterId) {
	super(source, objectIdWriter, filterId);
}
 
源代码7 项目: albedo   文件: ExtraFieldSerializer.java
@Override
public BeanSerializerBase withObjectIdWriter(
	ObjectIdWriter objectIdWriter) {
	return new ExtraFieldSerializer(this, objectIdWriter);
}
 
源代码8 项目: lams   文件: BeanSerializerBuilder.java
public void setObjectIdWriter(ObjectIdWriter w) {
    _objectIdWriter = w;
}
 
源代码9 项目: lams   文件: BeanSerializerBase.java
protected BeanSerializerBase(BeanSerializerBase src,
        ObjectIdWriter objectIdWriter)
{
    this(src, objectIdWriter, src._propertyFilterId);
}
 
源代码10 项目: lams   文件: BeanSerializer.java
protected BeanSerializer(BeanSerializerBase src,
        ObjectIdWriter objectIdWriter) {
    super(src, objectIdWriter);
}
 
源代码11 项目: lams   文件: BeanSerializer.java
protected BeanSerializer(BeanSerializerBase src,
        ObjectIdWriter objectIdWriter, Object filterId) {
    super(src, objectIdWriter, filterId);
}
 
源代码12 项目: lams   文件: BeanSerializer.java
@Override
public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter) {
    return new BeanSerializer(this, objectIdWriter, _propertyFilterId);
}
 
源代码13 项目: caravan   文件: AbstractBeanSerializer.java
@Override
public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter) {
  return this;
}
 
RBeanContextData(RBeanContextData source, ObjectIdWriter objectIdWriter) {
  super(source, objectIdWriter);
}
 
public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter) {
  return new RBeanContextData(this, objectIdWriter);
}
 
源代码16 项目: lams   文件: BeanSerializerBase.java
/**
 * Mutant factory used for creating a new instance with different
 * {@link ObjectIdWriter}.
 * 
 * @since 2.0
 */
public abstract BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter);
 
源代码17 项目: lams   文件: BeanSerializerBuilder.java
public ObjectIdWriter getObjectIdWriter() { return _objectIdWriter; } 
 同包方法