package mousio.etcd4j.responses; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collections; import java.util.List; /** * Etcd Members response */ @JsonIgnoreProperties(ignoreUnknown = true) public class EtcdMembersResponse implements EtcdResponse { // The json public static final EtcdResponseDecoder<EtcdMembersResponse> DECODER = EtcdResponseDecoders.json(EtcdMembersResponse.class); private final List<MemberInfo> members; EtcdMembersResponse( @JsonProperty("members") List<MemberInfo> members) { this.members = Collections.unmodifiableList(members); } public List<MemberInfo> getMembers() { return members; } @JsonIgnoreProperties(ignoreUnknown = true) public static class MemberInfo { private final String id; private final String name; private final List<String> peerURLs; private final List<String> clientURLs; MemberInfo( @JsonProperty("id") final String id, @JsonProperty("name") final String name, @JsonProperty("peerURLs") final List<String> peerURLs, @JsonProperty("clientURLs") final List<String> clientURLs) { this.id = id; this.name = name; this.peerURLs = Collections.unmodifiableList(peerURLs); this.clientURLs = Collections.unmodifiableList(clientURLs); } public String getId() { return id; } public String getName() { return name; } public List<String> getPeerURLs() { return peerURLs; } public List<String> getClientURLs() { return clientURLs; } } }