]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.util/src/org/argeo/osgi/useradmin/UserDirectory.java
Introduce system roles
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / osgi / useradmin / UserDirectory.java
index 7d773a9e72283aed73fabe695314e1cd2da12a4f..18bb1a0a6eb6987e08c11c34633362f8aa2e7e57 100644 (file)
@@ -3,6 +3,7 @@ package org.argeo.osgi.useradmin;
 import java.util.Optional;
 
 import org.argeo.osgi.transaction.WorkControl;
+import org.osgi.service.useradmin.Role;
 
 /** Information about a user directory. */
 public interface UserDirectory {
@@ -10,7 +11,9 @@ public interface UserDirectory {
         * The base of the hierarchy defined by this directory. This could typically be
         * an LDAP base DN.
         */
-       String getBasePath();
+       String getContext();
+       
+       String getName();
 
 //     /** The base DN of all entries in this user directory */
 //     LdapName getBaseDn();
@@ -24,14 +27,26 @@ public interface UserDirectory {
 
        String getUserObjectClass();
 
-       String getUserBase();
+//     String getUserBase();
 
        String getGroupObjectClass();
 
-       String getGroupBase();
+//     String getGroupBase();
 
        Optional<String> getRealm();
 
+       Iterable<HierarchyUnit> getDirectHierarchyUnits(boolean functionalOnly);
+
+       HierarchyUnit getHierarchyUnit(String path);
+
+       HierarchyUnit getHierarchyUnit(Role role);
+
+       String getRolePath(Role role);
+
+       String getRoleSimpleName(Role role);
+
+       Role getRoleByPath(String path);
+
        @Deprecated
        void setTransactionControl(WorkControl transactionControl);
 }