|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectvooga.users.user.UserDatabaseInterface
public class UserDatabaseInterface
UserDatabaseInterface is effectively a Users API for interacting with the given database (e.g., Network or Local) where user information is stored. Other parts of VOOGA use this to look up user info based on their user name. For example, the Social team could verify if a given username is linked to a registered user through the following code:
String potentialNewUsername = getUserInput(); boolean isNewNameTaken = myUserDB.isUserInDatabase(potentialNewUsername); if (isNewNameTaken) { System.out.println("Error: '" + potentialNewUsername + "' is taken. Please try another name."); } else { //... }
Constructor Summary | |
---|---|
UserDatabaseInterface(IVoogaGUI gui)
Creates a new instance of UserDatabaseInterface. |
Method Summary | |
---|---|
boolean |
addUser(java.lang.String username,
java.lang.String password)
Attempts to add a user to the database, but does nothing if the username is already in the database |
boolean |
addUser(java.lang.String username,
java.lang.String password,
java.lang.String recoveryQuestion,
java.lang.String recoveryAnswer)
Attempts to add a user to the database, but does nothing if the username is already in the database |
boolean |
changeAboutMeText(VoogaUser user,
java.lang.String password,
java.lang.String aboutMeText)
|
boolean |
changePassword(VoogaUser userToChange,
java.lang.String oldPassword,
java.lang.String newPassword)
Returns true if the conversion from oldPassword to newPassword is successful, false otherwise. |
boolean |
changeUserName(java.lang.String oldName,
java.lang.String password,
java.lang.String newName)
Changes a user's username as requested if the new username does not exist and the password is correct |
VoogaUser |
findMatch(VoogaUser userToMatch,
java.util.List<VoogaUser> matchees,
java.lang.String gameName)
Looks to match a VoogaUser with someone else of similar high score for a specified game. |
java.util.ArrayList<java.lang.String> |
getAllUsernames()
Returns an ArrayList |
java.lang.String |
getRecoveryQuestion(VoogaUser user)
Returns the security question associated with this user |
VoogaUser |
getUser(java.lang.String username)
Returns the user who has the given userID |
boolean |
isPasswordValid(VoogaUser userToCheck,
java.lang.String password)
Returns true if password is the correct password for this user |
boolean |
isUserInDatabase(java.lang.String username)
Checks if a given username is in the database |
boolean |
isUserInDatabase(VoogaUser user)
Checks if a given user is in the database |
boolean |
isValidSecurityAnswer(VoogaUser user,
java.lang.String answer,
java.lang.String newPassword)
Tries to change a user's password based on her answer to the security question. |
boolean |
login(java.lang.String username,
java.lang.String password)
Logs a user in if the username/password combination is correct. |
boolean |
logout(java.lang.String username)
Logs a user out of the system and commits the change to the database. |
boolean |
logout(VoogaUser user)
Logs a user out of the system and commits the change to the database. |
void |
removeUser(java.lang.String username)
Used to delete users from the database (only used by UserTestSuite, won't be public for long!) |
void |
storeUser(VoogaUser user)
Stores user in the general users database table. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public UserDatabaseInterface(IVoogaGUI gui)
Method Detail |
---|
public boolean addUser(java.lang.String username, java.lang.String password)
username
- the username of the user being addedpassword
- the password of the user being added
public boolean addUser(java.lang.String username, java.lang.String password, java.lang.String recoveryQuestion, java.lang.String recoveryAnswer)
username
- the username of the user being addedpassword
- the password of the user being addedrecoveryQuestion
- question to recover the password if user forgetsrecoveryAnswer
- answer to question to recover the password if user
forgets
public java.lang.String getRecoveryQuestion(VoogaUser user)
user
- the user for whom to retrieve a security question
public boolean isValidSecurityAnswer(VoogaUser user, java.lang.String answer, java.lang.String newPassword)
user
- the user in questionanswer
- the answer provided to the security questionnewPassword
- the new password to set for the user
public boolean login(java.lang.String username, java.lang.String password)
username
- the username of the user trying to log inpassword
- the password of the user trying to log in
public boolean logout(java.lang.String username)
username
- the username of the user trying to log in
public boolean logout(VoogaUser user)
user
- the user trying to log in
public boolean isUserInDatabase(VoogaUser user)
userToCheck
- the user being checked
public boolean isUserInDatabase(java.lang.String username)
username
- the username being checked
public boolean changePassword(VoogaUser userToChange, java.lang.String oldPassword, java.lang.String newPassword)
userToChange
- the user whose password is to be changedoldPassword
- the current password for this usernewPassword
- the user's new password
public boolean isPasswordValid(VoogaUser userToCheck, java.lang.String password)
userToCheck
- the user whose password is to be checkedpassword
- the password to verify
public VoogaUser getUser(java.lang.String username)
userID
- the userID of the user whose data is being requested
public void storeUser(VoogaUser user)
user
- the user to store in the databasepublic void removeUser(java.lang.String username)
username
- the username to be deletedpublic boolean changeUserName(java.lang.String oldName, java.lang.String password, java.lang.String newName)
oldName
- the old usernamepassword
- user's password (for validation)newName
- the new username
public VoogaUser findMatch(VoogaUser userToMatch, java.util.List<VoogaUser> matchees, java.lang.String gameName)
userToMatch
- the VoogaUser to matchmatchees
- potential matches for toMatchgameName
- the AbstractGame for which we are doing the matching
public java.util.ArrayList<java.lang.String> getAllUsernames()
public boolean changeAboutMeText(VoogaUser user, java.lang.String password, java.lang.String aboutMeText)
user
- password
- aboutMeText
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |