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);