Introduce directory kinds.
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / osgi / useradmin / LdifGroup.java
index f4e558348194c0ae336bf11c11370bc2deca3cbf..b7167ea134684bacf63b25618446e8b198db27a5 100644 (file)
@@ -12,7 +12,7 @@ import javax.naming.ldap.LdapName;
 import org.osgi.service.useradmin.Role;
 
 /** Directory group implementation */
-class LdifGroup extends LdifUser implements DirectoryGroup {
+abstract class LdifGroup extends LdifUser implements DirectoryGroup {
        private final String memberAttributeId;
 
        LdifGroup(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) {
@@ -121,4 +121,31 @@ class LdifGroup extends LdifUser implements DirectoryGroup {
        public int getType() {
                return GROUP;
        }
+
+       /*
+        * KIND
+        */
+       static class LdifFunctionalGroup extends LdifGroup implements FunctionalGroup {
+
+               public LdifFunctionalGroup(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) {
+                       super(userAdmin, dn, attributes);
+               }
+
+       }
+
+       static class LdifOrganization extends LdifGroup implements Organization {
+
+               public LdifOrganization(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) {
+                       super(userAdmin, dn, attributes);
+               }
+
+       }
+
+       static class LdifSystemPermissions extends LdifGroup implements SystemPermissions {
+
+               public LdifSystemPermissions(AbstractUserDirectory userAdmin, LdapName dn, Attributes attributes) {
+                       super(userAdmin, dn, attributes);
+               }
+
+       }
 }