Skip to content

Commit 80827cb

Browse files
committed
Updated AccessLevel enum - moved package upper, added string value
1 parent facc125 commit 80827cb

File tree

3 files changed

+46
-33
lines changed

3 files changed

+46
-33
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package io.mailtrap.model.response;
2+
3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonValue;
5+
import lombok.Getter;
6+
7+
public enum AccessLevel {
8+
9+
OWNER(1000, "owner"),
10+
ADMIN(100, "admin"),
11+
VIEWER(10, "viewer"),
12+
INDETERMINATE(1, "indeterminate");
13+
14+
@Getter
15+
private final int intValue;
16+
private final String stringValue;
17+
18+
AccessLevel(int intValue, String stringValue) {
19+
this.intValue = intValue;
20+
this.stringValue = stringValue;
21+
}
22+
23+
@JsonValue
24+
public String getStringValue() {
25+
return stringValue;
26+
}
27+
28+
@JsonCreator
29+
public static AccessLevel fromValue(Object value) {
30+
if (value instanceof Integer) {
31+
for (AccessLevel level : AccessLevel.values()) {
32+
if (level.intValue == (Integer) value) {
33+
return level;
34+
}
35+
}
36+
} else if (value instanceof String) {
37+
for (AccessLevel level : AccessLevel.values()) {
38+
if (level.stringValue.equalsIgnoreCase((String) value)) {
39+
return level;
40+
}
41+
}
42+
}
43+
throw new IllegalArgumentException("Unknown value: " + value);
44+
}
45+
}

src/main/java/io/mailtrap/model/response/account_accesses/AccessLevel.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/main/java/io/mailtrap/model/response/account_accesses/Resource.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.mailtrap.model.response.account_accesses;
22

33
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import io.mailtrap.model.response.AccessLevel;
45
import lombok.Data;
56

67
@Data

0 commit comments

Comments
 (0)