]> git.argeo.org Git - lgpl/argeo-commons.git/blob - directory/Directory.java
Prepare next development cycle
[lgpl/argeo-commons.git] / directory / Directory.java
1 package org.argeo.util.directory;
2
3 import java.util.Dictionary;
4 import java.util.Optional;
5
6 import org.argeo.util.transaction.WorkControl;
7
8 public interface Directory extends HierarchyUnit {
9 /**
10 * The base of the hierarchy defined by this directory. This could typically be
11 * an LDAP base DN.
12 */
13 String getContext();
14
15 String getName();
16
17 boolean isReadOnly();
18
19 boolean isDisabled();
20
21 Optional<String> getRealm();
22
23 void setTransactionControl(WorkControl transactionControl);
24
25 /*
26 * METADATA
27 */
28 public Dictionary<String, Object> getProperties();
29
30 /*
31 * HIERARCHY
32 */
33
34 Iterable<HierarchyUnit> getDirectHierarchyUnits(boolean functionalOnly);
35
36 HierarchyUnit getHierarchyUnit(String path);
37
38 }