X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2Fdirectory%2FHierarchyUnit.java;h=947b6bc8553124e189f16fc6ab64671fffc6f1ed;hb=138e686fbf65683c3c94a52f1cfbaf8e02362e19;hp=0194ffc89165f68b5bc24fcfc55fc9e43f398c98;hpb=e2ffdf6872592aa22d0de2b0ec69ee4eca698c45;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 0194ffc89..947b6bc85 100644
--- a/org.argeo.util/src/org/argeo/util/directory/HierarchyUnit.java
+++ b/org.argeo.util/src/org/argeo/util/directory/HierarchyUnit.java
@@ -1,18 +1,42 @@
package org.argeo.util.directory;
+import java.util.Dictionary;
+import java.util.Locale;
+
/** A unit within the high-level organisational structure of a directory. */
public interface HierarchyUnit {
+ /** Name to use in paths. */
String getHierarchyUnitName();
+ /** Name to use in UI. */
+ String getHierarchyUnitLabel(Locale locale);
+
+ /**
+ * The parent {@link HierarchyUnit}, or null
if a
+ * {@link Directory}.
+ */
HierarchyUnit getParent();
- Iterable getDirectHierachyUnits(boolean functionalOnly);
+ /** 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();
- String getContext();
+ /**
+ * The base of this organisational unit within the hierarchy. This would
+ * typically be an LDAP base DN.
+ */
+ String getBase();
+ /** The related {@link Directory}. */
Directory getDirectory();
-// Map getHierarchyProperties();
+ /** Its metadata (typically LDAP attributes). */
+ Dictionary getProperties();
}