X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;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;
+ }
}