X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2Fdirectory%2FDirectory.java;h=988658969ef752b4ccba2d707666a458f6e390ed;hb=3c1cdc594d954520b14646102b366290bdad58c7;hp=0bbb5e53f7bdd3ff35c283596d899bdddea93ddd;hpb=0ce8ecfe974cec9f524c16884209cd08544d890d;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 0bbb5e53f..988658969 100644 --- a/org.argeo.util/src/org/argeo/util/directory/Directory.java +++ b/org.argeo.util/src/org/argeo/util/directory/Directory.java @@ -1,38 +1,32 @@ package org.argeo.util.directory; -import java.util.Dictionary; 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(); + /** The realm (typically Kerberos) of this directory. */ Optional getRealm(); + /** Sets the transaction control used by this directory when editing. */ void setTransactionControl(WorkControl transactionControl); - /* - * METADATA - */ - public Dictionary getProperties(); - /* * HIERARCHY */ - Iterable getDirectHierarchyUnits(boolean functionalOnly); - + /** The hierarchy unit at this path. */ HierarchyUnit getHierarchyUnit(String path); + /** Create a new hierarchy unit. */ + HierarchyUnit createHierarchyUnit(String path); }