001package com.box.sdkgen.schemas.metadatas;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.box.sdkgen.schemas.metadata.Metadata;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import java.util.List;
008import java.util.Objects;
009
010/** A list of metadata instances that have been applied to a file or folder. */
011@JsonFilter("nullablePropertyFilter")
012public class Metadatas extends SerializableObject {
013
014  /** A list of metadata instances, as applied to this file or folder. */
015  protected List<Metadata> entries;
016
017  /** The limit that was used for this page of results. */
018  protected Long limit;
019
020  public Metadatas() {
021    super();
022  }
023
024  protected Metadatas(Builder builder) {
025    super();
026    this.entries = builder.entries;
027    this.limit = builder.limit;
028    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
029  }
030
031  public List<Metadata> getEntries() {
032    return entries;
033  }
034
035  public Long getLimit() {
036    return limit;
037  }
038
039  @Override
040  public boolean equals(Object o) {
041    if (this == o) {
042      return true;
043    }
044    if (o == null || getClass() != o.getClass()) {
045      return false;
046    }
047    Metadatas casted = (Metadatas) o;
048    return Objects.equals(entries, casted.entries) && Objects.equals(limit, casted.limit);
049  }
050
051  @Override
052  public int hashCode() {
053    return Objects.hash(entries, limit);
054  }
055
056  @Override
057  public String toString() {
058    return "Metadatas{" + "entries='" + entries + '\'' + ", " + "limit='" + limit + '\'' + "}";
059  }
060
061  public static class Builder extends NullableFieldTracker {
062
063    protected List<Metadata> entries;
064
065    protected Long limit;
066
067    public Builder entries(List<Metadata> entries) {
068      this.entries = entries;
069      return this;
070    }
071
072    public Builder limit(Long limit) {
073      this.limit = limit;
074      return this;
075    }
076
077    public Metadatas build() {
078      return new Metadatas(this);
079    }
080  }
081}