001package com.box.sdkgen.managers.filewatermarks; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.serialization.json.EnumWrapper; 006import com.fasterxml.jackson.annotation.JsonFilter; 007import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 008import com.fasterxml.jackson.databind.annotation.JsonSerialize; 009import java.util.Objects; 010 011@JsonFilter("nullablePropertyFilter") 012public class UpdateFileWatermarkRequestBodyWatermarkField extends SerializableObject { 013 014 /** 015 * The type of watermark to apply. 016 * 017 * <p>Currently only supports one option. 018 */ 019 @JsonDeserialize( 020 using = 021 UpdateFileWatermarkRequestBodyWatermarkImprintField 022 .UpdateFileWatermarkRequestBodyWatermarkImprintFieldDeserializer.class) 023 @JsonSerialize( 024 using = 025 UpdateFileWatermarkRequestBodyWatermarkImprintField 026 .UpdateFileWatermarkRequestBodyWatermarkImprintFieldSerializer.class) 027 protected EnumWrapper<UpdateFileWatermarkRequestBodyWatermarkImprintField> imprint; 028 029 public UpdateFileWatermarkRequestBodyWatermarkField() { 030 super(); 031 this.imprint = 032 new EnumWrapper<UpdateFileWatermarkRequestBodyWatermarkImprintField>( 033 UpdateFileWatermarkRequestBodyWatermarkImprintField.DEFAULT); 034 } 035 036 protected UpdateFileWatermarkRequestBodyWatermarkField(Builder builder) { 037 super(); 038 this.imprint = builder.imprint; 039 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 040 } 041 042 public EnumWrapper<UpdateFileWatermarkRequestBodyWatermarkImprintField> getImprint() { 043 return imprint; 044 } 045 046 @Override 047 public boolean equals(Object o) { 048 if (this == o) { 049 return true; 050 } 051 if (o == null || getClass() != o.getClass()) { 052 return false; 053 } 054 UpdateFileWatermarkRequestBodyWatermarkField casted = 055 (UpdateFileWatermarkRequestBodyWatermarkField) o; 056 return Objects.equals(imprint, casted.imprint); 057 } 058 059 @Override 060 public int hashCode() { 061 return Objects.hash(imprint); 062 } 063 064 @Override 065 public String toString() { 066 return "UpdateFileWatermarkRequestBodyWatermarkField{" + "imprint='" + imprint + '\'' + "}"; 067 } 068 069 public static class Builder extends NullableFieldTracker { 070 071 protected EnumWrapper<UpdateFileWatermarkRequestBodyWatermarkImprintField> imprint; 072 073 public Builder() { 074 super(); 075 } 076 077 public Builder imprint(UpdateFileWatermarkRequestBodyWatermarkImprintField imprint) { 078 this.imprint = new EnumWrapper<UpdateFileWatermarkRequestBodyWatermarkImprintField>(imprint); 079 return this; 080 } 081 082 public Builder imprint( 083 EnumWrapper<UpdateFileWatermarkRequestBodyWatermarkImprintField> imprint) { 084 this.imprint = imprint; 085 return this; 086 } 087 088 public UpdateFileWatermarkRequestBodyWatermarkField build() { 089 if (this.imprint == null) { 090 this.imprint = 091 new EnumWrapper<UpdateFileWatermarkRequestBodyWatermarkImprintField>( 092 UpdateFileWatermarkRequestBodyWatermarkImprintField.DEFAULT); 093 } 094 return new UpdateFileWatermarkRequestBodyWatermarkField(this); 095 } 096 } 097}