/** A unit within the high-level organisational structure of a directory. */
public interface HierarchyUnit {
- final static int UNKOWN = 0;
- final static int ORGANIZATION = 1;
- final static int OU = 2;
-
String getHierarchyUnitName();
- int getHierarchyChildCount();
+ HierarchyUnit getParent();
+
+ Iterable<HierarchyUnit> getDirectHierachyUnits(boolean functionalOnly);
+
+ boolean isFunctional();
- HierarchyUnit getHierarchyChild(int i);
+ String getContext();
- int getHierarchyUnitType();
+ List<? extends Role> getHierarchyUnitRoles(String filter, boolean deep);
- String getBasePath();
+ UserDirectory getDirectory();
- List<? extends Role> getRoles(String filter, boolean deep);
+// Map<String,Object> getHierarchyProperties();
}