//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.core.web.security; import java.util.Collection; import java.util.HashSet; import java.util.Set; /** * Represent an user together with the roles they have access to. * * */ public class WebUser { private String username; private String password; private Set<String> roles = new HashSet<>(); /** * New instance of user, defaulting to no roles. * * @param username * @param password */ public WebUser(String username, String password) { this.username = username; this.password = password; } /** * Get the username. * * @return the username */ public String getUsername() { return username; } /** * Get the password. * * @return the password */ public String getPassword() { return password; } /** * Get the roles of the user. * * @return non-null, but possibly empty, set of roles. */ public Set<String> getRoles() { return roles; } /** * Add a role to this user. * * @param role */ public void addRole(String role) { if (role != null) { roles.add(role); } } /** * Add all provided roles to this user. * * @param roles * (checked for null) */ public void addRoles(Collection<String> roles) { if (roles != null) { this.roles.addAll(roles); } } /** * Get the roles an array. * * @return array of roles (non-null) */ public String[] getRolesAsArray() { return roles.toArray(new String[roles.size()]); } }