Implement 389 DS's PBKDF2_SHA256 password scheme.
[lgpl/argeo-commons.git] / org.argeo.enterprise / src / org / argeo / osgi / useradmin / AuthenticatingUser.java
index 939b03852247cfd0973900b9745c7f93bdc3aeb9..01db8be9895b9f3548728f2b6d5c580f684424e4 100644 (file)
@@ -21,6 +21,8 @@ public class AuthenticatingUser implements User {
        private final Dictionary<String, Object> credentials;
 
        public AuthenticatingUser(LdapName name) {
+               if (name == null)
+                       throw new NullPointerException("Provided name cannot be null.");
                this.name = name.toString();
                this.credentials = new Hashtable<>();
        }
@@ -31,6 +33,8 @@ public class AuthenticatingUser implements User {
        }
 
        public AuthenticatingUser(String name, char[] password) {
+               if (name == null)
+                       throw new NullPointerException("Provided name cannot be null.");
                this.name = name;
                credentials = new Hashtable<>();
                credentials.put(SHARED_STATE_NAME, name);
@@ -65,4 +69,14 @@ public class AuthenticatingUser implements User {
                throw new UnsupportedOperationException();
        }
 
+       @Override
+       public int hashCode() {
+               return name.hashCode();
+       }
+
+       @Override
+       public String toString() {
+               return "Authenticating user " + name;
+       }
+
 }