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

项目:QuizUpWinner    文件:BeanSerializerBase.java   
public final void _serializeWithObjectId(Object paramObject, JsonGenerator paramJsonGenerator, SerializerProvider paramSerializerProvider, boolean paramBoolean)
{
  ObjectIdWriter localObjectIdWriter = this._objectIdWriter;
  WritableObjectId localWritableObjectId = paramSerializerProvider.findObjectId(paramObject, localObjectIdWriter.generator);
  if (localWritableObjectId.writeAsId(paramJsonGenerator, paramSerializerProvider, localObjectIdWriter))
    return;
  Object localObject = localWritableObjectId.generateId(paramObject);
  if (localObjectIdWriter.alwaysAsId)
  {
    localObjectIdWriter.serializer.serialize(localObject, paramJsonGenerator, paramSerializerProvider);
    return;
  }
  if (paramBoolean)
    paramJsonGenerator.writeStartObject();
  localWritableObjectId.writeAsField(paramJsonGenerator, paramSerializerProvider, localObjectIdWriter);
  if (this._propertyFilterId != null)
    serializeFieldsFiltered(paramObject, paramJsonGenerator, paramSerializerProvider);
  else
    serializeFields(paramObject, paramJsonGenerator, paramSerializerProvider);
  if (paramBoolean)
    paramJsonGenerator.writeEndObject();
}
项目:QuizUpWinner    文件:BeanSerializerBase.java   
protected final void _serializeWithObjectId(Object paramObject, JsonGenerator paramJsonGenerator, SerializerProvider paramSerializerProvider, TypeSerializer paramTypeSerializer)
{
  ObjectIdWriter localObjectIdWriter = this._objectIdWriter;
  WritableObjectId localWritableObjectId = paramSerializerProvider.findObjectId(paramObject, localObjectIdWriter.generator);
  if (localWritableObjectId.writeAsId(paramJsonGenerator, paramSerializerProvider, localObjectIdWriter))
    return;
  Object localObject = localWritableObjectId.generateId(paramObject);
  if (localObjectIdWriter.alwaysAsId)
  {
    localObjectIdWriter.serializer.serialize(localObject, paramJsonGenerator, paramSerializerProvider);
    return;
  }
  String str1;
  if (this._typeId == null)
    str1 = null;
  else
    str1 = _customTypeId(paramObject);
  String str2 = str1;
  if (str1 == null)
    paramTypeSerializer.writeTypePrefixForObject(paramObject, paramJsonGenerator);
  else
    paramTypeSerializer.writeCustomTypePrefixForObject(paramObject, paramJsonGenerator, str2);
  localWritableObjectId.writeAsField(paramJsonGenerator, paramSerializerProvider, localObjectIdWriter);
  if (this._propertyFilterId != null)
    serializeFieldsFiltered(paramObject, paramJsonGenerator, paramSerializerProvider);
  else
    serializeFields(paramObject, paramJsonGenerator, paramSerializerProvider);
  if (str2 == null)
  {
    paramTypeSerializer.writeTypeSuffixForObject(paramObject, paramJsonGenerator);
    return;
  }
  paramTypeSerializer.writeCustomTypeSuffixForObject(paramObject, paramJsonGenerator, str2);
}
项目:joyplus-tv    文件:BeanSerializer.java   
private final void serializeWithObjectId(Object bean,
        JsonGenerator jgen, SerializerProvider provider)
    throws IOException, JsonGenerationException
{
    final ObjectIdWriter w = _objectIdWriter;
    WritableObjectId oid = provider.findObjectId(bean, w.generator);
    Object id = oid.id;

    if (id != null) { // have seen before; serialize just id
        oid.serializer.serialize(id, jgen, provider);
        return;
    }
    // if not, bit more work:
    oid.serializer = w.serializer;
    oid.id = id = oid.generator.generateId(bean);
    // possibly. Or maybe not:
    if (w.alwaysAsId) { 
        oid.serializer.serialize(id, jgen, provider);
        return;
    }
    // If not, need to inject the id:
    jgen.writeStartObject();
    SerializedString name = w.propertyName;
    if (name != null) {
        jgen.writeFieldName(name);
        w.serializer.serialize(id, jgen, provider);
    }
    if (_propertyFilterId != null) {
        serializeFieldsFiltered(bean, jgen, provider);
    } else {
        serializeFields(bean, jgen, provider);
    }
    jgen.writeEndObject();
}
项目:QuizUpWinner    文件:DefaultSerializerProvider.java   
public WritableObjectId findObjectId(Object paramObject, ObjectIdGenerator<?> paramObjectIdGenerator)
{
  if (this._seenObjectIds == null)
  {
    this._seenObjectIds = new IdentityHashMap();
  }
  else
  {
    WritableObjectId localWritableObjectId1 = (WritableObjectId)this._seenObjectIds.get(paramObject);
    if (localWritableObjectId1 != null)
      return localWritableObjectId1;
  }
  Object localObject;
  if (this._objectIdGenerators == null)
  {
    this._objectIdGenerators = new ArrayList(8);
    localObject = null;
  }
  else
  {
    int i = 0;
    int j = this._objectIdGenerators.size();
    while (true)
    {
      localObject = null;
      if (i >= j)
        break;
      ObjectIdGenerator localObjectIdGenerator = (ObjectIdGenerator)this._objectIdGenerators.get(i);
      if (localObjectIdGenerator.canUseFor(paramObjectIdGenerator))
      {
        localObject = localObjectIdGenerator;
        break;
      }
      i++;
    }
  }
  if (localObject == null)
  {
    localObject = paramObjectIdGenerator.newForSerialization(this);
    this._objectIdGenerators.add(localObject);
  }
  WritableObjectId localWritableObjectId2 = new WritableObjectId((ObjectIdGenerator)localObject);
  this._seenObjectIds.put(paramObject, localWritableObjectId2);
  return localWritableObjectId2;
}
项目:joyplus-tv    文件:BeanSerializerBase.java   
private final void _serializeWithObjectId(Object bean,
        JsonGenerator jgen, SerializerProvider provider,
        TypeSerializer typeSer)
    throws IOException, JsonGenerationException
{
    final ObjectIdWriter w = _objectIdWriter;
    WritableObjectId oid = provider.findObjectId(bean, w.generator);
    Object id = oid.id;

    if (id != null) { // have seen before; serialize just id
        oid.serializer.serialize(id, jgen, provider);
        return;
    }
    // if not, bit more work:
    oid.serializer = w.serializer;
    oid.id = id = oid.generator.generateId(bean);

    String typeStr = (_typeId == null) ? null :_customTypeId(bean);
    if (typeStr == null) {
        typeSer.writeTypePrefixForObject(bean, jgen);
    } else {
        typeSer.writeCustomTypePrefixForObject(bean, jgen, typeStr);
    }

    // Very first thing: inject the id property
    SerializedString name = w.propertyName;
    if (name != null) {
        jgen.writeFieldName(name);
        w.serializer.serialize(id, jgen, provider);
    }

    if (_propertyFilterId != null) {
        serializeFieldsFiltered(bean, jgen, provider);
    } else {
        serializeFields(bean, jgen, provider);
    }
    if (typeStr == null) {
        typeSer.writeTypeSuffixForObject(bean, jgen);
    } else {
        typeSer.writeCustomTypeSuffixForObject(bean, jgen, typeStr);
    }
}
项目:QuizUpWinner    文件:SerializerProvider.java   
public abstract WritableObjectId findObjectId(Object paramObject, ObjectIdGenerator<?> paramObjectIdGenerator);