X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2Fdirectory%2FDirectory.java;h=11e8e6285e64bcb0bf809e5adc22e2c56a76b953;hb=4012bedd8870634488b307d2233590fb1226e5d4;hp=351a608bc53c9c3dbfdb81910c858a54b1a3e56e;hpb=a2cb5d55f5d0e44d18fd1a2f5256111ad9fa0015;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/util/directory/Directory.java b/org.argeo.util/src/org/argeo/util/directory/Directory.java index 351a608bc..11e8e6285 100644 --- a/org.argeo.util/src/org/argeo/util/directory/Directory.java +++ b/org.argeo.util/src/org/argeo/util/directory/Directory.java @@ -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 getRealm(); + /** Sets the transaction control used by this directory when editing. */ void setTransactionControl(WorkControl transactionControl); /* * METADATA */ + /** Metadata of this directory. */ public Dictionary getProperties(); /* * HIERARCHY */ - + /** The first level of hierarchy units. */ Iterable getDirectHierarchyUnits(boolean functionalOnly); + /** The hierarchy unit at this path. */ HierarchyUnit getHierarchyUnit(String path); + /** Create a new hierarchy unit. */ + HierarchyUnit createHierarchyUnit(String path); }