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;

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

public class IptvCustomOpenApiVo   {
  @JsonProperty("ipPhoneVlanId")
  private Integer ipPhoneVlanId;

  @JsonProperty("ipPhoneVlanPriority")
  private Integer ipPhoneVlanPriority;

  @JsonProperty("iptvVlanId")
  private Integer iptvVlanId;

  @JsonProperty("iptvVlanPriority")
  private Integer iptvVlanPriority;

  public IptvCustomOpenApiVo ipPhoneVlanId(Integer ipPhoneVlanId) {
    this.ipPhoneVlanId = ipPhoneVlanId;
    return this;
  }

  /**
   * IP Phone VLAN ID should be within the range of 1–4094.
   * @return ipPhoneVlanId
  */
  @ApiModelProperty(required = true, value = "IP Phone VLAN ID should be within the range of 1–4094.")
  @NotNull


  public Integer getIpPhoneVlanId() {
    return ipPhoneVlanId;
  }

  public void setIpPhoneVlanId(Integer ipPhoneVlanId) {
    this.ipPhoneVlanId = ipPhoneVlanId;
  }

  public IptvCustomOpenApiVo ipPhoneVlanPriority(Integer ipPhoneVlanPriority) {
    this.ipPhoneVlanPriority = ipPhoneVlanPriority;
    return this;
  }

  /**
   * IP Phone VLAN priority should be within the range of 0–7.
   * @return ipPhoneVlanPriority
  */
  @ApiModelProperty(required = true, value = "IP Phone VLAN priority should be within the range of 0–7.")
  @NotNull


  public Integer getIpPhoneVlanPriority() {
    return ipPhoneVlanPriority;
  }

  public void setIpPhoneVlanPriority(Integer ipPhoneVlanPriority) {
    this.ipPhoneVlanPriority = ipPhoneVlanPriority;
  }

  public IptvCustomOpenApiVo iptvVlanId(Integer iptvVlanId) {
    this.iptvVlanId = iptvVlanId;
    return this;
  }

  /**
   * IPTV VLAN ID should be within the range of 1–4094.
   * @return iptvVlanId
  */
  @ApiModelProperty(required = true, value = "IPTV VLAN ID should be within the range of 1–4094.")
  @NotNull


  public Integer getIptvVlanId() {
    return iptvVlanId;
  }

  public void setIptvVlanId(Integer iptvVlanId) {
    this.iptvVlanId = iptvVlanId;
  }

  public IptvCustomOpenApiVo iptvVlanPriority(Integer iptvVlanPriority) {
    this.iptvVlanPriority = iptvVlanPriority;
    return this;
  }

  /**
   * IPTV VLAN priority should be within the range of 0–7.
   * @return iptvVlanPriority
  */
  @ApiModelProperty(required = true, value = "IPTV VLAN priority should be within the range of 0–7.")
  @NotNull


  public Integer getIptvVlanPriority() {
    return iptvVlanPriority;
  }

  public void setIptvVlanPriority(Integer iptvVlanPriority) {
    this.iptvVlanPriority = iptvVlanPriority;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    IptvCustomOpenApiVo iptvCustomOpenApiVo = (IptvCustomOpenApiVo) o;
    return Objects.equals(this.ipPhoneVlanId, iptvCustomOpenApiVo.ipPhoneVlanId) &&
        Objects.equals(this.ipPhoneVlanPriority, iptvCustomOpenApiVo.ipPhoneVlanPriority) &&
        Objects.equals(this.iptvVlanId, iptvCustomOpenApiVo.iptvVlanId) &&
        Objects.equals(this.iptvVlanPriority, iptvCustomOpenApiVo.iptvVlanPriority);
  }

  @Override
  public int hashCode() {
    return Objects.hash(ipPhoneVlanId, ipPhoneVlanPriority, iptvVlanId, iptvVlanPriority);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class IptvCustomOpenApiVo {\n");
    
    sb.append("    ipPhoneVlanId: ").append(toIndentedString(ipPhoneVlanId)).append("\n");
    sb.append("    ipPhoneVlanPriority: ").append(toIndentedString(ipPhoneVlanPriority)).append("\n");
    sb.append("    iptvVlanId: ").append(toIndentedString(iptvVlanId)).append("\n");
    sb.append("    iptvVlanPriority: ").append(toIndentedString(iptvVlanPriority)).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    ");
  }
}

