001package com.box.sdkgen.managers.classifications;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import java.util.Objects;
008
009@JsonFilter("nullablePropertyFilter")
010public class UpdateClassificationRequestBodyDataField extends SerializableObject {
011
012  /** A new label for the classification, as it will be shown in the web and mobile interfaces. */
013  protected final String key;
014
015  /** A static configuration for the classification. */
016  protected UpdateClassificationRequestBodyDataStaticConfigField staticConfig;
017
018  public UpdateClassificationRequestBodyDataField(@JsonProperty("key") String key) {
019    super();
020    this.key = key;
021  }
022
023  protected UpdateClassificationRequestBodyDataField(Builder builder) {
024    super();
025    this.key = builder.key;
026    this.staticConfig = builder.staticConfig;
027    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
028  }
029
030  public String getKey() {
031    return key;
032  }
033
034  public UpdateClassificationRequestBodyDataStaticConfigField getStaticConfig() {
035    return staticConfig;
036  }
037
038  @Override
039  public boolean equals(Object o) {
040    if (this == o) {
041      return true;
042    }
043    if (o == null || getClass() != o.getClass()) {
044      return false;
045    }
046    UpdateClassificationRequestBodyDataField casted = (UpdateClassificationRequestBodyDataField) o;
047    return Objects.equals(key, casted.key) && Objects.equals(staticConfig, casted.staticConfig);
048  }
049
050  @Override
051  public int hashCode() {
052    return Objects.hash(key, staticConfig);
053  }
054
055  @Override
056  public String toString() {
057    return "UpdateClassificationRequestBodyDataField{"
058        + "key='"
059        + key
060        + '\''
061        + ", "
062        + "staticConfig='"
063        + staticConfig
064        + '\''
065        + "}";
066  }
067
068  public static class Builder extends NullableFieldTracker {
069
070    protected final String key;
071
072    protected UpdateClassificationRequestBodyDataStaticConfigField staticConfig;
073
074    public Builder(String key) {
075      super();
076      this.key = key;
077    }
078
079    public Builder staticConfig(UpdateClassificationRequestBodyDataStaticConfigField staticConfig) {
080      this.staticConfig = staticConfig;
081      return this;
082    }
083
084    public UpdateClassificationRequestBodyDataField build() {
085      return new UpdateClassificationRequestBodyDataField(this);
086    }
087  }
088}