package com.robotoworks.example.ghissues.net; import com.robotoworks.mechanoid.net.JsonEntityWriter; import com.robotoworks.mechanoid.net.JsonEntityWriterProvider; import java.io.IOException; import com.robotoworks.mechanoid.internal.util.JsonWriter; import java.util.List; public class IssueWriter extends JsonEntityWriter<Issue> { public IssueWriter(JsonEntityWriterProvider provider) { super(provider); } public void write(JsonWriter writer, Issue entity) throws IOException { writer.beginObject(); writer.name("url"); writer.value(entity.getUrl()); writer.name("labels_url"); writer.value(entity.getLabelsUrl()); writer.name("comments_url"); writer.value(entity.getCommentsUrl()); writer.name("events_url"); writer.value(entity.getEventsUrl()); writer.name("html_url"); writer.value(entity.getHtmlUrl()); writer.name("id"); writer.value(entity.getId()); writer.name("number"); writer.value(entity.getNumber()); writer.name("title"); writer.value(entity.getTitle()); if(entity.getUser() != null) { writer.name("user"); getProvider().get(User.class).write(writer, entity.getUser()); } if(entity.getLabels() != null) { writer.name("labels"); getProvider().get(Label.class).writeList(writer, entity.getLabels()); } if(entity.getState() != null) { writer.name("state"); writer.value(entity.getState().toString()); } writer.name("comments"); writer.value(entity.getComments()); writer.name("created_at"); writer.value(entity.getCreatedAt()); writer.name("updated_at"); writer.value(entity.getUpdatedAt()); writer.name("closed_at"); writer.value(entity.getClosedAt()); writer.name("body"); writer.value(entity.getBody()); writer.endObject(); } public void writeList(JsonWriter writer, List<Issue> entities) throws IOException { writer.beginArray(); for(Issue item:entities) { write(writer, item); } writer.endArray(); } }