package org.wfc.omada.api.sitesetting.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * Portal Customize, required when parameter [pageType] is 1 or null
 */
@ApiModel(description = "Portal Customize, required when parameter [pageType] is 1 or null")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:32:19.054+08:00[Asia/Shanghai]")

public class PortalCustomizeOpenApiVo   {
  @JsonProperty("defaultLanguage")
  private Integer defaultLanguage;

  @JsonProperty("backgroundPictureId")
  private String backgroundPictureId;

  @JsonProperty("logoPictureId")
  private String logoPictureId;

  @JsonProperty("logoDisplay")
  private Boolean logoDisplay;

  @JsonProperty("inputBoxColor")
  private String inputBoxColor;

  @JsonProperty("inputBoxOpacity")
  private Integer inputBoxOpacity;

  @JsonProperty("inputTextColor")
  private String inputTextColor;

  @JsonProperty("inputTextOpacity")
  private Integer inputTextOpacity;

  @JsonProperty("buttonColor")
  private String buttonColor;

  @JsonProperty("buttonOpacity")
  private Integer buttonOpacity;

  @JsonProperty("buttonTextColor")
  private String buttonTextColor;

  @JsonProperty("buttonTextOpacity")
  private Integer buttonTextOpacity;

  @JsonProperty("buttonText")
  private String buttonText;

  @JsonProperty("formAuthButtonText")
  private String formAuthButtonText;

  @JsonProperty("welcomeEnable")
  private Boolean welcomeEnable;

  @JsonProperty("welcomeInformation")
  private String welcomeInformation;

  @JsonProperty("welcomeTextColor")
  private String welcomeTextColor;

  @JsonProperty("welcomeTextOpacity")
  private Integer welcomeTextOpacity;

  @JsonProperty("welcomeTextFontSize")
  private Integer welcomeTextFontSize;

  @JsonProperty("termsOfServiceEnable")
  private Boolean termsOfServiceEnable;

  @JsonProperty("termsOfServiceText")
  private String termsOfServiceText;

  @JsonProperty("termsOfServiceFontSize")
  private Integer termsOfServiceFontSize;

  @JsonProperty("termsOfServiceUrlTexts")
  @Valid
  private List<Object> termsOfServiceUrlTexts = null;

  @JsonProperty("copyrightEnable")
  private Boolean copyrightEnable;

  @JsonProperty("copyright")
  private String copyright;

  @JsonProperty("copyrightTextColor")
  private String copyrightTextColor;

  @JsonProperty("copyrightTextOpacity")
  private Integer copyrightTextOpacity;

  @JsonProperty("copyrightTextFontSize")
  private Integer copyrightTextFontSize;

  @JsonProperty("redirectionCountDownEnable")
  private Boolean redirectionCountDownEnable;

  @JsonProperty("advertisement")
  private AdvertisementSetting advertisement;

  public PortalCustomizeOpenApiVo defaultLanguage(Integer defaultLanguage) {
    this.defaultLanguage = defaultLanguage;
    return this;
  }

  /**
   * The controller automatically adjusts the language displayed on the Portal page according to the system language of the clients.If the language is not supported, the controller will use the default language specified here.<br/>1: en_US (English); 3: cs_CZ (Český); 4: de_DE (Deutsch); 5: da_DK (Dansk); 6: el_GR (ελληνικά);<br/>7: fr_FR (Français); 8: es_ES (Español); 9: nl_NL (Nederlands); 10: it_IT (Italiano); 11: pl_PL (Polski);<br/>12: pt_PT (Português); 13: ru_RU (Русский); 14: sv_SE (Svenska); 15: tr_TR (Türkçe);<br/>16: ar_SA (لغة عربية); <br/>17: ja_JP (日本語); 18: zh_TW (中文(繁體)); 19: th_TH (ไทย); 20: vi_VN (Tiếng Việt); 21: ko_KR (한국어)
   * @return defaultLanguage
  */
  @ApiModelProperty(required = true, value = "The controller automatically adjusts the language displayed on the Portal page according to the system language of the clients.If the language is not supported, the controller will use the default language specified here.<br/>1: en_US (English); 3: cs_CZ (Český); 4: de_DE (Deutsch); 5: da_DK (Dansk); 6: el_GR (ελληνικά);<br/>7: fr_FR (Français); 8: es_ES (Español); 9: nl_NL (Nederlands); 10: it_IT (Italiano); 11: pl_PL (Polski);<br/>12: pt_PT (Português); 13: ru_RU (Русский); 14: sv_SE (Svenska); 15: tr_TR (Türkçe);<br/>16: ar_SA (لغة عربية); <br/>17: ja_JP (日本語); 18: zh_TW (中文(繁體)); 19: th_TH (ไทย); 20: vi_VN (Tiếng Việt); 21: ko_KR (한국어)")
  @NotNull


