1 package org
.argeo
.util
.directory
;
3 import java
.util
.Dictionary
;
4 import java
.util
.Optional
;
6 import org
.argeo
.util
.transaction
.WorkControl
;
8 /** An information directory (typicylly LDAP). */
9 public interface Directory
extends HierarchyUnit
{
12 /** Whether this directory is read only. */
15 /** Whether this directory is disabled. */
18 /** The realm (typically Kerberos) of this directory. */
19 Optional
<String
> getRealm();
21 /** Sets the transaction control used by this directory when editing. */
22 void setTransactionControl(WorkControl transactionControl
);
27 /** Metadata of this directory. */
28 public Dictionary
<String
, Object
> getProperties();
33 /** The first level of hierarchy units. */
34 Iterable
<HierarchyUnit
> getDirectHierarchyUnits(boolean functionalOnly
);
36 /** The hierarchy unit at this path. */
37 HierarchyUnit
getHierarchyUnit(String path
);
39 /** Create a new hierarchy unit. */
40 HierarchyUnit
createHierarchyUnit(String path
);