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

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

import java.util.Objects;

/**
 * Wired downlink device list
 */
@ApiModel(description = "Wired downlink device list")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:26:25.576+08:00[Asia/Shanghai]")

public class ApDownLinkStatusVo   {
  @JsonProperty("port")
  private String port;

  @JsonProperty("portType")
  private Integer portType;

  @JsonProperty("duplex")
  private Integer duplex;

  @JsonProperty("link")
  private Integer link;

  @JsonProperty("speed")
  private Integer speed;

  @JsonProperty("poeState")
  private Integer poeState;

  @JsonProperty("voipState")
  private Integer voipState;

  @JsonProperty("mac")
  private String mac;

  @JsonProperty("ip")
  private String ip;

  @JsonProperty("type")
  private String type;

  @JsonProperty("deviceName")
  private String deviceName;

  @JsonProperty("model")
  private String model;

  @JsonProperty("modelVersion")
  private String modelVersion;

  @JsonProperty("txPower")
  private Double txPower;

  @JsonProperty("rxPower")
  private Double rxPower;

  @JsonProperty("temp")
  private Double temp;

  @JsonProperty("voltage")
  private Double voltage;

  @JsonProperty("current")
  private Double current;

  @JsonProperty("rxPkts")
  private Long rxPkts;

  @JsonProperty("txPkts")
  private Long txPkts;

  @JsonProperty("rx")
  private Long rx;

  @JsonProperty("tx")
  private Long tx;

  @JsonProperty("rxDropPkts")
  private Long rxDropPkts;

  @JsonProperty("txDropPkts")
  private Long txDropPkts;

  @JsonProperty("rxErrPkts")
  private Long rxErrPkts;

  @JsonProperty("txErrPkts")
  private Long txErrPkts;

  public ApDownLinkStatusVo port(String port) {
    this.port = port;
    return this;
  }

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


  public String getPort() {
    return port;
  }

  public void setPort(String port) {
    this.port = port;
  }

  public ApDownLinkStatusVo portType(Integer portType) {
    this.portType = portType;
    return this;
  }

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


  public Integer getPortType() {
    return portType;
  }

  public void setPortType(Integer portType) {
    this.portType = portType;
  }

  public ApDownLinkStatusVo duplex(Integer duplex) {
    this.duplex = duplex;
    return this;
  }

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


  public Integer getDuplex() {
    return duplex;
  }

  public void setDuplex(Integer duplex) {
    this.duplex = duplex;
  }

  public ApDownLinkStatusVo link(Integer link) {
    this.link = link;
    return this;
  }

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


  public Integer getLink() {
    return link;
  }

  public void setLink(Integer link) {
    this.link = link;
  }

  public ApDownLinkStatusVo speed(Integer speed) {
    this.speed = speed;
    return this;
  }

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


  public Integer getSpeed() {
    return speed;
  }

  public void setSpeed(Integer speed) {
    this.speed = speed;
  }

  public ApDownLinkStatusVo poeState(Integer poeState) {
    this.poeState = poeState;
    return this;
  }

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


  public Integer getPoeState() {
    return poeState;
  }

  public void setPoeState(Integer poeState) {
    this.poeState = poeState;
  }

  public ApDownLinkStatusVo voipState(Integer voipState) {
    this.voipState = voipState;
    return this;
  }

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


  public Integer getVoipState() {
    return voipState;
  }

  public void setVoipState(Integer voipState) {
    this.voipState = voipState;
  }

  public ApDownLinkStatusVo mac(String mac) {
    this.mac = mac;
    return this;
  }

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


  public String getMac() {
    return mac;
  }

  public void setMac(String mac) {
    this.mac = mac;
  }

  public ApDownLinkStatusVo ip(String ip) {
    this.ip = ip;
    return this;
  }

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


  public String getIp() {
    return ip;
  }

  public void setIp(String ip) {
    this.ip = ip;
  }

  public ApDownLinkStatusVo type(String type) {
    this.type = type;
    return this;
  }

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


  public String getType() {
    return type;
  }

  public void setType(String type) {
    this.type = type;
  }

  public ApDownLinkStatusVo deviceName(String deviceName) {
    this.deviceName = deviceName;
    return this;
  }

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


  public String getDeviceName() {
    return deviceName;
  }

  public void setDeviceName(String deviceName) {
    this.deviceName = deviceName;
  }

  public ApDownLinkStatusVo model(String model) {
    this.model = model;
    return this;
  }

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