  public Integer getDefaultLanguage() {
    return defaultLanguage;
  }

  public void setDefaultLanguage(Integer defaultLanguage) {
    this.defaultLanguage = defaultLanguage;
  }

  public PortalCustomizeOpenApiVo backgroundPictureId(String backgroundPictureId) {
    this.backgroundPictureId = backgroundPictureId;
    return this;
  }

  /**
   * Background picture ID
   * @return backgroundPictureId
  */
  @ApiModelProperty(value = "Background picture ID")


  public String getBackgroundPictureId() {
    return backgroundPictureId;
  }

  public void setBackgroundPictureId(String backgroundPictureId) {
    this.backgroundPictureId = backgroundPictureId;
  }

  public PortalCustomizeOpenApiVo logoPictureId(String logoPictureId) {
    this.logoPictureId = logoPictureId;
    return this;
  }

  /**
   * Logo picture ID
   * @return logoPictureId
  */
  @ApiModelProperty(value = "Logo picture ID")


  public String getLogoPictureId() {
    return logoPictureId;
  }

  public void setLogoPictureId(String logoPictureId) {
    this.logoPictureId = logoPictureId;
  }

  public PortalCustomizeOpenApiVo logoDisplay(Boolean logoDisplay) {
    this.logoDisplay = logoDisplay;
    return this;
  }

  /**
   * Whether to display the default logo.
   * @return logoDisplay
  */
  @ApiModelProperty(required = true, value = "Whether to display the default logo.")
  @NotNull


  public Boolean getLogoDisplay() {
    return logoDisplay;
  }

  public void setLogoDisplay(Boolean logoDisplay) {
    this.logoDisplay = logoDisplay;
  }

  public PortalCustomizeOpenApiVo inputBoxColor(String inputBoxColor) {
    this.inputBoxColor = inputBoxColor;
    return this;
  }

  /**
   * Input box color. Hex color code such as: #ffffff.
   * @return inputBoxColor
  */
  @ApiModelProperty(value = "Input box color. Hex color code such as: #ffffff.")

@Pattern(regexp="^#[0-9A-Fa-f]{6}$") 
  public String getInputBoxColor() {
    return inputBoxColor;
  }

  public void setInputBoxColor(String inputBoxColor) {
    this.inputBoxColor = inputBoxColor;
  }

  public PortalCustomizeOpenApiVo inputBoxOpacity(Integer inputBoxOpacity) {
    this.inputBoxOpacity = inputBoxOpacity;
    return this;
  }

  /**
   * Input box opacity, should be within the range of 0–100.
   * @return inputBoxOpacity
  */
  @ApiModelProperty(value = "Input box opacity, should be within the range of 0–100.")


  public Integer getInputBoxOpacity() {
    return inputBoxOpacity;
  }

  public void setInputBoxOpacity(Integer inputBoxOpacity) {
    this.inputBoxOpacity = inputBoxOpacity;
  }

  public PortalCustomizeOpenApiVo inputTextColor(String inputTextColor) {
    this.inputTextColor = inputTextColor;
    return this;
  }

  /**
   * Input text color. Hex color code such as: #ffffff.
   * @return inputTextColor
  */
  @ApiModelProperty(value = "Input text color. Hex color code such as: #ffffff.")

@Pattern(regexp="^#[0-9A-Fa-f]{6}$") 
  public String getInputTextColor() {
    return inputTextColor;
  }

  public void setInputTextColor(String inputTextColor) {
    this.inputTextColor = inputTextColor;
  }

  public PortalCustomizeOpenApiVo inputTextOpacity(Integer inputTextOpacity) {
    this.inputTextOpacity = inputTextOpacity;
    return this;
  }

  /**
   * Input text opacity, should be within the range of 0–100.
   * @return inputTextOpacity
  */
  @ApiModelProperty(value = "Input text opacity, should be within the range of 0–100.")


  public Integer getInputTextOpacity() {
    return inputTextOpacity;
  }

