X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.cms%2Fsrc%2Forg%2Fargeo%2Fapi%2Fcms%2Fdirectory%2FHierarchyUnit.java;h=f04dc4648637f9ca3c3197f584f7e70b41411998;hb=e023e9027edc0d734d11cb759259eaebb6d68bc9;hp=04593d94e428ef766fa87831fbaa0f3c745aaee7;hpb=1894ef7613f658b8b0d8104a108d92b756c0cdb3;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..f04dc4648 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 @@ -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 @@ -39,4 +43,11 @@ public interface HierarchyUnit { /** Its metadata (typically LDAP attributes). */ Dictionary getProperties(); + + enum Type { + PEOPLE, // + GROUPS, // + ROLES, // + FUNCTIONAL; + } }