  public String getModel() {
    return model;
  }

  public void setModel(String model) {
    this.model = model;
  }

  public ApDownLinkStatusVo modelVersion(String modelVersion) {
    this.modelVersion = modelVersion;
    return this;
  }

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


  public String getModelVersion() {
    return modelVersion;
  }

  public void setModelVersion(String modelVersion) {
    this.modelVersion = modelVersion;
  }

  public ApDownLinkStatusVo txPower(Double txPower) {
    this.txPower = txPower;
    return this;
  }

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


  public Double getTxPower() {
    return txPower;
  }

  public void setTxPower(Double txPower) {
    this.txPower = txPower;
  }

  public ApDownLinkStatusVo rxPower(Double rxPower) {
    this.rxPower = rxPower;
    return this;
  }

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


  public Double getRxPower() {
    return rxPower;
  }

  public void setRxPower(Double rxPower) {
    this.rxPower = rxPower;
  }

  public ApDownLinkStatusVo temp(Double temp) {
    this.temp = temp;
    return this;
  }

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


  public Double getTemp() {
    return temp;
  }

  public void setTemp(Double temp) {
    this.temp = temp;
  }

  public ApDownLinkStatusVo voltage(Double voltage) {
    this.voltage = voltage;
    return this;
  }

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


  public Double getVoltage() {
    return voltage;
  }

  public void setVoltage(Double voltage) {
    this.voltage = voltage;
  }

  public ApDownLinkStatusVo current(Double current) {
    this.current = current;
    return this;
  }

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


  public Double getCurrent() {
    return current;
  }

  public void setCurrent(Double current) {
    this.current = current;
  }

  public ApDownLinkStatusVo rxPkts(Long rxPkts) {
    this.rxPkts = rxPkts;
    return this;
  }

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


  public Long getRxPkts() {
    return rxPkts;
  }

  public void setRxPkts(Long rxPkts) {
    this.rxPkts = rxPkts;
  }

  public ApDownLinkStatusVo txPkts(Long txPkts) {
    this.txPkts = txPkts;
    return this;
  }

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


  public Long getTxPkts() {
    return txPkts;
  }

  public void setTxPkts(Long txPkts) {
    this.txPkts = txPkts;
  }

  public ApDownLinkStatusVo rx(Long rx) {
    this.rx = rx;
    return this;
  }

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


  public Long getRx() {
    return rx;
  }

  public void setRx(Long rx) {
    this.rx = rx;
  }

  public ApDownLinkStatusVo tx(Long tx) {
    this.tx = tx;
    return this;
  }

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


  public Long getTx() {
    return tx;
  }

  public void setTx(Long tx) {
    this.tx = tx;
  }

  public ApDownLinkStatusVo rxDropPkts(Long rxDropPkts) {
    this.rxDropPkts = rxDropPkts;
    return this;
  }

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


  public Long getRxDropPkts() {
    return rxDropPkts;
  }

  public void setRxDropPkts(Long rxDropPkts) {
    this.rxDropPkts = rxDropPkts;
  }

  public ApDownLinkStatusVo txDropPkts(Long txDropPkts) {
    this.txDropPkts = txDropPkts;
    return this;
  }

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


  public Long getTxDropPkts() {
    return txDropPkts;
  }

  public void setTxDropPkts(Long txDropPkts) {
    this.txDropPkts = txDropPkts;
  }

  public ApDownLinkStatusVo rxErrPkts(Long rxErrPkts) {
    this.rxErrPkts = rxErrPkts;
    return this;
  }

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


  public Long getRxErrPkts() {
    return rxErrPkts;
  }

  public void setRxErrPkts(Long rxErrPkts) {
    this.rxErrPkts = rxErrPkts;
  }

  public ApDownLinkStatusVo txErrPkts(Long txErrPkts) {
    this.txErrPkts = txErrPkts;
    return this;
  }

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


  public Long getTxErrPkts() {
    return txErrPkts;
  }

