001package com.box.sdkgen.schemas.signtemplate; 002 003import com.box.sdkgen.internal.Nullable; 004import com.box.sdkgen.internal.NullableFieldTracker; 005import com.box.sdkgen.internal.SerializableObject; 006import com.fasterxml.jackson.annotation.JsonFilter; 007import com.fasterxml.jackson.annotation.JsonProperty; 008import java.util.Objects; 009 010@JsonFilter("nullablePropertyFilter") 011public class SignTemplateCustomBrandingField extends SerializableObject { 012 013 /** Name of the company. */ 014 @JsonProperty("company_name") 015 @Nullable 016 protected String companyName; 017 018 /** Custom branding logo URI in the form of a base64 image. */ 019 @JsonProperty("logo_uri") 020 @Nullable 021 protected String logoUri; 022 023 /** Custom branding color in hex. */ 024 @JsonProperty("branding_color") 025 @Nullable 026 protected String brandingColor; 027 028 /** Content of the email footer. */ 029 @JsonProperty("email_footer_text") 030 @Nullable 031 protected String emailFooterText; 032 033 public SignTemplateCustomBrandingField() { 034 super(); 035 } 036 037 protected SignTemplateCustomBrandingField(Builder builder) { 038 super(); 039 this.companyName = builder.companyName; 040 this.logoUri = builder.logoUri; 041 this.brandingColor = builder.brandingColor; 042 this.emailFooterText = builder.emailFooterText; 043 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 044 } 045 046 public String getCompanyName() { 047 return companyName; 048 } 049 050 public String getLogoUri() { 051 return logoUri; 052 } 053 054 public String getBrandingColor() { 055 return brandingColor; 056 } 057 058 public String getEmailFooterText() { 059 return emailFooterText; 060 } 061 062 @Override 063 public boolean equals(Object o) { 064 if (this == o) { 065 return true; 066 } 067 if (o == null || getClass() != o.getClass()) { 068 return false; 069 } 070 SignTemplateCustomBrandingField casted = (SignTemplateCustomBrandingField) o; 071 return Objects.equals(companyName, casted.companyName) 072 && Objects.equals(logoUri, casted.logoUri) 073 && Objects.equals(brandingColor, casted.brandingColor) 074 && Objects.equals(emailFooterText, casted.emailFooterText); 075 } 076 077 @Override 078 public int hashCode() { 079 return Objects.hash(companyName, logoUri, brandingColor, emailFooterText); 080 } 081 082 @Override 083 public String toString() { 084 return "SignTemplateCustomBrandingField{" 085 + "companyName='" 086 + companyName 087 + '\'' 088 + ", " 089 + "logoUri='" 090 + logoUri 091 + '\'' 092 + ", " 093 + "brandingColor='" 094 + brandingColor 095 + '\'' 096 + ", " 097 + "emailFooterText='" 098 + emailFooterText 099 + '\'' 100 + "}"; 101 } 102 103 public static class Builder extends NullableFieldTracker { 104 105 protected String companyName; 106 107 protected String logoUri; 108 109 protected String brandingColor; 110 111 protected String emailFooterText; 112 113 public Builder companyName(String companyName) { 114 this.companyName = companyName; 115 this.markNullableFieldAsSet("company_name"); 116 return this; 117 } 118 119 public Builder logoUri(String logoUri) { 120 this.logoUri = logoUri; 121 this.markNullableFieldAsSet("logo_uri"); 122 return this; 123 } 124 125 public Builder brandingColor(String brandingColor) { 126 this.brandingColor = brandingColor; 127 this.markNullableFieldAsSet("branding_color"); 128 return this; 129 } 130 131 public Builder emailFooterText(String emailFooterText) { 132 this.emailFooterText = emailFooterText; 133 this.markNullableFieldAsSet("email_footer_text"); 134 return this; 135 } 136 137 public SignTemplateCustomBrandingField build() { 138 return new SignTemplateCustomBrandingField(this); 139 } 140 } 141}