Class UserDB


  • public class UserDB
    extends java.lang.Object
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • maxUsers

        private final int maxUsers
      • usersFile

        private final java.lang.String usersFile
      • userMap

        private final java.util.HashMap<java.lang.String,​User> userMap
      • loggedInUserMap

        private final java.util.HashMap<java.lang.String,​User> loggedInUserMap
      • pendingRegistrations

        private final java.util.HashMap<java.lang.String,​User> pendingRegistrations
      • highestExistingId

        private long highestExistingId
    • Constructor Detail

      • UserDB

        public UserDB​(java.lang.String filename,
                      int maxUsersVal)
    • Method Detail

      • getUserCount

        public int getUserCount()
      • isUserOnline

        public boolean isUserOnline​(User u)
      • getLoggedInUsers

        public java.util.Collection<User> getLoggedInUsers()
      • findUserByName

        public User findUserByName​(java.lang.String name)
      • getLoggedInNamesAsString

        public java.lang.String getLoggedInNamesAsString​(java.lang.String useSeparator)
      • getDeadCount

        public int getDeadCount()
      • getEnrolledCount

        public int getEnrolledCount()
      • getPlayingCount

        public int getPlayingCount()
      • getLoggedInCount

        public int getLoggedInCount()
      • getAllUsers

        public java.util.Collection<User> getAllUsers()
      • verifyLogin

        public java.lang.String verifyLogin​(java.lang.String username,
                                            java.lang.String password)
        Given a username and password, verifies that the user is allowed to login with that password.
        Parameters:
        username -
        password -
        Returns:
        reasonLoginFailed (String), null if login ok
      • registerUser

        public java.lang.String registerUser​(java.lang.String username,
                                             java.lang.String password,
                                             java.lang.String email,
                                             IColossusMail mailObject)
      • sendConfirmationMail

        public java.lang.String sendConfirmationMail​(java.lang.String username,
                                                     java.lang.String email,
                                                     java.lang.String confCode,
                                                     IColossusMail mailObject)
      • confirmRegistration

        public java.lang.String confirmRegistration​(java.lang.String username,
                                                    java.lang.String confirmationCode)
      • confirmIfCorrectCode

        private java.lang.String confirmIfCorrectCode​(java.lang.String username,
                                                      java.lang.String tryConfirmationCode)
      • changeProperties

        public java.lang.String changeProperties​(java.lang.String username,
                                                 java.lang.String oldPW,
                                                 java.lang.String newPW,
                                                 java.lang.String email,
                                                 java.lang.Boolean isAdmin)
      • readUsersFromFile

        private void readUsersFromFile()
      • storeUsersToFile

        public void storeUsersToFile()
      • storeUser

        private void storeUser​(User u)
      • cleanup

        public void cleanup()