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 com.fasterxml.jackson.annotation.JsonProperty; 007import java.util.Objects; 008 009@JsonFilter("nullablePropertyFilter") 010public class ClassificationTemplateFieldsOptionsField extends SerializableObject { 011 012 /** The unique ID of this classification. */ 013 protected final String id; 014 015 /** The display name and key for this classification. */ 016 protected final String key; 017 018 /** Additional information about the classification. */ 019 protected ClassificationTemplateFieldsOptionsStaticConfigField staticConfig; 020 021 public ClassificationTemplateFieldsOptionsField( 022 @JsonProperty("id") String id, @JsonProperty("key") String key) { 023 super(); 024 this.id = id; 025 this.key = key; 026 } 027 028 protected ClassificationTemplateFieldsOptionsField(Builder builder) { 029 super(); 030 this.id = builder.id; 031 this.key = builder.key; 032 this.staticConfig = builder.staticConfig; 033 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 034 } 035 036 public String getId() { 037 return id; 038 } 039 040 public String getKey() { 041 return key; 042 } 043 044 public ClassificationTemplateFieldsOptionsStaticConfigField getStaticConfig() { 045 return staticConfig; 046 } 047 048 @Override 049 public boolean equals(Object o) { 050 if (this == o) { 051 return true; 052 } 053 if (o == null || getClass() != o.getClass()) { 054 return false; 055 } 056 ClassificationTemplateFieldsOptionsField casted = (ClassificationTemplateFieldsOptionsField) o; 057 return Objects.equals(id, casted.id) 058 && Objects.equals(key, casted.key) 059 && Objects.equals(staticConfig, casted.staticConfig); 060 } 061 062 @Override 063 public int hashCode() { 064 return Objects.hash(id, key, staticConfig); 065 } 066 067 @Override 068 public String toString() { 069 return "ClassificationTemplateFieldsOptionsField{" 070 + "id='" 071 + id 072 + '\'' 073 + ", " 074 + "key='" 075 + key 076 + '\'' 077 + ", " 078 + "staticConfig='" 079 + staticConfig 080 + '\'' 081 + "}"; 082 } 083 084 public static class Builder extends NullableFieldTracker { 085 086 protected final String id; 087 088 protected final String key; 089 090 protected ClassificationTemplateFieldsOptionsStaticConfigField staticConfig; 091 092 public Builder(String id, String key) { 093 super(); 094 this.id = id; 095 this.key = key; 096 } 097 098 public Builder staticConfig(ClassificationTemplateFieldsOptionsStaticConfigField staticConfig) { 099 this.staticConfig = staticConfig; 100 return this; 101 } 102 103 public ClassificationTemplateFieldsOptionsField build() { 104 return new ClassificationTemplateFieldsOptionsField(this); 105 } 106 } 107}