001package com.box.sdkgen.managers.retentionpolicyassignments; 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 CreateRetentionPolicyAssignmentRequestBodyFilterFieldsField 010 extends SerializableObject { 011 012 /** The metadata attribute key id. */ 013 protected String field; 014 015 /** The metadata attribute field id. For value, only enum and multiselect types are supported. */ 016 protected String value; 017 018 public CreateRetentionPolicyAssignmentRequestBodyFilterFieldsField() { 019 super(); 020 } 021 022 protected CreateRetentionPolicyAssignmentRequestBodyFilterFieldsField(Builder builder) { 023 super(); 024 this.field = builder.field; 025 this.value = builder.value; 026 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 027 } 028 029 public String getField() { 030 return field; 031 } 032 033 public String getValue() { 034 return value; 035 } 036 037 @Override 038 public boolean equals(Object o) { 039 if (this == o) { 040 return true; 041 } 042 if (o == null || getClass() != o.getClass()) { 043 return false; 044 } 045 CreateRetentionPolicyAssignmentRequestBodyFilterFieldsField casted = 046 (CreateRetentionPolicyAssignmentRequestBodyFilterFieldsField) o; 047 return Objects.equals(field, casted.field) && Objects.equals(value, casted.value); 048 } 049 050 @Override 051 public int hashCode() { 052 return Objects.hash(field, value); 053 } 054 055 @Override 056 public String toString() { 057 return "CreateRetentionPolicyAssignmentRequestBodyFilterFieldsField{" 058 + "field='" 059 + field 060 + '\'' 061 + ", " 062 + "value='" 063 + value 064 + '\'' 065 + "}"; 066 } 067 068 public static class Builder extends NullableFieldTracker { 069 070 protected String field; 071 072 protected String value; 073 074 public Builder field(String field) { 075 this.field = field; 076 return this; 077 } 078 079 public Builder value(String value) { 080 this.value = value; 081 return this; 082 } 083 084 public CreateRetentionPolicyAssignmentRequestBodyFilterFieldsField build() { 085 return new CreateRetentionPolicyAssignmentRequestBodyFilterFieldsField(this); 086 } 087 } 088}