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.constraints.NotNull;
import java.util.Objects;

/**
 * dial-up setting
 */
@ApiModel(description = "dial-up setting")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:32:19.054+08:00[Asia/Shanghai]")

public class DialupSettingOpenApiVo   {
  @JsonProperty("networkSearch")
  private Integer networkSearch;

  @JsonProperty("isp")
  private String isp;

  @JsonProperty("ispNum")
  private Integer ispNum;

  @JsonProperty("apnMode")
  private Integer apnMode;

  @JsonProperty("apn")
  private String apn;

  public DialupSettingOpenApiVo networkSearch(Integer networkSearch) {
    this.networkSearch = networkSearch;
    return this;
  }

  /**
   * Network search mode should be a value as follows: 0: auto; 1: manual.
   * @return networkSearch
  */
  @ApiModelProperty(required = true, value = "Network search mode should be a value as follows: 0: auto; 1: manual.")
  @NotNull


  public Integer getNetworkSearch() {
    return networkSearch;
  }

  public void setNetworkSearch(Integer networkSearch) {
    this.networkSearch = networkSearch;
  }

  public DialupSettingOpenApiVo isp(String isp) {
    this.isp = isp;
    return this;
  }

  /**
   * Only for networkSearch mode manual.
   * @return isp
  */
  @ApiModelProperty(value = "Only for networkSearch mode manual.")


  public String getIsp() {
    return isp;
  }

  public void setIsp(String isp) {
    this.isp = isp;
  }

  public DialupSettingOpenApiVo ispNum(Integer ispNum) {
    this.ispNum = ispNum;
    return this;
  }

  /**
   * Only for networkSearch mode manual.
   * @return ispNum
  */
  @ApiModelProperty(value = "Only for networkSearch mode manual.")


  public Integer getIspNum() {
    return ispNum;
  }

  public void setIspNum(Integer ispNum) {
    this.ispNum = ispNum;
  }

  public DialupSettingOpenApiVo apnMode(Integer apnMode) {
    this.apnMode = apnMode;
    return this;
  }

  /**
   * Apn mode should be a value as follows: 0: auto; 1: manual.
   * @return apnMode
  */
  @ApiModelProperty(required = true, value = "Apn mode should be a value as follows: 0: auto; 1: manual.")
  @NotNull


  public Integer getApnMode() {
    return apnMode;
  }

  public void setApnMode(Integer apnMode) {
    this.apnMode = apnMode;
  }

  public DialupSettingOpenApiVo apn(String apn) {
    this.apn = apn;
    return this;
  }

  /**
   * APN profile ID, only for apnMode manual
   * @return apn
  */
  @ApiModelProperty(value = "APN profile ID, only for apnMode manual")


  public String getApn() {
    return apn;
  }

  public void setApn(String apn) {
    this.apn = apn;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    DialupSettingOpenApiVo dialupSettingOpenApiVo = (DialupSettingOpenApiVo) o;
    return Objects.equals(this.networkSearch, dialupSettingOpenApiVo.networkSearch) &&
        Objects.equals(this.isp, dialupSettingOpenApiVo.isp) &&
        Objects.equals(this.ispNum, dialupSettingOpenApiVo.ispNum) &&
        Objects.equals(this.apnMode, dialupSettingOpenApiVo.apnMode) &&
        Objects.equals(this.apn, dialupSettingOpenApiVo.apn);
  }

  @Override
  public int hashCode() {
    return Objects.hash(networkSearch, isp, ispNum, apnMode, apn);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class DialupSettingOpenApiVo {\n");
    
    sb.append("    networkSearch: ").append(toIndentedString(networkSearch)).append("\n");
    sb.append("    isp: ").append(toIndentedString(isp)).append("\n");
    sb.append("    ispNum: ").append(toIndentedString(ispNum)).append("\n");
    sb.append("    apnMode: ").append(toIndentedString(apnMode)).append("\n");
    sb.append("    apn: ").append(toIndentedString(apn)).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    ");
  }
}

