Merge branch 'mmw/JAL-4199-task-execution-update' into development/Release_2_12_Branch
[jalview.git] / src / jalview / ws2 / api / Credentials.java
1 package jalview.ws2.api;
2
3 import java.util.Objects;
4
5 public final class Credentials
6 {
7   String username = null;
8
9   String email = null;
10
11   String password = null;
12
13   private static final Credentials EMPTY = new Credentials();
14
15   private Credentials()
16   {
17   }
18
19   public String getUsername()
20   {
21     return username;
22   }
23
24   public String getEmail()
25   {
26     return email;
27   }
28
29   public String getPassword()
30   {
31     return password;
32   }
33
34   public static final Credentials empty()
35   {
36     return EMPTY;
37   }
38
39   public static final Credentials usingEmail(String email)
40   {
41     Objects.requireNonNull(email);
42     if (email.isEmpty())
43       throw new IllegalArgumentException("empty email");
44     Credentials credentials = new Credentials();
45     credentials.email = email;
46     return credentials;
47   }
48
49   public static final Credentials usingEmail(String email, String password)
50   {
51     Objects.requireNonNull(email);
52     Objects.requireNonNull(password);
53     if (email.isEmpty())
54       throw new IllegalArgumentException("empty email");
55     Credentials credentials = new Credentials();
56     credentials.email = email;
57     credentials.password = password;
58     return credentials;
59   }
60
61   public static final Credentials usingUsername(String username,
62           String password)
63   {
64     Objects.requireNonNull(username);
65     Objects.requireNonNull(password);
66     if (username.isEmpty())
67       throw new IllegalArgumentException("empty username");
68     Credentials credentials = new Credentials();
69     credentials.username = username;
70     credentials.password = password;
71     return credentials;
72   }
73 }