prerna.auth.User Maven / Gradle / Ivy
package prerna.auth;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
import prerna.om.AbstractValueObject;
public class User extends AbstractValueObject {
// name of this user in the SEMOSS system if there is one
// need to have an access token store
Hashtable accessTokens = new Hashtable();
List loggedInProfiles = new ArrayList();
/**
* Set the access token for a given provider
* @param value
*/
public void setAccessToken(AccessToken value) {
AuthProvider name = value.getProvider();
if(!loggedInProfiles.contains(name)) {
loggedInProfiles.add(name);
}
accessTokens.put(name, value);
}
/**
* Get the requested access token
* @param name
* @return
*/
public AccessToken getAccessToken(AuthProvider name) {
return accessTokens.get(name);
}
/**
* Drop the access token for a given provider
* @param name The name of the provider
* @return boolean if the provider was dropped
*/
public boolean dropAccessToken(String name) {
// remove from token map
AuthProvider tokenKey = AuthProvider.valueOf(name);
AccessToken token = accessTokens.remove(tokenKey);
// remove from profiles list
loggedInProfiles.remove(tokenKey);
// return false if the token actually wasn't found
if(token == null) {
return false;
}
return true;
}
/**
* Get the list of logged in profiles
* @return
*/
public List getLogins() {
return loggedInProfiles;
}
public boolean isLoggedIn() {
return !this.loggedInProfiles.isEmpty();
}
}