001package com.box.sdkgen.schemas.filefull; 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 FileFullWatermarkInfoField extends SerializableObject { 011 012 /** Specifies if this item has a watermark applied. */ 013 @JsonProperty("is_watermarked") 014 protected Boolean isWatermarked; 015 016 /** Specifies if the watermark is inherited from any parent folder in the hierarchy. */ 017 @JsonProperty("is_watermark_inherited") 018 protected Boolean isWatermarkInherited; 019 020 /** Specifies if the watermark is enforced by an access policy. */ 021 @JsonProperty("is_watermarked_by_access_policy") 022 protected Boolean isWatermarkedByAccessPolicy; 023 024 public FileFullWatermarkInfoField() { 025 super(); 026 } 027 028 protected FileFullWatermarkInfoField(Builder builder) { 029 super(); 030 this.isWatermarked = builder.isWatermarked; 031 this.isWatermarkInherited = builder.isWatermarkInherited; 032 this.isWatermarkedByAccessPolicy = builder.isWatermarkedByAccessPolicy; 033 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 034 } 035 036 public Boolean getIsWatermarked() { 037 return isWatermarked; 038 } 039 040 public Boolean getIsWatermarkInherited() { 041 return isWatermarkInherited; 042 } 043 044 public Boolean getIsWatermarkedByAccessPolicy() { 045 return isWatermarkedByAccessPolicy; 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 FileFullWatermarkInfoField casted = (FileFullWatermarkInfoField) o; 057 return Objects.equals(isWatermarked, casted.isWatermarked) 058 && Objects.equals(isWatermarkInherited, casted.isWatermarkInherited) 059 && Objects.equals(isWatermarkedByAccessPolicy, casted.isWatermarkedByAccessPolicy); 060 } 061 062 @Override 063 public int hashCode() { 064 return Objects.hash(isWatermarked, isWatermarkInherited, isWatermarkedByAccessPolicy); 065 } 066 067 @Override 068 public String toString() { 069 return "FileFullWatermarkInfoField{" 070 + "isWatermarked='" 071 + isWatermarked 072 + '\'' 073 + ", " 074 + "isWatermarkInherited='" 075 + isWatermarkInherited 076 + '\'' 077 + ", " 078 + "isWatermarkedByAccessPolicy='" 079 + isWatermarkedByAccessPolicy 080 + '\'' 081 + "}"; 082 } 083 084 public static class Builder extends NullableFieldTracker { 085 086 protected Boolean isWatermarked; 087 088 protected Boolean isWatermarkInherited; 089 090 protected Boolean isWatermarkedByAccessPolicy; 091 092 public Builder isWatermarked(Boolean isWatermarked) { 093 this.isWatermarked = isWatermarked; 094 return this; 095 } 096 097 public Builder isWatermarkInherited(Boolean isWatermarkInherited) { 098 this.isWatermarkInherited = isWatermarkInherited; 099 return this; 100 } 101 102 public Builder isWatermarkedByAccessPolicy(Boolean isWatermarkedByAccessPolicy) { 103 this.isWatermarkedByAccessPolicy = isWatermarkedByAccessPolicy; 104 return this; 105 } 106 107 public FileFullWatermarkInfoField build() { 108 return new FileFullWatermarkInfoField(this); 109 } 110 } 111}