  public void setInputTextOpacity(Integer inputTextOpacity) {
    this.inputTextOpacity = inputTextOpacity;
  }

  public PortalCustomizeOpenApiVo buttonColor(String buttonColor) {
    this.buttonColor = buttonColor;
    return this;
  }

  /**
   * Button color. Hex color code such as: #ffffff.
   * @return buttonColor
  */
  @ApiModelProperty(value = "Button color. Hex color code such as: #ffffff.")

@Pattern(regexp="^#[0-9A-Fa-f]{6}$") 
  public String getButtonColor() {
    return buttonColor;
  }

  public void setButtonColor(String buttonColor) {
    this.buttonColor = buttonColor;
  }

  public PortalCustomizeOpenApiVo buttonOpacity(Integer buttonOpacity) {
    this.buttonOpacity = buttonOpacity;
    return this;
  }

  /**
   * Button opacity, should be within the range of 0–100.
   * @return buttonOpacity
  */
  @ApiModelProperty(value = "Button opacity, should be within the range of 0–100.")


  public Integer getButtonOpacity() {
    return buttonOpacity;
  }

  public void setButtonOpacity(Integer buttonOpacity) {
    this.buttonOpacity = buttonOpacity;
  }

  public PortalCustomizeOpenApiVo buttonTextColor(String buttonTextColor) {
    this.buttonTextColor = buttonTextColor;
    return this;
  }

  /**
   * Button text color. Hex color code such as: #ffffff.
   * @return buttonTextColor
  */
  @ApiModelProperty(value = "Button text color. Hex color code such as: #ffffff.")

@Pattern(regexp="^#[0-9A-Fa-f]{6}$") 
  public String getButtonTextColor() {
    return buttonTextColor;
  }

  public void setButtonTextColor(String buttonTextColor) {
    this.buttonTextColor = buttonTextColor;
  }

  public PortalCustomizeOpenApiVo buttonTextOpacity(Integer buttonTextOpacity) {
    this.buttonTextOpacity = buttonTextOpacity;
    return this;
  }

  /**
   * Button text opacity, should be within the range of 0–100.
   * @return buttonTextOpacity
  */
  @ApiModelProperty(value = "Button text opacity, should be within the range of 0–100.")


  public Integer getButtonTextOpacity() {
    return buttonTextOpacity;
  }

  public void setButtonTextOpacity(Integer buttonTextOpacity) {
    this.buttonTextOpacity = buttonTextOpacity;
  }

  public PortalCustomizeOpenApiVo buttonText(String buttonText) {
    this.buttonText = buttonText;
    return this;
  }

  /**
   * Button text, should contain 0 to 32 characters, default value is \"Log In\".
   * @return buttonText
  */
  @ApiModelProperty(value = "Button text, should contain 0 to 32 characters, default value is \"Log In\".")

@Pattern(regexp="^[^ ]$|^[^ ].{0,30}[^ ]$") 
  public String getButtonText() {
    return buttonText;
  }

  public void setButtonText(String buttonText) {
    this.buttonText = buttonText;
  }

  public PortalCustomizeOpenApiVo formAuthButtonText(String formAuthButtonText) {
    this.formAuthButtonText = formAuthButtonText;
    return this;
  }

  /**
   * Form auth button text, should contain 0 to 32 characters, required when [authType] is 11 and hotspot [enabledTypes] contains 12.Default value is \"Take the Survey\".
   * @return formAuthButtonText
  */
  @ApiModelProperty(value = "Form auth button text, should contain 0 to 32 characters, required when [authType] is 11 and hotspot [enabledTypes] contains 12.Default value is \"Take the Survey\".")

@Pattern(regexp="^[^ ]$|^[^ ].{0,30}[^ ]$") 
  public String getFormAuthButtonText() {
    return formAuthButtonText;
  }

  public void setFormAuthButtonText(String formAuthButtonText) {
    this.formAuthButtonText = formAuthButtonText;
  }

  public PortalCustomizeOpenApiVo welcomeEnable(Boolean welcomeEnable) {
    this.welcomeEnable = welcomeEnable;
    return this;
  }

  /**
   * Whether to display the welcome info
   * @return welcomeEnable
  */
  @ApiModelProperty(required = true, value = "Whether to display the welcome info")
  @NotNull


  public Boolean getWelcomeEnable() {
    return welcomeEnable;
  }

