]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.util/src/org/argeo/osgi/useradmin/UserDirectory.java
Introduce directory content provider
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / osgi / useradmin / UserDirectory.java
index ff80c5ac8385bf4aacac7699102754004cbdb6a6..781b7855a34c08b973d49fd0be9273b7d07cddc4 100644 (file)
@@ -1,15 +1,23 @@
 package org.argeo.osgi.useradmin;
 
-import javax.naming.ldap.LdapName;
-import javax.transaction.xa.XAResource;
+import java.util.Optional;
+
+import org.argeo.osgi.transaction.WorkControl;
+import org.osgi.service.useradmin.Role;
 
 /** Information about a user directory. */
-public interface UserDirectory {
-       /** The base DN of all entries in this user directory */
-       LdapName getBaseDn();
+public interface UserDirectory extends HierarchyUnit {
+       /**
+        * The base of the hierarchy defined by this directory. This could typically be
+        * an LDAP base DN.
+        */
+       String getBasePath();
+
+//     /** The base DN of all entries in this user directory */
+//     LdapName getBaseDn();
 
-       /** The related {@link XAResource} */
-       XAResource getXaResource();
+//     /** The related {@link XAResource} */
+//     XAResource getXaResource();
 
        boolean isReadOnly();
 
@@ -22,4 +30,13 @@ public interface UserDirectory {
        String getGroupObjectClass();
 
        String getGroupBase();
+
+       Optional<String> getRealm();
+
+       HierarchyUnit getHierarchyUnit(String path);
+
+       HierarchyUnit getHierarchyUnit(Role role);
+
+       @Deprecated
+       void setTransactionControl(WorkControl transactionControl);
 }