@SuppressWarnings("unchecked") public static <T extends Manageable> List<GroupOf<T>> find(String kind) { List<GroupOf<T>> groups = U.list(); for (GroupOf<?> group : all()) { if (group.kind().equals(kind)) { groups.add((GroupOf<T>) group); } } return groups; }
private static Btn action(final Manageable manageable, final String action) { String cls = manageable.getClass().getSimpleName(); GroupOf<? extends Manageable> group = U.notNull(manageable.group(), "manageable group"); String kind = U.notNull(group.kind(), "manageable kind"); String id = U.notNull(manageable.id(), "manageable id"); Btn btn = cmd(action, cls, kind, id).smallest(); final String cmd = btn.command(); btn.onClick(() -> manageable.runManageableAction(cmd)); return btn; } }
@Override public Object call() throws Exception { List<Object> info = U.list(); Collection<? extends GroupOf<?>> targetGroups = retrieveTargetGroups(); for (GroupOf<?> group : targetGroups) { List<? extends Manageable> items = group.items(); List<String> nav = U.list(group.kind()); info.add(h2(group.kind())); addInfo(baseUri, info, nav, items); } info.add(autoRefresh(2000)); return multi(info); }