package foundation.capacity.role; import foundation.data.entity.Entity; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; import foundation.page.Tab; public class RoleTab implements IJSONProvider { private Tab tab; private boolean visible; private boolean active; public RoleTab(Tab tab) { this.tab = tab; visible = true; active = true; } public void load(Entity entity) { visible = entity.getBoolean("is_visible", false); active = entity.getBoolean("is_active", false); } public String getId() { return tab.getId(); } public String getName() { return tab.getCode(); } public boolean isVisible() { return visible; } public boolean isActive() { return active; } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject(); tab.writeJSONBody(writer); writer.write("visible", visible && tab.isActive()); writer.write("active", active && tab.isActive()); writer.endObject(); } }