001package com.box.sdkgen.schemas.realtimeservers;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.box.sdkgen.schemas.realtimeserver.RealtimeServer;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import com.fasterxml.jackson.annotation.JsonProperty;
008import java.util.List;
009import java.util.Objects;
010
011/** A list of real-time servers that can be used for long-polling. */
012@JsonFilter("nullablePropertyFilter")
013public class RealtimeServers extends SerializableObject {
014
015  /** The number of items in this response. */
016  @JsonProperty("chunk_size")
017  protected Long chunkSize;
018
019  /** A list of real-time servers. */
020  protected List<RealtimeServer> entries;
021
022  public RealtimeServers() {
023    super();
024  }
025
026  protected RealtimeServers(Builder builder) {
027    super();
028    this.chunkSize = builder.chunkSize;
029    this.entries = builder.entries;
030    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
031  }
032
033  public Long getChunkSize() {
034    return chunkSize;
035  }
036
037  public List<RealtimeServer> getEntries() {
038    return entries;
039  }
040
041  @Override
042  public boolean equals(Object o) {
043    if (this == o) {
044      return true;
045    }
046    if (o == null || getClass() != o.getClass()) {
047      return false;
048    }
049    RealtimeServers casted = (RealtimeServers) o;
050    return Objects.equals(chunkSize, casted.chunkSize) && Objects.equals(entries, casted.entries);
051  }
052
053  @Override
054  public int hashCode() {
055    return Objects.hash(chunkSize, entries);
056  }
057
058  @Override
059  public String toString() {
060    return "RealtimeServers{"
061        + "chunkSize='"
062        + chunkSize
063        + '\''
064        + ", "
065        + "entries='"
066        + entries
067        + '\''
068        + "}";
069  }
070
071  public static class Builder extends NullableFieldTracker {
072
073    protected Long chunkSize;
074
075    protected List<RealtimeServer> entries;
076
077    public Builder chunkSize(Long chunkSize) {
078      this.chunkSize = chunkSize;
079      return this;
080    }
081
082    public Builder entries(List<RealtimeServer> entries) {
083      this.entries = entries;
084      return this;
085    }
086
087    public RealtimeServers build() {
088      return new RealtimeServers(this);
089    }
090  }
091}