001package com.box.sdkgen.schemas.filefull;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.box.sdkgen.serialization.json.EnumWrapper;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
008import com.fasterxml.jackson.databind.annotation.JsonSerialize;
009import java.util.Objects;
010
011@JsonFilter("nullablePropertyFilter")
012public class FileFullRepresentationsEntriesStatusField extends SerializableObject {
013
014  /**
015   * The status of the representation.
016   *
017   * <p>* `success` defines the representation as ready to be viewed. * `viewable` defines a video
018   * to be ready for viewing. * `pending` defines the representation as to be generated. Retry this
019   * endpoint to re-check the status. * `none` defines that the representation will be created when
020   * requested. Request the URL defined in the `info` object to trigger this generation.
021   */
022  @JsonDeserialize(
023      using =
024          FileFullRepresentationsEntriesStatusStateField
025              .FileFullRepresentationsEntriesStatusStateFieldDeserializer.class)
026  @JsonSerialize(
027      using =
028          FileFullRepresentationsEntriesStatusStateField
029              .FileFullRepresentationsEntriesStatusStateFieldSerializer.class)
030  protected EnumWrapper<FileFullRepresentationsEntriesStatusStateField> state;
031
032  public FileFullRepresentationsEntriesStatusField() {
033    super();
034  }
035
036  protected FileFullRepresentationsEntriesStatusField(Builder builder) {
037    super();
038    this.state = builder.state;
039    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
040  }
041
042  public EnumWrapper<FileFullRepresentationsEntriesStatusStateField> getState() {
043    return state;
044  }
045
046  @Override
047  public boolean equals(Object o) {
048    if (this == o) {
049      return true;
050    }
051    if (o == null || getClass() != o.getClass()) {
052      return false;
053    }
054    FileFullRepresentationsEntriesStatusField casted =
055        (FileFullRepresentationsEntriesStatusField) o;
056    return Objects.equals(state, casted.state);
057  }
058
059  @Override
060  public int hashCode() {
061    return Objects.hash(state);
062  }
063
064  @Override
065  public String toString() {
066    return "FileFullRepresentationsEntriesStatusField{" + "state='" + state + '\'' + "}";
067  }
068
069  public static class Builder extends NullableFieldTracker {
070
071    protected EnumWrapper<FileFullRepresentationsEntriesStatusStateField> state;
072
073    public Builder state(FileFullRepresentationsEntriesStatusStateField state) {
074      this.state = new EnumWrapper<FileFullRepresentationsEntriesStatusStateField>(state);
075      return this;
076    }
077
078    public Builder state(EnumWrapper<FileFullRepresentationsEntriesStatusStateField> state) {
079      this.state = state;
080      return this;
081    }
082
083    public FileFullRepresentationsEntriesStatusField build() {
084      return new FileFullRepresentationsEntriesStatusField(this);
085    }
086  }
087}