/** Search among groups including system roles and users if needed */
List<User> listGroups(String filter, boolean includeUsers, boolean includeSystemRoles);
+// /**
+// * Lists functional accounts, that is users with regular access to the system
+// * under this functional hierarchy unit (which probably have technical direct
+// * sub hierarchy units), excluding groups which are not explicitly users.
+// */
+// Set<User> listAccounts(HierarchyUnit hierarchyUnit, boolean deep);
+
/*
* EDITION
*/
/** Add additional object classes to this role. */
void addObjectClasses(Role role, Set<String> objectClasses, Map<String, Object> additionalProperties);
+ /** Add additional object classes to this hierarchy unit. */
+ void addObjectClasses(HierarchyUnit hierarchyUnit, Set<String> objectClasses,
+ Map<String, Object> additionalProperties);
+
/** Add a member to this group. */
void addMember(Group group, Role role);
+
+ void edit(Runnable action);
/* MISCELLANEOUS */
/** Returns the dn of a role given its local ID */