-
Notifications
You must be signed in to change notification settings - Fork 364
/
WebAppUser.java
145 lines (133 loc) · 3.17 KB
/
WebAppUser.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/********************************************************************************
* Copyright (c) 2024 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License
* v1.0 which is available at
* https://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
********************************************************************************/
package org.eclipse.californium.cloud.s3.util;
import java.util.List;
/**
* Web application user credentials.
*
* @since 3.12
*/
public class WebAppUser {
/**
* User name for web application login service.
*/
public final String name;
/**
* Password for web application login service.
*/
public final String password;
/**
* S3 access key identity.
*/
public final String accessKeyId;
/**
* S3 access key secret.
*/
public final String accessKeySecret;
/**
* Web application configuration.
*/
public final String webAppConfig;
/**
* List of groups.
*/
public final List<String> groups;
/**
* Create service credentials.
*
* @param name login service user name
* @param password login service password
* @param accessKeyId S3 access key identity
* @param accessKeySecret S3 access key secret
* @param config "Single Page Application" configuration
* @param groups list of groups
*/
public WebAppUser(String name, String password, String accessKeyId, String accessKeySecret, String config,
List<String> groups) {
this.name = name;
this.password = password;
this.accessKeyId = accessKeyId;
this.accessKeySecret = accessKeySecret;
this.webAppConfig = config;
this.groups = groups;
}
@Override
public int hashCode() {
return name.hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
WebAppUser other = (WebAppUser) obj;
if (!name.equals(other.name))
return false;
return true;
}
/**
* Create user builder.
*
* @return user builder
*/
public static WebAppUser.Builder builder() {
return new Builder();
}
/**
* User builder.
*/
public static class Builder {
/**
* User name for web application login service.
*/
public String name;
/**
* Password for web application login service.
*/
public String password;
/**
* S3 access key identity.
*/
public String accessKeyId;
/**
* S3 access key secret.
*/
public String accessKeySecret;
/**
* Web application configuration.
*/
public String webAppConfig;
/**
* List of groups.
*/
public List<String> groups;
/**
* Create builder.
*/
private Builder() {
}
/**
* Create web application user.
*
* @return web application user
*/
public WebAppUser build() {
return new WebAppUser(name, password, accessKeyId, accessKeySecret, webAppConfig, groups);
}
}
}