Use includes for displaying track information in non-admin mode.
[demoscenemusic.git] / src / main / java / net / pterodactylus / demoscenemusic / data / User.java
index 50468ca..d33daf5 100644 (file)
@@ -26,6 +26,12 @@ import java.util.Collection;
  */
 public interface User extends Base {
 
+       /** Privilege level for site gods. */
+       public static final int LEVEL_GOD = 100;
+
+       /** Privilege level for normal users. */
+       public static final int LEVEL_USER = 0;
+
        /**
         * Returns the name of this user.
         *
@@ -43,6 +49,34 @@ public interface User extends Base {
        public User setName(String name);
 
        /**
+        * Sets the password of this user.
+        *
+        * @param password
+        *            The new password of this user
+        * @return This user
+        */
+       public User setPassword(String password);
+
+       /**
+        * Sets the hash of the password of this user.
+        *
+        * @param passwordHash
+        *            The hash of the user’s password
+        * @return This user
+        */
+       public User setPasswordHash(String passwordHash);
+
+       /**
+        * Verifies the given password.
+        *
+        * @param password
+        *            The password to verify
+        * @return {@code true} if the given password matches the user’s password,
+        *         {@code false} otherwise
+        */
+       public boolean verifyPassword(String password);
+
+       /**
         * Returns the privilege level of this user. 0 is the level of a normal user
         * without any special privileges.
         *