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<Node> {
|
|
private Menu menu;
|
|
public RoleMenu(Menu menu) {
|
this.menu = new Menu();
|
this.menu.copyFrom(menu);
|
}
|
|
@Override
|
public Comparator<Node> 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();
|
}
|
}
|
}
|