Improve Directory framework.
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / util / directory / Directory.java
index 351a608bc53c9c3dbfdb81910c858a54b1a3e56e..11e8e6285e64bcb0bf809e5adc22e2c56a76b953 100644 (file)
@@ -5,6 +5,7 @@ import java.util.Optional;
 
 import org.argeo.util.transaction.WorkControl;
 
+/** An information directory (typicylly LDAP). */
 public interface Directory extends HierarchyUnit {
        /**
         * The base of the hierarchy defined by this directory. This could typically be
@@ -14,25 +15,33 @@ public interface Directory extends HierarchyUnit {
 
        String getName();
 
+       /** Whether this directory is read only. */
        boolean isReadOnly();
 
+       /** Whether this directory is disabled. */
        boolean isDisabled();
 
+       /** The realm (typically Kerberos) of this directory. */
        Optional<String> getRealm();
 
+       /** Sets the transaction control used by this directory when editing. */
        void setTransactionControl(WorkControl transactionControl);
 
        /*
         * METADATA
         */
+       /** Metadata of this directory. */
        public Dictionary<String, Object> getProperties();
 
        /*
         * HIERARCHY
         */
-
+       /** The first level of hierarchy units. */
        Iterable<HierarchyUnit> getDirectHierarchyUnits(boolean functionalOnly);
 
+       /** The hierarchy unit at this path. */
        HierarchyUnit getHierarchyUnit(String path);
 
+       /** Create a new hierarchy unit. */
+       HierarchyUnit createHierarchyUnit(String path);
 }