  public void setWelcomeEnable(Boolean welcomeEnable) {
    this.welcomeEnable = welcomeEnable;
  }

  public PortalCustomizeOpenApiVo welcomeInformation(String welcomeInformation) {
    this.welcomeInformation = welcomeInformation;
    return this;
  }

  /**
   * Welcome Information, should contain 1 to 31 characters.
   * @return welcomeInformation
  */
  @ApiModelProperty(value = "Welcome Information, should contain 1 to 31 characters.")

@Pattern(regexp="^.{1,31}$") 
  public String getWelcomeInformation() {
    return welcomeInformation;
  }

  public void setWelcomeInformation(String welcomeInformation) {
    this.welcomeInformation = welcomeInformation;
  }

  public PortalCustomizeOpenApiVo welcomeTextColor(String welcomeTextColor) {
    this.welcomeTextColor = welcomeTextColor;
    return this;
  }

  /**
   * Welcome text color. Hex color code such as: #ffffff.
   * @return welcomeTextColor
  */
  @ApiModelProperty(value = "Welcome text color. Hex color code such as: #ffffff.")

@Pattern(regexp="^#[0-9A-Fa-f]{6}$") 
  public String getWelcomeTextColor() {
    return welcomeTextColor;
  }

  public void setWelcomeTextColor(String welcomeTextColor) {
    this.welcomeTextColor = welcomeTextColor;
  }

  public PortalCustomizeOpenApiVo welcomeTextOpacity(Integer welcomeTextOpacity) {
    this.welcomeTextOpacity = welcomeTextOpacity;
    return this;
  }

  /**
   * Welcome text opacity, should be within the range of 0–100.
   * @return welcomeTextOpacity
  */
  @ApiModelProperty(value = "Welcome text opacity, should be within the range of 0–100.")


  public Integer getWelcomeTextOpacity() {
    return welcomeTextOpacity;
  }

  public void setWelcomeTextOpacity(Integer welcomeTextOpacity) {
    this.welcomeTextOpacity = welcomeTextOpacity;
  }

  public PortalCustomizeOpenApiVo welcomeTextFontSize(Integer welcomeTextFontSize) {
    this.welcomeTextFontSize = welcomeTextFontSize;
    return this;
  }

  /**
   * Welcome text font size, should be within the range of 12–18.
   * @return welcomeTextFontSize
  */
  @ApiModelProperty(value = "Welcome text font size, should be within the range of 12–18.")


  public Integer getWelcomeTextFontSize() {
    return welcomeTextFontSize;
  }

  public void setWelcomeTextFontSize(Integer welcomeTextFontSize) {
    this.welcomeTextFontSize = welcomeTextFontSize;
  }

  public PortalCustomizeOpenApiVo termsOfServiceEnable(Boolean termsOfServiceEnable) {
    this.termsOfServiceEnable = termsOfServiceEnable;
    return this;
  }

  /**
   * Whether to display terms of service.
   * @return termsOfServiceEnable
  */
  @ApiModelProperty(required = true, value = "Whether to display terms of service.")
  @NotNull


  public Boolean getTermsOfServiceEnable() {
    return termsOfServiceEnable;
  }

  public void setTermsOfServiceEnable(Boolean termsOfServiceEnable) {
    this.termsOfServiceEnable = termsOfServiceEnable;
  }

  public PortalCustomizeOpenApiVo termsOfServiceText(String termsOfServiceText) {
    this.termsOfServiceText = termsOfServiceText;
    return this;
  }

  /**
   * Terms of service text, should contain 0 to 100 characters.
   * @return termsOfServiceText
  */
  @ApiModelProperty(value = "Terms of service text, should contain 0 to 100 characters.")


  public String getTermsOfServiceText() {
    return termsOfServiceText;
  }

  public void setTermsOfServiceText(String termsOfServiceText) {
    this.termsOfServiceText = termsOfServiceText;
  }

  public PortalCustomizeOpenApiVo termsOfServiceFontSize(Integer termsOfServiceFontSize) {
    this.termsOfServiceFontSize = termsOfServiceFontSize;
    return this;
  }

  /**
   * Terms of service text font size, should be within the range of 12–18.
   * @return termsOfServiceFontSize
  */
  @ApiModelProperty(value = "Terms of service text font size, should be within the range of 12–18.")


  public Integer getTermsOfServiceFontSize() {
    return termsOfServiceFontSize;
  }

