X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.cms%2Fsrc%2Forg%2Fargeo%2Fapi%2Fcms%2Fdirectory%2FHierarchyUnit.java;h=6c67736eb89c3599e0786adccf41a394aca349e6;hb=feddb4be70a8304dd4a533efee6e14c22691b500;hp=04593d94e428ef766fa87831fbaa0f3c745aaee7;hpb=54df376a9c2dd458a82eaa09bfbb718fe699dd0d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.cms/src/org/argeo/api/cms/directory/HierarchyUnit.java b/org.argeo.api.cms/src/org/argeo/api/cms/directory/HierarchyUnit.java index 04593d94e..6c67736eb 100644 --- a/org.argeo.api.cms/src/org/argeo/api/cms/directory/HierarchyUnit.java +++ b/org.argeo.api.cms/src/org/argeo/api/cms/directory/HierarchyUnit.java @@ -13,7 +13,7 @@ public interface HierarchyUnit { /** * The parent {@link HierarchyUnit}, or null if a - * {@link Directory}. + * {@link CmsDirectory}. */ HierarchyUnit getParent(); @@ -26,7 +26,11 @@ public interface HierarchyUnit { * @return true if functional, false is technical * (e.g. People, Groups, etc.) */ - boolean isFunctional(); + default boolean isFunctional() { + return isType(Type.FUNCTIONAL); + } + + boolean isType(Type type); /** * The base of this organisational unit within the hierarchy. This would @@ -34,9 +38,16 @@ public interface HierarchyUnit { */ String getBase(); - /** The related {@link Directory}. */ - Directory getDirectory(); + /** The related {@link CmsDirectory}. */ + CmsDirectory getDirectory(); /** Its metadata (typically LDAP attributes). */ Dictionary getProperties(); + + enum Type { + PEOPLE, // + GROUPS, // + ROLES, // + FUNCTIONAL; + } }