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 AddClassificationRequestBodyDataField extends SerializableObject { 011 012 /** 013 * The label of the classification as shown in the web and mobile interfaces. This is the only 014 * field required to add a classification. 015 */ 016 protected final String key; 017 018 /** A static configuration for the classification. */ 019 protected AddClassificationRequestBodyDataStaticConfigField staticConfig; 020 021 public AddClassificationRequestBodyDataField(@JsonProperty("key") String key) { 022 super(); 023 this.key = key; 024 } 025 026 protected AddClassificationRequestBodyDataField(Builder builder) { 027 super(); 028 this.key = builder.key; 029 this.staticConfig = builder.staticConfig; 030 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 031 } 032 033 public String getKey() { 034 return key; 035 } 036 037 public AddClassificationRequestBodyDataStaticConfigField getStaticConfig() { 038 return staticConfig; 039 } 040 041 @Override 042 public boolean equals(Object o) { 043 if (this == o) { 044 return true; 045 } 046 if (o == null || getClass() != o.getClass()) { 047 return false; 048 } 049 AddClassificationRequestBodyDataField casted = (AddClassificationRequestBodyDataField) o; 050 return Objects.equals(key, casted.key) && Objects.equals(staticConfig, casted.staticConfig); 051 } 052 053 @Override 054 public int hashCode() { 055 return Objects.hash(key, staticConfig); 056 } 057 058 @Override 059 public String toString() { 060 return "AddClassificationRequestBodyDataField{" 061 + "key='" 062 + key 063 + '\'' 064 + ", " 065 + "staticConfig='" 066 + staticConfig 067 + '\'' 068 + "}"; 069 } 070 071 public static class Builder extends NullableFieldTracker { 072 073 protected final String key; 074 075 protected AddClassificationRequestBodyDataStaticConfigField staticConfig; 076 077 public Builder(String key) { 078 super(); 079 this.key = key; 080 } 081 082 public Builder staticConfig(AddClassificationRequestBodyDataStaticConfigField staticConfig) { 083 this.staticConfig = staticConfig; 084 return this; 085 } 086 087 public AddClassificationRequestBodyDataField build() { 088 return new AddClassificationRequestBodyDataField(this); 089 } 090 } 091}