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 java.util.ArrayList;
import java.util.List;
import java.util.Objects;

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

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

  @JsonProperty("background")
  private Integer background;

  @JsonProperty("backgroundPicture")
  private PortalPictureInfo backgroundPicture;

  @JsonProperty("mobileBackgroundPicture")
  private PortalPictureInfo mobileBackgroundPicture;

  @JsonProperty("backgroundColor")
  private String backgroundColor;

  @JsonProperty("backgroundOpacity")
  private Integer backgroundOpacity;

  @JsonProperty("logoPicture")
  private PortalPictureInfo logoPicture;

  @JsonProperty("logoDisplay")
  private Boolean logoDisplay;

  @JsonProperty("logoPosition")
  private Integer logoPosition;

  @JsonProperty("logoSize")
  private Integer logoSize;

  @JsonProperty("logoPositionRatio")
  private Float logoPositionRatio;

  @JsonProperty("logoTranslate")
  private Integer logoTranslate;

  @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("buttonPositionRatio")
  private Float buttonPositionRatio;

  @JsonProperty("buttonTranslate")
  private Integer buttonTranslate;

  @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("termsOfService")
  private String termsOfService;

  @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 AdvertisementSettingResOpenApiVo advertisement;

  public PortalCustomizeResOpenApiVo 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. DefaultLanguage should be a value as follows:<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(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. DefaultLanguage should be a value as follows:<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 (한국어)")


  public Integer getDefaultLanguage() {
    return defaultLanguage;
  }

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

  public PortalCustomizeResOpenApiVo background(Integer background) {
    this.background = background;
    return this;
  }

  /**
   * Background type, should be a value as follows: 1: solid color, 2: picture
   * @return background
  */
  @ApiModelProperty(value = "Background type, should be a value as follows: 1: solid color, 2: picture")


  public Integer getBackground() {
    return background;
  }

  public void setBackground(Integer background) {
    this.background = background;
  }

  public PortalCustomizeResOpenApiVo backgroundPicture(PortalPictureInfo backgroundPicture) {
    this.backgroundPicture = backgroundPicture;
    return this;
  }

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

  @Valid

  public PortalPictureInfo getBackgroundPicture() {
    return backgroundPicture;
  }

  public void setBackgroundPicture(PortalPictureInfo backgroundPicture) {
    this.backgroundPicture = backgroundPicture;
  }

  public PortalCustomizeResOpenApiVo mobileBackgroundPicture(PortalPictureInfo mobileBackgroundPicture) {
    this.mobileBackgroundPicture = mobileBackgroundPicture;
    return this;
  }

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

  @Valid

  public PortalPictureInfo getMobileBackgroundPicture() {
    return mobileBackgroundPicture;
  }

  public void setMobileBackgroundPicture(PortalPictureInfo mobileBackgroundPicture) {
    this.mobileBackgroundPicture = mobileBackgroundPicture;
  }

  public PortalCustomizeResOpenApiVo backgroundColor(String backgroundColor) {
    this.backgroundColor = backgroundColor;
    return this;
  }

  /**
   * Portal background picture color. Hex color code such as: #ffffff
   * @return backgroundColor
  */
  @ApiModelProperty(value = "Portal background picture color. Hex color code such as: #ffffff")


  public String getBackgroundColor() {
    return backgroundColor;
  }

  public void setBackgroundColor(String backgroundColor) {
    this.backgroundColor = backgroundColor;
  }

  public PortalCustomizeResOpenApiVo backgroundOpacity(Integer backgroundOpacity) {
    this.backgroundOpacity = backgroundOpacity;
    return this;
  }

  /**
   * Portal background picture transparency percentage, should be within the range of 0–100
   * @return backgroundOpacity
  */
  @ApiModelProperty(value = "Portal background picture transparency percentage, should be within the range of 0–100")


  public Integer getBackgroundOpacity() {
    return backgroundOpacity;
  }

  public void setBackgroundOpacity(Integer backgroundOpacity) {
    this.backgroundOpacity = backgroundOpacity;
  }

  public PortalCustomizeResOpenApiVo logoPicture(PortalPictureInfo logoPicture) {
    this.logoPicture = logoPicture;
    return this;
  }

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

  @Valid

  public PortalPictureInfo getLogoPicture() {
    return logoPicture;
  }

  public void setLogoPicture(PortalPictureInfo logoPicture) {
    this.logoPicture = logoPicture;
  }

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

  /**
   * Whether to display the default logo
   * @return logoDisplay
  */
  @ApiModelProperty(value = "Whether to display the default logo")


  public Boolean getLogoDisplay() {
    return logoDisplay;
  }

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

  public PortalCustomizeResOpenApiVo logoPosition(Integer logoPosition) {
    this.logoPosition = logoPosition;
    return this;
  }

  /**
   * Logo position, should be a value as follow: 1: up; 2: middle; 3: lower
   * @return logoPosition
  */
  @ApiModelProperty(value = "Logo position, should be a value as follow: 1: up; 2: middle; 3: lower")


  public Integer getLogoPosition() {
    return logoPosition;
  }

  public void setLogoPosition(Integer logoPosition) {
    this.logoPosition = logoPosition;
  }

  public PortalCustomizeResOpenApiVo logoSize(Integer logoSize) {
    this.logoSize = logoSize;
    return this;
  }

  /**
   * Logo size, should be within the range of 30-100
   * @return logoSize
  */
  @ApiModelProperty(value = "Logo size, should be within the range of 30-100")


  public Integer getLogoSize() {
    return logoSize;
  }

  public void setLogoSize(Integer logoSize) {
    this.logoSize = logoSize;
  }

  public PortalCustomizeResOpenApiVo logoPositionRatio(Float logoPositionRatio) {
    this.logoPositionRatio = logoPositionRatio;
    return this;
  }

  /**
   * Logo position ratio, should be within the range of 1-100, represents from high to low.
   * @return logoPositionRatio
  */
  @ApiModelProperty(value = "Logo position ratio, should be within the range of 1-100, represents from high to low.")


  public Float getLogoPositionRatio() {
    return logoPositionRatio;
  }

  public void setLogoPositionRatio(Float logoPositionRatio) {
    this.logoPositionRatio = logoPositionRatio;
  }

  public PortalCustomizeResOpenApiVo logoTranslate(Integer logoTranslate) {
    this.logoTranslate = logoTranslate;
    return this;
  }

  /**
   * Distance of the logo from the top of the container, range: above 0
   * @return logoTranslate
  */
  @ApiModelProperty(value = "Distance of the logo from the top of the container, range: above 0")


  public Integer getLogoTranslate() {
    return logoTranslate;
  }

  public void setLogoTranslate(Integer logoTranslate) {
    this.logoTranslate = logoTranslate;
  }

  public PortalCustomizeResOpenApiVo 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")


  public String getInputBoxColor() {
    return inputBoxColor;
  }

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

  public PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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")


  public String getInputTextColor() {
    return inputTextColor;
  }

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

  public PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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")


  public String getButtonColor() {
    return buttonColor;
  }

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

  public PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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")


  public String getButtonTextColor() {
    return buttonTextColor;
  }

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

  public PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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\"")


  public String getButtonText() {
    return buttonText;
  }

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

  public PortalCustomizeResOpenApiVo 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\"")


  public String getFormAuthButtonText() {
    return formAuthButtonText;
  }

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

  public PortalCustomizeResOpenApiVo buttonPositionRatio(Float buttonPositionRatio) {
    this.buttonPositionRatio = buttonPositionRatio;
    return this;
  }

  /**
   * Button position ratio
   * @return buttonPositionRatio
  */
  @ApiModelProperty(value = "Button position ratio")


  public Float getButtonPositionRatio() {
    return buttonPositionRatio;
  }

  public void setButtonPositionRatio(Float buttonPositionRatio) {
    this.buttonPositionRatio = buttonPositionRatio;
  }

  public PortalCustomizeResOpenApiVo buttonTranslate(Integer buttonTranslate) {
    this.buttonTranslate = buttonTranslate;
    return this;
  }

  /**
   * The distance between the position of the button and the top
   * @return buttonTranslate
  */
  @ApiModelProperty(value = "The distance between the position of the button and the top")


  public Integer getButtonTranslate() {
    return buttonTranslate;
  }

  public void setButtonTranslate(Integer buttonTranslate) {
    this.buttonTranslate = buttonTranslate;
  }

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

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


  public Boolean getWelcomeEnable() {
    return welcomeEnable;
  }

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

  public PortalCustomizeResOpenApiVo 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")


  public String getWelcomeInformation() {
    return welcomeInformation;
  }

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

  public PortalCustomizeResOpenApiVo 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")


  public String getWelcomeTextColor() {
    return welcomeTextColor;
  }

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

  public PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo termsOfServiceEnable(Boolean termsOfServiceEnable) {
    this.termsOfServiceEnable = termsOfServiceEnable;
    return this;
  }

  /**
   * Whether to display terms of service
   * @return termsOfServiceEnable
  */
  @ApiModelProperty(value = "Whether to display terms of service")


  public Boolean getTermsOfServiceEnable() {
    return termsOfServiceEnable;
  }

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

  public PortalCustomizeResOpenApiVo termsOfService(String termsOfService) {
    this.termsOfService = termsOfService;
    return this;
  }

  /**
   * Service Terms Content
   * @return termsOfService
  */
  @ApiModelProperty(value = "Service Terms Content")


  public String getTermsOfService() {
    return termsOfService;
  }

  public void setTermsOfService(String termsOfService) {
    this.termsOfService = termsOfService;
  }

  public PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo termsOfServiceUrlTexts(List<Object> termsOfServiceUrlTexts) {
    this.termsOfServiceUrlTexts = termsOfServiceUrlTexts;
    return this;
  }

  public PortalCustomizeResOpenApiVo 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")


  public List<Object> getTermsOfServiceUrlTexts() {
    return termsOfServiceUrlTexts;
  }

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

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

  /**
   * Whether to display the copyright
   * @return copyrightEnable
  */
  @ApiModelProperty(value = "Whether to display the copyright")


  public Boolean getCopyrightEnable() {
    return copyrightEnable;
  }

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

  public PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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")


  public String getCopyrightTextColor() {
    return copyrightTextColor;
  }

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

  public PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo 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 PortalCustomizeResOpenApiVo advertisement(AdvertisementSettingResOpenApiVo advertisement) {
    this.advertisement = advertisement;
    return this;
  }

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

  @Valid

  public AdvertisementSettingResOpenApiVo getAdvertisement() {
    return advertisement;
  }

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


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    PortalCustomizeResOpenApiVo portalCustomizeResOpenApiVo = (PortalCustomizeResOpenApiVo) o;
    return Objects.equals(this.defaultLanguage, portalCustomizeResOpenApiVo.defaultLanguage) &&
        Objects.equals(this.background, portalCustomizeResOpenApiVo.background) &&
        Objects.equals(this.backgroundPicture, portalCustomizeResOpenApiVo.backgroundPicture) &&
        Objects.equals(this.mobileBackgroundPicture, portalCustomizeResOpenApiVo.mobileBackgroundPicture) &&
        Objects.equals(this.backgroundColor, portalCustomizeResOpenApiVo.backgroundColor) &&
        Objects.equals(this.backgroundOpacity, portalCustomizeResOpenApiVo.backgroundOpacity) &&
        Objects.equals(this.logoPicture, portalCustomizeResOpenApiVo.logoPicture) &&
        Objects.equals(this.logoDisplay, portalCustomizeResOpenApiVo.logoDisplay) &&
        Objects.equals(this.logoPosition, portalCustomizeResOpenApiVo.logoPosition) &&
        Objects.equals(this.logoSize, portalCustomizeResOpenApiVo.logoSize) &&
        Objects.equals(this.logoPositionRatio, portalCustomizeResOpenApiVo.logoPositionRatio) &&
        Objects.equals(this.logoTranslate, portalCustomizeResOpenApiVo.logoTranslate) &&
        Objects.equals(this.inputBoxColor, portalCustomizeResOpenApiVo.inputBoxColor) &&
        Objects.equals(this.inputBoxOpacity, portalCustomizeResOpenApiVo.inputBoxOpacity) &&
        Objects.equals(this.inputTextColor, portalCustomizeResOpenApiVo.inputTextColor) &&
        Objects.equals(this.inputTextOpacity, portalCustomizeResOpenApiVo.inputTextOpacity) &&
        Objects.equals(this.buttonColor, portalCustomizeResOpenApiVo.buttonColor) &&
        Objects.equals(this.buttonOpacity, portalCustomizeResOpenApiVo.buttonOpacity) &&
        Objects.equals(this.buttonTextColor, portalCustomizeResOpenApiVo.buttonTextColor) &&
        Objects.equals(this.buttonTextOpacity, portalCustomizeResOpenApiVo.buttonTextOpacity) &&
        Objects.equals(this.buttonText, portalCustomizeResOpenApiVo.buttonText) &&
        Objects.equals(this.formAuthButtonText, portalCustomizeResOpenApiVo.formAuthButtonText) &&
        Objects.equals(this.buttonPositionRatio, portalCustomizeResOpenApiVo.buttonPositionRatio) &&
        Objects.equals(this.buttonTranslate, portalCustomizeResOpenApiVo.buttonTranslate) &&
        Objects.equals(this.welcomeEnable, portalCustomizeResOpenApiVo.welcomeEnable) &&
        Objects.equals(this.welcomeInformation, portalCustomizeResOpenApiVo.welcomeInformation) &&
        Objects.equals(this.welcomeTextColor, portalCustomizeResOpenApiVo.welcomeTextColor) &&
        Objects.equals(this.welcomeTextOpacity, portalCustomizeResOpenApiVo.welcomeTextOpacity) &&
        Objects.equals(this.welcomeTextFontSize, portalCustomizeResOpenApiVo.welcomeTextFontSize) &&
        Objects.equals(this.termsOfServiceEnable, portalCustomizeResOpenApiVo.termsOfServiceEnable) &&
        Objects.equals(this.termsOfService, portalCustomizeResOpenApiVo.termsOfService) &&
        Objects.equals(this.termsOfServiceText, portalCustomizeResOpenApiVo.termsOfServiceText) &&
        Objects.equals(this.termsOfServiceFontSize, portalCustomizeResOpenApiVo.termsOfServiceFontSize) &&
        Objects.equals(this.termsOfServiceUrlTexts, portalCustomizeResOpenApiVo.termsOfServiceUrlTexts) &&
        Objects.equals(this.copyrightEnable, portalCustomizeResOpenApiVo.copyrightEnable) &&
        Objects.equals(this.copyright, portalCustomizeResOpenApiVo.copyright) &&
        Objects.equals(this.copyrightTextColor, portalCustomizeResOpenApiVo.copyrightTextColor) &&
        Objects.equals(this.copyrightTextOpacity, portalCustomizeResOpenApiVo.copyrightTextOpacity) &&
        Objects.equals(this.copyrightTextFontSize, portalCustomizeResOpenApiVo.copyrightTextFontSize) &&
        Objects.equals(this.redirectionCountDownEnable, portalCustomizeResOpenApiVo.redirectionCountDownEnable) &&
        Objects.equals(this.advertisement, portalCustomizeResOpenApiVo.advertisement);
  }

  @Override
  public int hashCode() {
    return Objects.hash(defaultLanguage, background, backgroundPicture, mobileBackgroundPicture, backgroundColor, backgroundOpacity, logoPicture, logoDisplay, logoPosition, logoSize, logoPositionRatio, logoTranslate, inputBoxColor, inputBoxOpacity, inputTextColor, inputTextOpacity, buttonColor, buttonOpacity, buttonTextColor, buttonTextOpacity, buttonText, formAuthButtonText, buttonPositionRatio, buttonTranslate, welcomeEnable, welcomeInformation, welcomeTextColor, welcomeTextOpacity, welcomeTextFontSize, termsOfServiceEnable, termsOfService, termsOfServiceText, termsOfServiceFontSize, termsOfServiceUrlTexts, copyrightEnable, copyright, copyrightTextColor, copyrightTextOpacity, copyrightTextFontSize, redirectionCountDownEnable, advertisement);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class PortalCustomizeResOpenApiVo {\n");
    
    sb.append("    defaultLanguage: ").append(toIndentedString(defaultLanguage)).append("\n");
    sb.append("    background: ").append(toIndentedString(background)).append("\n");
    sb.append("    backgroundPicture: ").append(toIndentedString(backgroundPicture)).append("\n");
    sb.append("    mobileBackgroundPicture: ").append(toIndentedString(mobileBackgroundPicture)).append("\n");
    sb.append("    backgroundColor: ").append(toIndentedString(backgroundColor)).append("\n");
    sb.append("    backgroundOpacity: ").append(toIndentedString(backgroundOpacity)).append("\n");
    sb.append("    logoPicture: ").append(toIndentedString(logoPicture)).append("\n");
    sb.append("    logoDisplay: ").append(toIndentedString(logoDisplay)).append("\n");
    sb.append("    logoPosition: ").append(toIndentedString(logoPosition)).append("\n");
    sb.append("    logoSize: ").append(toIndentedString(logoSize)).append("\n");
    sb.append("    logoPositionRatio: ").append(toIndentedString(logoPositionRatio)).append("\n");
    sb.append("    logoTranslate: ").append(toIndentedString(logoTranslate)).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("    buttonPositionRatio: ").append(toIndentedString(buttonPositionRatio)).append("\n");
    sb.append("    buttonTranslate: ").append(toIndentedString(buttonTranslate)).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("    termsOfService: ").append(toIndentedString(termsOfService)).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    ");
  }
}

