@Override public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { if (writableTypeId.valueShape == JsonToken.START_OBJECT) { jsonGenerator.writeStartObject(); } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { jsonGenerator.writeStartArray(); } else if (canWriteTypeId()) { writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); } else { throw new IllegalStateException("Could not write prefix: shape[" + writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]"); } return writableTypeId; }
@Override public WritableTypeId writeTypeSuffix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { if (writableTypeId.valueShape == JsonToken.START_OBJECT) { jsonGenerator.writeEndObject(); } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { jsonGenerator.writeEndArray(); } else if (canWriteTypeId()) { writeTypeSuffix(jsonGenerator); } else { throw new IllegalStateException("Could not write suffix: shape[" + writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]"); } return writableTypeId; }
@Override public TypeSerializer buildTypeSerializer(final SerializationConfig config, final JavaType baseType, final Collection<NamedType> subtypes) { final TypeIdResolver idRes = this.idResolver(config, baseType, subtypes, true, false); return version == GraphSONVersion.V2_0 ? new GraphSONTypeSerializerV2d0(idRes, this.getTypeProperty(), typeInfo, valuePropertyName) : new GraphSONTypeSerializerV3d0(idRes, this.getTypeProperty(), typeInfo, valuePropertyName); }
@Override public TypeSerializer buildTypeSerializer(final SerializationConfig config, final JavaType baseType, final Collection<NamedType> subtypes) { final TypeIdResolver idRes = this.idResolver(config, baseType, subtypes, true, false); return version == GraphSONVersion.V2_0 ? new GraphSONTypeSerializerV2d0(idRes, this.getTypeProperty(), typeInfo, valuePropertyName) : new GraphSONTypeSerializerV3d0(idRes, this.getTypeProperty(), typeInfo, valuePropertyName); }
@Override public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { if (writableTypeId.valueShape == JsonToken.START_OBJECT) { jsonGenerator.writeStartObject(); } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { jsonGenerator.writeStartArray(); } else if (canWriteTypeId()) { writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue))); } else { throw new IllegalStateException("Could not write prefix: shape[" + writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]"); } return writableTypeId; }
@Override public WritableTypeId writeTypeSuffix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException { if (writableTypeId.valueShape == JsonToken.START_OBJECT) { jsonGenerator.writeEndObject(); } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) { jsonGenerator.writeEndArray(); } else if (canWriteTypeId()) { writeTypeSuffix(jsonGenerator); } else { throw new IllegalStateException("Could not write suffix: shape[" + writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]"); } return writableTypeId; }