001package com.box.sdkgen.schemas.filefull;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import java.util.Objects;
007
008@JsonFilter("nullablePropertyFilter")
009public class FileFullRepresentationsEntriesField extends SerializableObject {
010
011  /** An object containing the URL that can be used to actually fetch the representation. */
012  protected FileFullRepresentationsEntriesContentField content;
013
014  /** An object containing the URL that can be used to fetch more info on this representation. */
015  protected FileFullRepresentationsEntriesInfoField info;
016
017  /** An object containing the size and type of this presentation. */
018  protected FileFullRepresentationsEntriesPropertiesField properties;
019
020  /** Indicates the file type of the returned representation. */
021  protected String representation;
022
023  /** An object containing the status of this representation. */
024  protected FileFullRepresentationsEntriesStatusField status;
025
026  public FileFullRepresentationsEntriesField() {
027    super();
028  }
029
030  protected FileFullRepresentationsEntriesField(Builder builder) {
031    super();
032    this.content = builder.content;
033    this.info = builder.info;
034    this.properties = builder.properties;
035    this.representation = builder.representation;
036    this.status = builder.status;
037    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
038  }
039
040  public FileFullRepresentationsEntriesContentField getContent() {
041    return content;
042  }
043
044  public FileFullRepresentationsEntriesInfoField getInfo() {
045    return info;
046  }
047
048  public FileFullRepresentationsEntriesPropertiesField getProperties() {
049    return properties;
050  }
051
052  public String getRepresentation() {
053    return representation;
054  }
055
056  public FileFullRepresentationsEntriesStatusField getStatus() {
057    return status;
058  }
059
060  @Override
061  public boolean equals(Object o) {
062    if (this == o) {
063      return true;
064    }
065    if (o == null || getClass() != o.getClass()) {
066      return false;
067    }
068    FileFullRepresentationsEntriesField casted = (FileFullRepresentationsEntriesField) o;
069    return Objects.equals(content, casted.content)
070        && Objects.equals(info, casted.info)
071        && Objects.equals(properties, casted.properties)
072        && Objects.equals(representation, casted.representation)
073        && Objects.equals(status, casted.status);
074  }
075
076  @Override
077  public int hashCode() {
078    return Objects.hash(content, info, properties, representation, status);
079  }
080
081  @Override
082  public String toString() {
083    return "FileFullRepresentationsEntriesField{"
084        + "content='"
085        + content
086        + '\''
087        + ", "
088        + "info='"
089        + info
090        + '\''
091        + ", "
092        + "properties='"
093        + properties
094        + '\''
095        + ", "
096        + "representation='"
097        + representation
098        + '\''
099        + ", "
100        + "status='"
101        + status
102        + '\''
103        + "}";
104  }
105
106  public static class Builder extends NullableFieldTracker {
107
108    protected FileFullRepresentationsEntriesContentField content;
109
110    protected FileFullRepresentationsEntriesInfoField info;
111
112    protected FileFullRepresentationsEntriesPropertiesField properties;
113
114    protected String representation;
115
116    protected FileFullRepresentationsEntriesStatusField status;
117
118    public Builder content(FileFullRepresentationsEntriesContentField content) {
119      this.content = content;
120      return this;
121    }
122
123    public Builder info(FileFullRepresentationsEntriesInfoField info) {
124      this.info = info;
125      return this;
126    }
127
128    public Builder properties(FileFullRepresentationsEntriesPropertiesField properties) {
129      this.properties = properties;
130      return this;
131    }
132
133    public Builder representation(String representation) {
134      this.representation = representation;
135      return this;
136    }
137
138    public Builder status(FileFullRepresentationsEntriesStatusField status) {
139      this.status = status;
140      return this;
141    }
142
143    public FileFullRepresentationsEntriesField build() {
144      return new FileFullRepresentationsEntriesField(this);
145    }
146  }
147}