* @return <code>true</code> if functional, <code>false</code> 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
/** Its metadata (typically LDAP attributes). */
Dictionary<String, Object> getProperties();
+
+ enum Type {
+ PEOPLE, //
+ GROUPS, //
+ ROLES, //
+ FUNCTIONAL;
+ }
}