aboutsummaryrefslogtreecommitdiffstats
path: root/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java
diff options
context:
space:
mode:
Diffstat (limited to 'vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java')
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java47
1 files changed, 38 insertions, 9 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java
index d0672473776..33acf0e1c90 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java
@@ -16,17 +16,14 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MembershipEntity {
public final String memberName;
public final boolean isMember;
- public final String roleName;
public final String expiration;
@JsonCreator
public MembershipEntity(@JsonProperty("memberName") String memberName,
@JsonProperty("isMember") boolean isMember,
- @JsonProperty("roleName") String roleName,
@JsonProperty("expiration") String expiration) {
this.memberName = memberName;
this.isMember = isMember;
- this.roleName = roleName;
this.expiration = expiration;
}
@@ -40,13 +37,45 @@ public class MembershipEntity {
return isMember;
}
- @JsonGetter("roleName")
- public String roleName() {
- return roleName;
- }
-
@JsonGetter("expiration")
public String expiration() {
return expiration;
}
-}
+
+ public static class RoleMembershipEntity extends MembershipEntity {
+ public final String roleName;
+
+ @JsonCreator
+ public RoleMembershipEntity(@JsonProperty("memberName") String memberName,
+ @JsonProperty("isMember") boolean isMember,
+ @JsonProperty("roleName") String roleName,
+ @JsonProperty("expiration") String expiration) {
+ super(memberName, isMember, expiration);
+ this.roleName = roleName;
+ }
+
+ @JsonGetter("roleName")
+ public String roleName() {
+ return roleName;
+ }
+
+ }
+
+ public static class GroupMembershipEntity extends MembershipEntity {
+ public final String groupName;
+
+ @JsonCreator
+ public GroupMembershipEntity(@JsonProperty("memberName") String memberName,
+ @JsonProperty("isMember") boolean isMember,
+ @JsonProperty("groupName") String groupName,
+ @JsonProperty("expiration") String expiration) {
+ super(memberName, isMember, expiration);
+ this.groupName = groupName;
+ }
+
+ @JsonGetter("groupName")
+ public String roleName() {
+ return groupName;
+ }
+ }
+} \ No newline at end of file