//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.core.web.security; import java.util.LinkedList; import java.util.List; import uk.gov.dstl.baleen.core.web.BaleenWebApi; /** Configuration for the authentication of the Web API. * See {@link BaleenWebApi} for details of the YAML configuration. * * */ public class WebAuthConfig { /** The authentication type to apply. * * Current supported at Basic authentication and no authentication. * * */ public enum AuthType { NONE, BASIC } private AuthType type; private String name; private List<WebUser> users; /** New instance. * @param type the authentication to be applied * @param name */ public WebAuthConfig(AuthType type, String name) { this.type = type; this.name = name; this.users = new LinkedList<WebUser>(); } /** Get the name of this authentication, which may be displayed to the users. * @return the name */ public String getName() { return name; } /** Get the authentication type of this configuration. * @return the type. */ public AuthType getType() { return type; } /** Get all the users specified in this configuration. * @return non-null list of users. */ public List<WebUser> getUsers() { return users; } /** Add a user to this configuration. * @param user (non-null) */ public void addUser(WebUser user) { users.add(user); } }