001package com.box.sdkgen.schemas.v2025r0.hubitemsv2025r0;
002
003import com.box.sdkgen.internal.Nullable;
004import com.box.sdkgen.internal.NullableFieldTracker;
005import com.box.sdkgen.internal.SerializableObject;
006import com.box.sdkgen.schemas.v2025r0.hubitemv2025r0.HubItemV2025R0;
007import com.fasterxml.jackson.annotation.JsonFilter;
008import com.fasterxml.jackson.annotation.JsonProperty;
009import java.util.List;
010import java.util.Objects;
011
012/** A list of Box Hub items. */
013@JsonFilter("nullablePropertyFilter")
014public class HubItemsV2025R0 extends SerializableObject {
015
016  /** A list of Box Hub items. */
017  protected List<HubItemV2025R0> entries;
018
019  /**
020   * The limit that was used for these entries. This will be the same as the `limit` query parameter
021   * unless that value exceeded the maximum value allowed. The maximum value varies by API.
022   */
023  protected Long limit;
024
025  /** The marker for the start of the next page of results. */
026  @JsonProperty("next_marker")
027  @Nullable
028  protected String nextMarker;
029
030  public HubItemsV2025R0() {
031    super();
032  }
033
034  protected HubItemsV2025R0(Builder builder) {
035    super();
036    this.entries = builder.entries;
037    this.limit = builder.limit;
038    this.nextMarker = builder.nextMarker;
039    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
040  }
041
042  public List<HubItemV2025R0> getEntries() {
043    return entries;
044  }
045
046  public Long getLimit() {
047    return limit;
048  }
049
050  public String getNextMarker() {
051    return nextMarker;
052  }
053
054  @Override
055  public boolean equals(Object o) {
056    if (this == o) {
057      return true;
058    }
059    if (o == null || getClass() != o.getClass()) {
060      return false;
061    }
062    HubItemsV2025R0 casted = (HubItemsV2025R0) o;
063    return Objects.equals(entries, casted.entries)
064        && Objects.equals(limit, casted.limit)
065        && Objects.equals(nextMarker, casted.nextMarker);
066  }
067
068  @Override
069  public int hashCode() {
070    return Objects.hash(entries, limit, nextMarker);
071  }
072
073  @Override
074  public String toString() {
075    return "HubItemsV2025R0{"
076        + "entries='"
077        + entries
078        + '\''
079        + ", "
080        + "limit='"
081        + limit
082        + '\''
083        + ", "
084        + "nextMarker='"
085        + nextMarker
086        + '\''
087        + "}";
088  }
089
090  public static class Builder extends NullableFieldTracker {
091
092    protected List<HubItemV2025R0> entries;
093
094    protected Long limit;
095
096    protected String nextMarker;
097
098    public Builder entries(List<HubItemV2025R0> entries) {
099      this.entries = entries;
100      return this;
101    }
102
103    public Builder limit(Long limit) {
104      this.limit = limit;
105      return this;
106    }
107
108    public Builder nextMarker(String nextMarker) {
109      this.nextMarker = nextMarker;
110      this.markNullableFieldAsSet("next_marker");
111      return this;
112    }
113
114    public HubItemsV2025R0 build() {
115      return new HubItemsV2025R0(this);
116    }
117  }
118}