1616import io .nats .client .support .JsonValue ;
1717import io .nats .client .support .JsonValueUtils ;
1818import org .jspecify .annotations .NonNull ;
19+ import org .jspecify .annotations .Nullable ;
1920
21+ import java .time .ZonedDateTime ;
2022import java .util .List ;
2123
22- import static io .nats .client .support .ApiConstants .GROUP ;
24+ import static io .nats .client .support .ApiConstants .*;
25+ import static io .nats .client .support .JsonValueUtils .readDate ;
2326
2427/**
2528 * Status of a specific consumer priority group
2629 */
2730public class PriorityGroupState {
2831 private final String group ;
29-
30- // TODO - PINNED CONSUMER SUPPORT
31- // private final String pinnedClientId;
32- // private final ZonedDateTime pinnedTime;
32+ private final String pinnedClientId ;
33+ private final ZonedDateTime pinnedTime ;
3334
3435 static List <PriorityGroupState > optionalListOf (JsonValue vpgStates ) {
3536 return JsonValueUtils .optionalListOf (vpgStates , PriorityGroupState ::new );
3637 }
3738
3839 PriorityGroupState (JsonValue vpgState ) {
3940 group = JsonValueUtils .readString (vpgState , GROUP );
40- // TODO - PINNED CONSUMER SUPPORT
41- // pinnedClientId = JsonValueUtils.readString(vpgState, PINNED_CLIENT_ID);
42- // pinnedTime = readDate(vpgState, PINNED_TS);
41+ pinnedClientId = JsonValueUtils .readString (vpgState , PINNED_CLIENT_ID );
42+ pinnedTime = readDate (vpgState , PINNED_TS );
4343 }
4444
4545 /**
@@ -51,33 +51,30 @@ public String getGroup() {
5151 return group ;
5252 }
5353
54- // TODO - PINNED CONSUMER SUPPORT
55- // /**
56- // * The generated ID of the pinned client
57- // * @return the id
58- // */
59- // @Nullable
60- // public String getPinnedClientId() {
61- // return pinnedClientId;
62- // }
54+ /**
55+ * The generated ID of the pinned client
56+ * @return the id
57+ */
58+ @ Nullable
59+ public String getPinnedClientId () {
60+ return pinnedClientId ;
61+ }
6362
64- // TODO - PINNED CONSUMER SUPPORT
65- // /**
66- // * The timestamp when the client was pinned
67- // * @return the timestamp
68- // */
69- // @Nullable
70- // public ZonedDateTime getPinnedTime() {
71- // return pinnedTime;
72- // }
63+ /**
64+ * The timestamp when the client was pinned
65+ * @return the timestamp
66+ */
67+ @ Nullable
68+ public ZonedDateTime getPinnedTime () {
69+ return pinnedTime ;
70+ }
7371
7472 @ Override
7573 public String toString () {
7674 return "PriorityGroupState{" +
7775 "group='" + group + '\'' +
78- // TODO - PINNED CONSUMER SUPPORT
79- // ", pinnedClientId='" + pinnedClientId + '\'' +
80- // ", pinnedTime=" + pinnedTime +
76+ ", pinnedClientId='" + pinnedClientId + '\'' +
77+ ", pinnedTime=" + pinnedTime +
8178 '}' ;
8279 }
8380}
0 commit comments