package foundation.capacity.role; import java.util.Comparator; import foundation.dao.preload.Node; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; import foundation.menu.Menu; public class RoleMenu extends Node implements IJSONProvider, Comparator { private Menu menu; public RoleMenu(Menu menu) { this.menu = new Menu(); this.menu.copyFrom(menu); } @Override public Comparator createComparator() { return this; } @Override public int compare(Node one, Node another) { int result = ((RoleMenu) one).menu.getOrderNo() - ((RoleMenu) another).menu.getOrderNo(); return result; } @Override public String getId() { return menu.getId(); } @Override public String getParentId() { return menu.getParentId(); } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject(); writeJSONBody(writer); writer.endObject(); } @Override public void writeJSONBody(IJSONWriter writer) { menu.writeJSONBody(writer); if (!children.isEmpty()) { writer.beginArray("children"); for (Node child: children) { child.writeJSON(writer); } writer.endArray(); } } }