Multiple user referentials working with IPA.
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / util / directory / Directory.java
index b3dfa8b05cc8ae208ec65508eec06f42f5453b25..988658969ef752b4ccba2d707666a458f6e390ed 100644 (file)
@@ -4,33 +4,29 @@ import java.util.Optional;
 
 import org.argeo.util.transaction.WorkControl;
 
-public interface Directory {
-       /**
-        * The base of the hierarchy defined by this directory. This could typically be
-        * an LDAP base DN.
-        */
-       String getContext();
-
+/** An information directory (typicylly LDAP). */
+public interface Directory extends HierarchyUnit {
        String getName();
 
+       /** Whether this directory is read only. */
        boolean isReadOnly();
 
+       /** Whether this directory is disabled. */
        boolean isDisabled();
 
-       String getUserObjectClass();
-
-       String getGroupObjectClass();
-
+       /** The realm (typically Kerberos) of this directory. */
        Optional<String> getRealm();
 
+       /** Sets the transaction control used by this directory when editing. */
        void setTransactionControl(WorkControl transactionControl);
 
        /*
         * HIERARCHY
         */
 
-       Iterable<HierarchyUnit> getDirectHierarchyUnits(boolean functionalOnly);
-
+       /** The hierarchy unit at this path. */
        HierarchyUnit getHierarchyUnit(String path);
 
+       /** Create a new hierarchy unit. */
+       HierarchyUnit createHierarchyUnit(String path);
 }