@Override protected void writeEntityBody(ACP acp, JsonGenerator jg) throws IOException { jg.writeArrayFieldStart("acl"); for (ACL acl : acp.getACLs()) { jg.writeStartObject(); jg.writeStringField("name", acl.getName()); jg.writeArrayFieldStart("ace"); for (ACE ace : acl.getACEs()) { jg.writeStartObject(); jg.writeStringField("id", ace.getId()); jg.writeStringField("username", ace.getUsername()); jg.writeStringField("permission", ace.getPermission()); jg.writeBooleanField("granted", ace.isGranted()); jg.writeStringField("creator", ace.getCreator()); jg.writeStringField("begin", ace.getBegin() != null ? DateParser.formatW3CDateTime(ace.getBegin().getTime()) : null); jg.writeStringField("end", ace.getEnd() != null ? DateParser.formatW3CDateTime(ace.getEnd().getTime()) : null); jg.writeStringField("status", ace.getStatus().toString().toLowerCase()); jg.writeEndObject(); } jg.writeEndArray(); jg.writeEndObject(); } jg.writeEndArray(); }