001package com.box.sdkgen.schemas.classificationtemplate;
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 ClassificationTemplateFieldsOptionsStaticConfigField extends SerializableObject {
010
011  /**
012   * Additional information about the classification.
013   *
014   * <p>This is not an exclusive list of properties, and more object fields might be returned. These
015   * fields are used for internal Box Shield and Box Governance purposes and no additional value
016   * must be derived from these fields.
017   */
018  protected ClassificationTemplateFieldsOptionsStaticConfigClassificationField classification;
019
020  public ClassificationTemplateFieldsOptionsStaticConfigField() {
021    super();
022  }
023
024  protected ClassificationTemplateFieldsOptionsStaticConfigField(Builder builder) {
025    super();
026    this.classification = builder.classification;
027    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
028  }
029
030  public ClassificationTemplateFieldsOptionsStaticConfigClassificationField getClassification() {
031    return classification;
032  }
033
034  @Override
035  public boolean equals(Object o) {
036    if (this == o) {
037      return true;
038    }
039    if (o == null || getClass() != o.getClass()) {
040      return false;
041    }
042    ClassificationTemplateFieldsOptionsStaticConfigField casted =
043        (ClassificationTemplateFieldsOptionsStaticConfigField) o;
044    return Objects.equals(classification, casted.classification);
045  }
046
047  @Override
048  public int hashCode() {
049    return Objects.hash(classification);
050  }
051
052  @Override
053  public String toString() {
054    return "ClassificationTemplateFieldsOptionsStaticConfigField{"
055        + "classification='"
056        + classification
057        + '\''
058        + "}";
059  }
060
061  public static class Builder extends NullableFieldTracker {
062
063    protected ClassificationTemplateFieldsOptionsStaticConfigClassificationField classification;
064
065    public Builder classification(
066        ClassificationTemplateFieldsOptionsStaticConfigClassificationField classification) {
067      this.classification = classification;
068      return this;
069    }
070
071    public ClassificationTemplateFieldsOptionsStaticConfigField build() {
072      return new ClassificationTemplateFieldsOptionsStaticConfigField(this);
073    }
074  }
075}