  public void setTermsOfServiceFontSize(Integer termsOfServiceFontSize) {
    this.termsOfServiceFontSize = termsOfServiceFontSize;
  }

  public PortalCustomizeOpenApiVo termsOfServiceUrlTexts(List<Object> termsOfServiceUrlTexts) {
    this.termsOfServiceUrlTexts = termsOfServiceUrlTexts;
    return this;
  }

  public PortalCustomizeOpenApiVo addTermsOfServiceUrlTextsItem(Object termsOfServiceUrlTextsItem) {
    if (this.termsOfServiceUrlTexts == null) {
      this.termsOfServiceUrlTexts = new ArrayList<>();
    }
    this.termsOfServiceUrlTexts.add(termsOfServiceUrlTextsItem);
    return this;
  }

  /**
   * Terms of service url texts, match the termsOfServiceText and turn the matching characters into an openable link, Up to 3 entries are allowed for the list.
   * @return termsOfServiceUrlTexts
  */
  @ApiModelProperty(value = "Terms of service url texts, match the termsOfServiceText and turn the matching characters into an openable link, Up to 3 entries are allowed for the list.")

@Size(min=0,max=3) 
  public List<Object> getTermsOfServiceUrlTexts() {
    return termsOfServiceUrlTexts;
  }

  public void setTermsOfServiceUrlTexts(List<Object> termsOfServiceUrlTexts) {
    this.termsOfServiceUrlTexts = termsOfServiceUrlTexts;
  }

  public PortalCustomizeOpenApiVo copyrightEnable(Boolean copyrightEnable) {
    this.copyrightEnable = copyrightEnable;
    return this;
  }

  /**
   * Whether to dispaly the copyright.
   * @return copyrightEnable
  */
  @ApiModelProperty(required = true, value = "Whether to dispaly the copyright.")
  @NotNull


  public Boolean getCopyrightEnable() {
    return copyrightEnable;
  }

  public void setCopyrightEnable(Boolean copyrightEnable) {
    this.copyrightEnable = copyrightEnable;
  }

  public PortalCustomizeOpenApiVo copyright(String copyright) {
    this.copyright = copyright;
    return this;
  }

  /**
   * Copyright text, should contain 0 to 200 characters.
   * @return copyright
  */
  @ApiModelProperty(value = "Copyright text, should contain 0 to 200 characters.")


  public String getCopyright() {
    return copyright;
  }

  public void setCopyright(String copyright) {
    this.copyright = copyright;
  }

  public PortalCustomizeOpenApiVo copyrightTextColor(String copyrightTextColor) {
    this.copyrightTextColor = copyrightTextColor;
    return this;
  }

  /**
   * Copyright text color. Hex color code such as: #ffffff.
   * @return copyrightTextColor
  */
  @ApiModelProperty(value = "Copyright text color. Hex color code such as: #ffffff.")

@Pattern(regexp="^#[0-9A-Fa-f]{6}$") 
  public String getCopyrightTextColor() {
    return copyrightTextColor;
  }

  public void setCopyrightTextColor(String copyrightTextColor) {
    this.copyrightTextColor = copyrightTextColor;
  }

  public PortalCustomizeOpenApiVo copyrightTextOpacity(Integer copyrightTextOpacity) {
    this.copyrightTextOpacity = copyrightTextOpacity;
    return this;
  }

  /**
   * Copyright text opacity, should be within the range of 0–100.
   * @return copyrightTextOpacity
  */
  @ApiModelProperty(value = "Copyright text opacity, should be within the range of 0–100.")


  public Integer getCopyrightTextOpacity() {
    return copyrightTextOpacity;
  }

  public void setCopyrightTextOpacity(Integer copyrightTextOpacity) {
    this.copyrightTextOpacity = copyrightTextOpacity;
  }

  public PortalCustomizeOpenApiVo copyrightTextFontSize(Integer copyrightTextFontSize) {
    this.copyrightTextFontSize = copyrightTextFontSize;
    return this;
  }

  /**
   * Copyright text font size, should be within the range of 12–18.
   * @return copyrightTextFontSize
  */
  @ApiModelProperty(value = "Copyright text font size, should be within the range of 12–18.")


  public Integer getCopyrightTextFontSize() {
    return copyrightTextFontSize;
  }

  public void setCopyrightTextFontSize(Integer copyrightTextFontSize) {
    this.copyrightTextFontSize = copyrightTextFontSize;
  }

