001package com.box.sdkgen.managers.folderwatermarks; 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 UpdateFolderWatermarkRequestBodyWatermarkField 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 UpdateFolderWatermarkRequestBodyWatermarkImprintField 022 .UpdateFolderWatermarkRequestBodyWatermarkImprintFieldDeserializer.class) 023 @JsonSerialize( 024 using = 025 UpdateFolderWatermarkRequestBodyWatermarkImprintField 026 .UpdateFolderWatermarkRequestBodyWatermarkImprintFieldSerializer.class) 027 protected EnumWrapper<UpdateFolderWatermarkRequestBodyWatermarkImprintField> imprint; 028 029 public UpdateFolderWatermarkRequestBodyWatermarkField() { 030 super(); 031 this.imprint = 032 new EnumWrapper<UpdateFolderWatermarkRequestBodyWatermarkImprintField>( 033 UpdateFolderWatermarkRequestBodyWatermarkImprintField.DEFAULT); 034 } 035 036 protected UpdateFolderWatermarkRequestBodyWatermarkField(Builder builder) { 037 super(); 038 this.imprint = builder.imprint; 039 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 040 } 041 042 public EnumWrapper<UpdateFolderWatermarkRequestBodyWatermarkImprintField> 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 UpdateFolderWatermarkRequestBodyWatermarkField casted = 055 (UpdateFolderWatermarkRequestBodyWatermarkField) 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 "UpdateFolderWatermarkRequestBodyWatermarkField{" + "imprint='" + imprint + '\'' + "}"; 067 } 068 069 public static class Builder extends NullableFieldTracker { 070 071 protected EnumWrapper<UpdateFolderWatermarkRequestBodyWatermarkImprintField> imprint; 072 073 public Builder() { 074 super(); 075 } 076 077 public Builder imprint(UpdateFolderWatermarkRequestBodyWatermarkImprintField imprint) { 078 this.imprint = 079 new EnumWrapper<UpdateFolderWatermarkRequestBodyWatermarkImprintField>(imprint); 080 return this; 081 } 082 083 public Builder imprint( 084 EnumWrapper<UpdateFolderWatermarkRequestBodyWatermarkImprintField> imprint) { 085 this.imprint = imprint; 086 return this; 087 } 088 089 public UpdateFolderWatermarkRequestBodyWatermarkField build() { 090 if (this.imprint == null) { 091 this.imprint = 092 new EnumWrapper<UpdateFolderWatermarkRequestBodyWatermarkImprintField>( 093 UpdateFolderWatermarkRequestBodyWatermarkImprintField.DEFAULT); 094 } 095 return new UpdateFolderWatermarkRequestBodyWatermarkField(this); 096 } 097 } 098}