Skip to content

Commit 3d968c1

Browse files
committed
bring back diversion reason and treatment
1 parent 01f80fb commit 3d968c1

File tree

2 files changed

+82
-0
lines changed

2 files changed

+82
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.bandwidth.sdk.model;
2+
3+
import static java.util.function.Function.identity;
4+
import static java.util.stream.Collectors.toMap;
5+
6+
import com.fasterxml.jackson.annotation.JsonCreator;
7+
import java.util.Arrays;
8+
import java.util.Map;
9+
import lombok.Getter;
10+
11+
@Getter
12+
public enum DiversionReason {
13+
away("away"),
14+
deflection("deflection"),
15+
do_not_disturb("do-not-disturb"),
16+
follow_me("follow-me"),
17+
no_answer("no-answer"),
18+
out_of_service("out-of-service"),
19+
time_of_day("time-of-day"),
20+
unavailable("unavailable"),
21+
unconditional("unconditional"),
22+
unknown("unknown"),
23+
user_busy("user-busy"),
24+
;
25+
26+
private static final Map<String, DiversionReason> DESERIALIZATION_MAP =
27+
Arrays.stream(values())
28+
.collect(toMap(v -> v.name, identity()));
29+
30+
private final String name;
31+
32+
DiversionReason(String name) {
33+
this.name = name;
34+
}
35+
36+
@JsonCreator
37+
public static DiversionReason resolve(String name) {
38+
return DESERIALIZATION_MAP.get(name.toLowerCase());
39+
}
40+
41+
@Override
42+
public String toString() {
43+
return name;
44+
}
45+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.bandwidth.sdk.model;
2+
3+
import static java.util.function.Function.identity;
4+
import static java.util.stream.Collectors.toMap;
5+
6+
import com.fasterxml.jackson.annotation.JsonCreator;
7+
import java.util.Arrays;
8+
import java.util.Map;
9+
import lombok.Getter;
10+
11+
@Getter
12+
public enum DiversionTreatment {
13+
none("none"),
14+
propagate("propagate"),
15+
stack("stack"),
16+
;
17+
18+
private static final Map<String, DiversionTreatment> DESERIALIZATION_MAP =
19+
Arrays.stream(values())
20+
.collect(toMap(v -> v.name, identity()));
21+
22+
private final String name;
23+
24+
DiversionTreatment(String name) {
25+
this.name = name;
26+
}
27+
28+
@JsonCreator
29+
public static DiversionTreatment resolve(String name) {
30+
return DESERIALIZATION_MAP.get(name.toLowerCase());
31+
}
32+
33+
@Override
34+
public String toString() {
35+
return name;
36+
}
37+
}

0 commit comments

Comments
 (0)