  public PortalCustomizeOpenApiVo redirectionCountDownEnable(Boolean redirectionCountDownEnable) {
    this.redirectionCountDownEnable = redirectionCountDownEnable;
    return this;
  }

  /**
   * Whether to show redirection countdown after authorized.
   * @return redirectionCountDownEnable
  */
  @ApiModelProperty(value = "Whether to show redirection countdown after authorized.")


  public Boolean getRedirectionCountDownEnable() {
    return redirectionCountDownEnable;
  }

  public void setRedirectionCountDownEnable(Boolean redirectionCountDownEnable) {
    this.redirectionCountDownEnable = redirectionCountDownEnable;
  }

  public PortalCustomizeOpenApiVo advertisement(AdvertisementSetting advertisement) {
    this.advertisement = advertisement;
    return this;
  }

  /**
   * Get advertisement
   * @return advertisement
  */
  @ApiModelProperty(value = "")

  @Valid

  public AdvertisementSetting getAdvertisement() {
    return advertisement;
  }

  public void setAdvertisement(AdvertisementSetting advertisement) {
    this.advertisement = advertisement;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    PortalCustomizeOpenApiVo portalCustomizeOpenApiVo = (PortalCustomizeOpenApiVo) o;
    return Objects.equals(this.defaultLanguage, portalCustomizeOpenApiVo.defaultLanguage) &&
        Objects.equals(this.backgroundPictureId, portalCustomizeOpenApiVo.backgroundPictureId) &&
        Objects.equals(this.logoPictureId, portalCustomizeOpenApiVo.logoPictureId) &&
        Objects.equals(this.logoDisplay, portalCustomizeOpenApiVo.logoDisplay) &&
        Objects.equals(this.inputBoxColor, portalCustomizeOpenApiVo.inputBoxColor) &&
        Objects.equals(this.inputBoxOpacity, portalCustomizeOpenApiVo.inputBoxOpacity) &&
        Objects.equals(this.inputTextColor, portalCustomizeOpenApiVo.inputTextColor) &&
        Objects.equals(this.inputTextOpacity, portalCustomizeOpenApiVo.inputTextOpacity) &&
        Objects.equals(this.buttonColor, portalCustomizeOpenApiVo.buttonColor) &&
        Objects.equals(this.buttonOpacity, portalCustomizeOpenApiVo.buttonOpacity) &&
        Objects.equals(this.buttonTextColor, portalCustomizeOpenApiVo.buttonTextColor) &&
        Objects.equals(this.buttonTextOpacity, portalCustomizeOpenApiVo.buttonTextOpacity) &&
        Objects.equals(this.buttonText, portalCustomizeOpenApiVo.buttonText) &&
        Objects.equals(this.formAuthButtonText, portalCustomizeOpenApiVo.formAuthButtonText) &&
        Objects.equals(this.welcomeEnable, portalCustomizeOpenApiVo.welcomeEnable) &&
        Objects.equals(this.welcomeInformation, portalCustomizeOpenApiVo.welcomeInformation) &&
        Objects.equals(this.welcomeTextColor, portalCustomizeOpenApiVo.welcomeTextColor) &&
        Objects.equals(this.welcomeTextOpacity, portalCustomizeOpenApiVo.welcomeTextOpacity) &&
        Objects.equals(this.welcomeTextFontSize, portalCustomizeOpenApiVo.welcomeTextFontSize) &&
        Objects.equals(this.termsOfServiceEnable, portalCustomizeOpenApiVo.termsOfServiceEnable) &&
        Objects.equals(this.termsOfServiceText, portalCustomizeOpenApiVo.termsOfServiceText) &&
        Objects.equals(this.termsOfServiceFontSize, portalCustomizeOpenApiVo.termsOfServiceFontSize) &&
        Objects.equals(this.termsOfServiceUrlTexts, portalCustomizeOpenApiVo.termsOfServiceUrlTexts) &&
        Objects.equals(this.copyrightEnable, portalCustomizeOpenApiVo.copyrightEnable) &&
        Objects.equals(this.copyright, portalCustomizeOpenApiVo.copyright) &&
        Objects.equals(this.copyrightTextColor, portalCustomizeOpenApiVo.copyrightTextColor) &&
        Objects.equals(this.copyrightTextOpacity, portalCustomizeOpenApiVo.copyrightTextOpacity) &&
        Objects.equals(this.copyrightTextFontSize, portalCustomizeOpenApiVo.copyrightTextFontSize) &&
        Objects.equals(this.redirectionCountDownEnable, portalCustomizeOpenApiVo.redirectionCountDownEnable) &&
        Objects.equals(this.advertisement, portalCustomizeOpenApiVo.advertisement);
  }

