]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.util/src/org/argeo/util/directory/HierarchyUnit.java
1 package org
.argeo
.util
.directory
;
3 import java
.util
.Dictionary
;
5 /** A unit within the high-level organisational structure of a directory. */
6 public interface HierarchyUnit
{
7 /** Name to use in paths. */
8 String
getHierarchyUnitName();
11 * The parent {@link HierarchyUnit}, or <code>null</code> if a
14 HierarchyUnit
getParent();
16 /** Direct children {@link HierarchyUnit}s. */
17 Iterable
<HierarchyUnit
> getDirectHierarchyUnits(boolean functionalOnly
);
20 * Whether this is an arbitrary named and placed {@link HierarchyUnit}.
22 * @return <code>true</code> if functional, <code>false</code> is technical
23 * (e.g. People, Groups, etc.)
25 boolean isFunctional();
28 * The base of this organisational unit within the hierarchy. This would
29 * typically be an LDAP base DN.
33 /** The related {@link Directory}. */
34 Directory
getDirectory();
36 /** Its metadata (typically LDAP attributes). */
37 Dictionary
<String
, Object
> getProperties();