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(); }
public BeanSerializerBase(BeanSerializerBase paramBeanSerializerBase, ObjectIdWriter paramObjectIdWriter) { super(paramBeanSerializerBase._handledType); this._props = paramBeanSerializerBase._props; this._filteredProps = paramBeanSerializerBase._filteredProps; this._typeId = paramBeanSerializerBase._typeId; this._anyGetterWriter = paramBeanSerializerBase._anyGetterWriter; this._objectIdWriter = paramObjectIdWriter; this._propertyFilterId = paramBeanSerializerBase._propertyFilterId; this._serializationShape = paramBeanSerializerBase._serializationShape; }
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); }
protected ObjectIdWriter constructObjectIdHandler(SerializerProvider paramSerializerProvider, BeanDescription paramBeanDescription, List<BeanPropertyWriter> paramList) { ObjectIdInfo localObjectIdInfo = paramBeanDescription.getObjectIdInfo(); if (localObjectIdInfo == null) return null; Class localClass = localObjectIdInfo.getGeneratorType(); if (localClass == ObjectIdGenerators.PropertyGenerator.class) { String str = localObjectIdInfo.getPropertyName(); int i = 0; int j = paramList.size(); BeanPropertyWriter localBeanPropertyWriter; while (true) { if (i == j) throw new IllegalArgumentException("Invalid Object Id definition for " + paramBeanDescription.getBeanClass().getName() + ": can not find property with name '" + str + "'"); localBeanPropertyWriter = (BeanPropertyWriter)paramList.get(i); if (str.equals(localBeanPropertyWriter.getName())) { if (i <= 0) break; paramList.remove(i); paramList.add(0, localBeanPropertyWriter); break; } i++; } return ObjectIdWriter.construct(localBeanPropertyWriter.getType(), null, new PropertyBasedObjectIdGenerator(localObjectIdInfo, localBeanPropertyWriter), localObjectIdInfo.getAlwaysAsId()); } JavaType localJavaType1 = paramSerializerProvider.constructType(localClass); JavaType localJavaType2 = paramSerializerProvider.getTypeFactory().findTypeParameters(localJavaType1, ObjectIdGenerator.class)[0]; ObjectIdGenerator localObjectIdGenerator = paramSerializerProvider.objectIdGeneratorInstance(paramBeanDescription.getClassInfo(), localObjectIdInfo); return ObjectIdWriter.construct(localJavaType2, localObjectIdInfo.getPropertyName(), localObjectIdGenerator, localObjectIdInfo.getAlwaysAsId()); }
@Override public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter) { return new ResourceDecoratorSerializer<>( this, objectIdWriter, resourceContext, resourceDecorator ); }
protected BeanSerializerBase(BeanSerializerBase src, ObjectIdWriter objectIdWriter) { super(src._handledType); _props = src._props; _filteredProps = src._filteredProps; _typeId = src._typeId; _anyGetterWriter = src._anyGetterWriter; _objectIdWriter = objectIdWriter; _propertyFilterId = src._propertyFilterId; _serializationShape = src._serializationShape; }
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(); }
@Override public BeanSerializerBase withObjectIdWriter(final ObjectIdWriter objectIdWriter) { return new FlatteningModifySerializer(this, objectIdWriter); }
protected BeanSerializerWrapper(BeanSerializerWrapper src, ObjectIdWriter objectIdWriter) { super(src.serializer, objectIdWriter); this.serializer = src; }
@Override public BeanSerializerWrapper withObjectIdWriter(ObjectIdWriter objectIdWriter) { return new BeanSerializerWrapper(this, objectIdWriter); }
public DictionaryObjectSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter) { super(src, objectIdWriter); }
@Override public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter) { return new DictionaryObjectSerializer(this, objectIdWriter); }
public ObjectIdWriter getObjectIdWriter() { return this._objectIdWriter; }
public void setObjectIdWriter(ObjectIdWriter paramObjectIdWriter) { this._objectIdWriter = paramObjectIdWriter; }
protected BeanSerializer(BeanSerializerBase paramBeanSerializerBase, ObjectIdWriter paramObjectIdWriter) { super(paramBeanSerializerBase, paramObjectIdWriter); }
public BeanSerializer withObjectIdWriter(ObjectIdWriter paramObjectIdWriter) { return new BeanSerializer(this, paramObjectIdWriter); }
public JacksonHydraSerializer(BeanSerializerBase source, ObjectIdWriter objectIdWriter) { super(source, objectIdWriter); }
public BeanSerializerBase withObjectIdWriter( ObjectIdWriter objectIdWriter) { return new JacksonHydraSerializer(this, objectIdWriter); }
protected ResourceDecoratorSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter, ResourceContext resourceContext, ResourceDecorator<T> resourceDecorator) { super(src, objectIdWriter); this.resourceContext = resourceContext; this.resourceDecorator = resourceDecorator; }
ServiceSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter) { super(src, objectIdWriter); }
ServiceSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter, Object filterId) { super(src, objectIdWriter, filterId); }
@Override public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter) { return new ServiceSerializer(this, objectIdWriter); }
DatasetLayerSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter) { super(src, objectIdWriter); }
DatasetLayerSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter, Object filterId) { super(src, objectIdWriter, filterId); }
@Override public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter) { return new DatasetLayerSerializer(this, objectIdWriter); }
public void setObjectIdWriter(ObjectIdWriter w) { _objectIdWriter = w; }
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); } }
protected BeanSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter) { super(src, objectIdWriter); }
@Override public BeanSerializer withObjectIdWriter(ObjectIdWriter objectIdWriter) { return new BeanSerializer(this, objectIdWriter); }
/** * Creates a new instance of {@link FlatteningModifySerializer} chained * to another {@link FlatteningModifySerializer}. * * @param source object to chain to * @param objectIdWriter Object that knows how to serialize object ids */ FlatteningModifySerializer(final FlatteningModifySerializer source, final ObjectIdWriter objectIdWriter) { super(source, objectIdWriter); }
/** * Creates a new instance of {@link FlatteningModifySerializer}. * * @param source base serializer to back this implementation * @param objectIdWriter Object that knows how to serialize object ids * @param filterId property filter id */ protected FlatteningModifySerializer(final BeanSerializerBase source, final ObjectIdWriter objectIdWriter, final Object filterId) { super(source, objectIdWriter, filterId); }
/** * Fluent factory used for creating a new instance with different * {@link ObjectIdWriter}. * * @since 2.0 */ public abstract BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter);
public abstract BeanSerializerBase withObjectIdWriter(ObjectIdWriter paramObjectIdWriter);
public ObjectIdWriter getObjectIdWriter() { return _objectIdWriter; }