  @Override
  public int hashCode() {
    return Objects.hash(defaultLanguage, backgroundPictureId, logoPictureId, logoDisplay, inputBoxColor, inputBoxOpacity, inputTextColor, inputTextOpacity, buttonColor, buttonOpacity, buttonTextColor, buttonTextOpacity, buttonText, formAuthButtonText, welcomeEnable, welcomeInformation, welcomeTextColor, welcomeTextOpacity, welcomeTextFontSize, termsOfServiceEnable, termsOfServiceText, termsOfServiceFontSize, termsOfServiceUrlTexts, copyrightEnable, copyright, copyrightTextColor, copyrightTextOpacity, copyrightTextFontSize, redirectionCountDownEnable, advertisement);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class PortalCustomizeOpenApiVo {\n");
    
    sb.append("    defaultLanguage: ").append(toIndentedString(defaultLanguage)).append("\n");
    sb.append("    backgroundPictureId: ").append(toIndentedString(backgroundPictureId)).append("\n");
    sb.append("    logoPictureId: ").append(toIndentedString(logoPictureId)).append("\n");
    sb.append("    logoDisplay: ").append(toIndentedString(logoDisplay)).append("\n");
    sb.append("    inputBoxColor: ").append(toIndentedString(inputBoxColor)).append("\n");
    sb.append("    inputBoxOpacity: ").append(toIndentedString(inputBoxOpacity)).append("\n");
    sb.append("    inputTextColor: ").append(toIndentedString(inputTextColor)).append("\n");
    sb.append("    inputTextOpacity: ").append(toIndentedString(inputTextOpacity)).append("\n");
    sb.append("    buttonColor: ").append(toIndentedString(buttonColor)).append("\n");
    sb.append("    buttonOpacity: ").append(toIndentedString(buttonOpacity)).append("\n");
    sb.append("    buttonTextColor: ").append(toIndentedString(buttonTextColor)).append("\n");
    sb.append("    buttonTextOpacity: ").append(toIndentedString(buttonTextOpacity)).append("\n");
    sb.append("    buttonText: ").append(toIndentedString(buttonText)).append("\n");
    sb.append("    formAuthButtonText: ").append(toIndentedString(formAuthButtonText)).append("\n");
    sb.append("    welcomeEnable: ").append(toIndentedString(welcomeEnable)).append("\n");
    sb.append("    welcomeInformation: ").append(toIndentedString(welcomeInformation)).append("\n");
    sb.append("    welcomeTextColor: ").append(toIndentedString(welcomeTextColor)).append("\n");
    sb.append("    welcomeTextOpacity: ").append(toIndentedString(welcomeTextOpacity)).append("\n");
    sb.append("    welcomeTextFontSize: ").append(toIndentedString(welcomeTextFontSize)).append("\n");
    sb.append("    termsOfServiceEnable: ").append(toIndentedString(termsOfServiceEnable)).append("\n");
    sb.append("    termsOfServiceText: ").append(toIndentedString(termsOfServiceText)).append("\n");
    sb.append("    termsOfServiceFontSize: ").append(toIndentedString(termsOfServiceFontSize)).append("\n");
    sb.append("    termsOfServiceUrlTexts: ").append(toIndentedString(termsOfServiceUrlTexts)).append("\n");
    sb.append("    copyrightEnable: ").append(toIndentedString(copyrightEnable)).append("\n");
    sb.append("    copyright: ").append(toIndentedString(copyright)).append("\n");
    sb.append("    copyrightTextColor: ").append(toIndentedString(copyrightTextColor)).append("\n");
    sb.append("    copyrightTextOpacity: ").append(toIndentedString(copyrightTextOpacity)).append("\n");
    sb.append("    copyrightTextFontSize: ").append(toIndentedString(copyrightTextFontSize)).append("\n");
    sb.append("    redirectionCountDownEnable: ").append(toIndentedString(redirectionCountDownEnable)).append("\n");
    sb.append("    advertisement: ").append(toIndentedString(advertisement)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

