Introduce Argeo user edition
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.core / src / main / java / org / argeo / security / UserNature.java
index 25710e40529021018fdf94fa1529b7bc42a3aa74..8931be2b002e35ffc5cdefa11643dea315828cee 100644 (file)
 package org.argeo.security;
 
 import java.io.Serializable;
-import java.util.List;
-import java.util.Map;
 
-import org.argeo.ArgeoException;
-
-public class UserNature implements Serializable {
-       private static final long serialVersionUID = 1L;
-
-       private String type;
-
-       public String getType() {
-               if (type != null)
-                       return type;
-               else
-                       return getClass().getName();
-       }
-
-       public void setType(String type) {
-               this.type = type;
-       }
-
-       public final static void updateUserNaturesWithCheck(
-                       Map<String, UserNature> userNatures,
-                       Map<String, UserNature> userNaturesData) {
-               if (userNatures.size() != userNaturesData.size())
-                       throw new ArgeoException(
-                                       "It is forbidden to add or remove user natures via this method");
-               for (int i = 0; i < userNatures.size(); i++) {
-                       String type = userNatures.get(i).getType();
-                       boolean found = false;
-                       for (int j = 0; j < userNatures.size(); j++) {
-                               String newType = userNaturesData.get(j).getType();
-                               if (type.equals(newType))
-                                       found = true;
-                       }
-                       if (!found)
-                               throw new ArgeoException(
-                                               "Could not find a user nature of type " + type);
-               }
-
-               for (String key : userNatures.keySet()) {
-                       userNatures.put(key, userNaturesData.get(key));
-               }
-       }
+/**
+ * A set of specific data attached to a user. TODO: is this interface really
+ * useful?
+ */
+public interface UserNature extends Serializable {
+       @Deprecated
+       /** @deprecated will be removed soon*/
+       public String getType();
 }