/** * Schreibt eine Referenz in einen einfachen String * * @param result Hal-Resource, in welcher sich die Referenz befindet * @param field Zu schreibendes Feld * @param jsonField JSON-Feld, welches die Referenz enthält * @param context GSON-Context für die Deserialisierung */ private void writeLinkInString( HalResource result, Field field, JsonElement jsonField, JsonDeserializationContext context) { // Wir haben ein einzelne Objekt, das wir nun Deserialisieren HalReference halRef = context.deserialize(jsonField, HalReference.class); // Wert schreiben String href = halRef.getHref(); HalReflectionHelper.setValue(result, field, href); }
@Override public void serialize(HalReference value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { jgen.writeStartObject(); if (value.getName() != null && value.getName().length() > 0) { jgen.writeStringField("name", value.getName()); } jgen.writeStringField("href", value.getHref()); if (value.getTitle() != null && value.getTitle().length() > 0) { jgen.writeStringField("title", value.getTitle()); } if (value.isTemplated()) { jgen.writeBooleanField("templated", true); } jgen.writeEndObject(); }