X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=inline;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2Fdirectory%2FHierarchyUnit.java;h=1acd34f487278a5e1c06a2d978f97980abc75aa0;hb=15f93a026914b55e52f147e6aa53392434652522;hp=d35557784dd1f2e00ef5f1873c68b45a764f1721;hpb=285c23f26c4d634cd139d393ebcb708187d5e960;p=lgpl%2Fargeo-commons.git
diff --git a/org.argeo.util/src/org/argeo/util/directory/HierarchyUnit.java b/org.argeo.util/src/org/argeo/util/directory/HierarchyUnit.java
index d35557784..1acd34f48 100644
--- a/org.argeo.util/src/org/argeo/util/directory/HierarchyUnit.java
+++ b/org.argeo.util/src/org/argeo/util/directory/HierarchyUnit.java
@@ -4,12 +4,24 @@ import java.util.Dictionary;
/** A unit within the high-level organisational structure of a directory. */
public interface HierarchyUnit {
+ /** Name to use in paths. */
String getHierarchyUnitName();
+ /**
+ * The parent {@link HierarchyUnit}, or null
if a
+ * {@link Directory}.
+ */
HierarchyUnit getParent();
+ /** Direct children {@link HierarchyUnit}s. */
Iterable getDirectHierarchyUnits(boolean functionalOnly);
+ /**
+ * Whether this is an arbitrary named and placed {@link HierarchyUnit}.
+ *
+ * @return true
if functional, false
is technical
+ * (e.g. People, Groups, etc.)
+ */
boolean isFunctional();
/**
@@ -18,7 +30,9 @@ public interface HierarchyUnit {
*/
String getBase();
+ /** The related {@link Directory}. */
Directory getDirectory();
+ /** Its metadata (typically LDAP attributes). */
Dictionary getProperties();
}