@Override public JsonObject toJson() { JsonObject object = super.toJson(); JsonElement jsonExportDate = exportDate == null ? JsonNull.INSTANCE : new JsonPrimitive(exportDate.getTime()); object.add("exportDate", jsonExportDate); JsonElement jsonParent = parent == null ? JsonNull.INSTANCE : parent.toJson(); object.add("parent", jsonParent); JsonElement jsonName = name == null ? JsonNull.INSTANCE : new JsonPrimitive(name); object.add("name", jsonName); return object; }
@Override public void fromJson(JsonObject jsonObject) { super.fromJson(jsonObject); if (jsonObject.has("exportDate")) { JsonElement jsonExportDate = jsonObject.get("exportDate"); if (jsonExportDate != null) { exportDate = new Date(jsonExportDate.getAsLong()); } } if (jsonObject.has("parent")) { JsonElement jsonParent = jsonObject.get("parent"); if (jsonParent != null) { parent = new Genre(); parent.fromJson(jsonParent.getAsJsonObject()); } } if (jsonObject.has("name")) { JsonElement jsonName = jsonObject.get("name"); if (jsonName != null) { name = jsonName.getAsString(); } } }