  public void setTxErrPkts(Long txErrPkts) {
    this.txErrPkts = txErrPkts;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApDownLinkStatusVo apDownLinkStatusVo = (ApDownLinkStatusVo) o;
    return Objects.equals(this.port, apDownLinkStatusVo.port) &&
        Objects.equals(this.portType, apDownLinkStatusVo.portType) &&
        Objects.equals(this.duplex, apDownLinkStatusVo.duplex) &&
        Objects.equals(this.link, apDownLinkStatusVo.link) &&
        Objects.equals(this.speed, apDownLinkStatusVo.speed) &&
        Objects.equals(this.poeState, apDownLinkStatusVo.poeState) &&
        Objects.equals(this.voipState, apDownLinkStatusVo.voipState) &&
        Objects.equals(this.mac, apDownLinkStatusVo.mac) &&
        Objects.equals(this.ip, apDownLinkStatusVo.ip) &&
        Objects.equals(this.type, apDownLinkStatusVo.type) &&
        Objects.equals(this.deviceName, apDownLinkStatusVo.deviceName) &&
        Objects.equals(this.model, apDownLinkStatusVo.model) &&
        Objects.equals(this.modelVersion, apDownLinkStatusVo.modelVersion) &&
        Objects.equals(this.txPower, apDownLinkStatusVo.txPower) &&
        Objects.equals(this.rxPower, apDownLinkStatusVo.rxPower) &&
        Objects.equals(this.temp, apDownLinkStatusVo.temp) &&
        Objects.equals(this.voltage, apDownLinkStatusVo.voltage) &&
        Objects.equals(this.current, apDownLinkStatusVo.current) &&
        Objects.equals(this.rxPkts, apDownLinkStatusVo.rxPkts) &&
        Objects.equals(this.txPkts, apDownLinkStatusVo.txPkts) &&
        Objects.equals(this.rx, apDownLinkStatusVo.rx) &&
        Objects.equals(this.tx, apDownLinkStatusVo.tx) &&
        Objects.equals(this.rxDropPkts, apDownLinkStatusVo.rxDropPkts) &&
        Objects.equals(this.txDropPkts, apDownLinkStatusVo.txDropPkts) &&
        Objects.equals(this.rxErrPkts, apDownLinkStatusVo.rxErrPkts) &&
        Objects.equals(this.txErrPkts, apDownLinkStatusVo.txErrPkts);
  }

  @Override
  public int hashCode() {
    return Objects.hash(port, portType, duplex, link, speed, poeState, voipState, mac, ip, type, deviceName, model, modelVersion, txPower, rxPower, temp, voltage, current, rxPkts, txPkts, rx, tx, rxDropPkts, txDropPkts, rxErrPkts, txErrPkts);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApDownLinkStatusVo {\n");
    
    sb.append("    port: ").append(toIndentedString(port)).append("\n");
    sb.append("    portType: ").append(toIndentedString(portType)).append("\n");
    sb.append("    duplex: ").append(toIndentedString(duplex)).append("\n");
    sb.append("    link: ").append(toIndentedString(link)).append("\n");
    sb.append("    speed: ").append(toIndentedString(speed)).append("\n");
    sb.append("    poeState: ").append(toIndentedString(poeState)).append("\n");
    sb.append("    voipState: ").append(toIndentedString(voipState)).append("\n");
    sb.append("    mac: ").append(toIndentedString(mac)).append("\n");
    sb.append("    ip: ").append(toIndentedString(ip)).append("\n");
    sb.append("    type: ").append(toIndentedString(type)).append("\n");
    sb.append("    deviceName: ").append(toIndentedString(deviceName)).append("\n");
    sb.append("    model: ").append(toIndentedString(model)).append("\n");
    sb.append("    modelVersion: ").append(toIndentedString(modelVersion)).append("\n");
    sb.append("    txPower: ").append(toIndentedString(txPower)).append("\n");
    sb.append("    rxPower: ").append(toIndentedString(rxPower)).append("\n");
    sb.append("    temp: ").append(toIndentedString(temp)).append("\n");
    sb.append("    voltage: ").append(toIndentedString(voltage)).append("\n");
    sb.append("    current: ").append(toIndentedString(current)).append("\n");
    sb.append("    rxPkts: ").append(toIndentedString(rxPkts)).append("\n");
    sb.append("    txPkts: ").append(toIndentedString(txPkts)).append("\n");
    sb.append("    rx: ").append(toIndentedString(rx)).append("\n");
    sb.append("    tx: ").append(toIndentedString(tx)).append("\n");
    sb.append("    rxDropPkts: ").append(toIndentedString(rxDropPkts)).append("\n");
    sb.append("    txDropPkts: ").append(toIndentedString(txDropPkts)).append("\n");
    sb.append("    rxErrPkts: ").append(toIndentedString(rxErrPkts)).append("\n");
    sb.append("    txErrPkts: ").append(toIndentedString(txErrPkts)).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    ");
  }
}

