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

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

import java.util.Objects;

/**
 * GetDashboardOverview
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:38:12.484+08:00[Asia/Shanghai]")

public class GetDashboardOverview   {
  @JsonProperty("totalGatewayNum")
  private Integer totalGatewayNum;

  @JsonProperty("connectedGatewayNum")
  private Integer connectedGatewayNum;

  @JsonProperty("disconnectedGatewayNum")
  private Integer disconnectedGatewayNum;

  @JsonProperty("netCapacity")
  private Integer netCapacity;

  @JsonProperty("netUsage")
  private Double netUsage;

  @JsonProperty("totalSwitchNum")
  private Integer totalSwitchNum;

  @JsonProperty("connectedSwitchNum")
  private Integer connectedSwitchNum;

  @JsonProperty("disconnectedSwitchNum")
  private Integer disconnectedSwitchNum;

  @JsonProperty("totalPorts")
  private Integer totalPorts;

  @JsonProperty("availablePorts")
  private Integer availablePorts;

  @JsonProperty("powerConsumption")
  private Double powerConsumption;

  @JsonProperty("totalApNum")
  private Integer totalApNum;

  @JsonProperty("connectedApNum")
  private Integer connectedApNum;

  @JsonProperty("isolatedApNum")
  private Integer isolatedApNum;

  @JsonProperty("disconnectedApNum")
  private Integer disconnectedApNum;

  @JsonProperty("totalClientNum")
  private Integer totalClientNum;

  @JsonProperty("wiredClientNum")
  private Integer wiredClientNum;

  @JsonProperty("wirelessClientNum")
  private Integer wirelessClientNum;

  @JsonProperty("guestNum")
  private Integer guestNum;

  public GetDashboardOverview totalGatewayNum(Integer totalGatewayNum) {
    this.totalGatewayNum = totalGatewayNum;
    return this;
  }

  /**
   * The total number of gateways
   * @return totalGatewayNum
  */
  @ApiModelProperty(value = "The total number of gateways")


  public Integer getTotalGatewayNum() {
    return totalGatewayNum;
  }

  public void setTotalGatewayNum(Integer totalGatewayNum) {
    this.totalGatewayNum = totalGatewayNum;
  }

  public GetDashboardOverview connectedGatewayNum(Integer connectedGatewayNum) {
    this.connectedGatewayNum = connectedGatewayNum;
    return this;
  }

  /**
   * The number of connected gateways
   * @return connectedGatewayNum
  */
  @ApiModelProperty(value = "The number of connected gateways")


  public Integer getConnectedGatewayNum() {
    return connectedGatewayNum;
  }

  public void setConnectedGatewayNum(Integer connectedGatewayNum) {
    this.connectedGatewayNum = connectedGatewayNum;
  }

  public GetDashboardOverview disconnectedGatewayNum(Integer disconnectedGatewayNum) {
    this.disconnectedGatewayNum = disconnectedGatewayNum;
    return this;
  }

  /**
   * The number of disconnected gateways
   * @return disconnectedGatewayNum
  */
  @ApiModelProperty(value = "The number of disconnected gateways")


  public Integer getDisconnectedGatewayNum() {
    return disconnectedGatewayNum;
  }

  public void setDisconnectedGatewayNum(Integer disconnectedGatewayNum) {
    this.disconnectedGatewayNum = disconnectedGatewayNum;
  }

  public GetDashboardOverview netCapacity(Integer netCapacity) {
    this.netCapacity = netCapacity;
    return this;
  }

  /**
   * Network Capacity measured in Mbps. Null means no value.
   * @return netCapacity
  */
  @ApiModelProperty(value = "Network Capacity measured in Mbps. Null means no value.")


  public Integer getNetCapacity() {
    return netCapacity;
  }

  public void setNetCapacity(Integer netCapacity) {
    this.netCapacity = netCapacity;
  }

  public GetDashboardOverview netUsage(Double netUsage) {
    this.netUsage = netUsage;
    return this;
  }

  /**
   * The current link usage rate under the Gateway node (percent conversion has been performed, such as 98.1)
   * @return netUsage
  */
  @ApiModelProperty(value = "The current link usage rate under the Gateway node (percent conversion has been performed, such as 98.1)")


  public Double getNetUsage() {
    return netUsage;
  }

  public void setNetUsage(Double netUsage) {
    this.netUsage = netUsage;
  }

  public GetDashboardOverview totalSwitchNum(Integer totalSwitchNum) {
    this.totalSwitchNum = totalSwitchNum;
    return this;
  }

  /**
   * Total number of switches
   * @return totalSwitchNum
  */
  @ApiModelProperty(value = "Total number of switches")


  public Integer getTotalSwitchNum() {
    return totalSwitchNum;
  }

  public void setTotalSwitchNum(Integer totalSwitchNum) {
    this.totalSwitchNum = totalSwitchNum;
  }

  public GetDashboardOverview connectedSwitchNum(Integer connectedSwitchNum) {
    this.connectedSwitchNum = connectedSwitchNum;
    return this;
  }

  /**
   * Number of switches in connected state 
   * @return connectedSwitchNum
  */
  @ApiModelProperty(value = "Number of switches in connected state ")


  public Integer getConnectedSwitchNum() {
    return connectedSwitchNum;
  }

  public void setConnectedSwitchNum(Integer connectedSwitchNum) {
    this.connectedSwitchNum = connectedSwitchNum;
  }

  public GetDashboardOverview disconnectedSwitchNum(Integer disconnectedSwitchNum) {
    this.disconnectedSwitchNum = disconnectedSwitchNum;
    return this;
  }

  /**
   * Number of switches in disconnected state
   * @return disconnectedSwitchNum
  */
  @ApiModelProperty(value = "Number of switches in disconnected state")


  public Integer getDisconnectedSwitchNum() {
    return disconnectedSwitchNum;
  }

  public void setDisconnectedSwitchNum(Integer disconnectedSwitchNum) {
    this.disconnectedSwitchNum = disconnectedSwitchNum;
  }

  public GetDashboardOverview totalPorts(Integer totalPorts) {
    this.totalPorts = totalPorts;
    return this;
  }

  /**
   * Total number of ports
   * @return totalPorts
  */
  @ApiModelProperty(value = "Total number of ports")


  public Integer getTotalPorts() {
    return totalPorts;
  }

  public void setTotalPorts(Integer totalPorts) {
    this.totalPorts = totalPorts;
  }

  public GetDashboardOverview availablePorts(Integer availablePorts) {
    this.availablePorts = availablePorts;
    return this;
  }

  /**
   * Number of valid ports
   * @return availablePorts
  */
  @ApiModelProperty(value = "Number of valid ports")


  public Integer getAvailablePorts() {
    return availablePorts;
  }

  public void setAvailablePorts(Integer availablePorts) {
    this.availablePorts = availablePorts;
  }

  public GetDashboardOverview powerConsumption(Double powerConsumption) {
    this.powerConsumption = powerConsumption;
    return this;
  }

  /**
   * Power consumption (unit: W)
   * @return powerConsumption
  */
  @ApiModelProperty(value = "Power consumption (unit: W)")


  public Double getPowerConsumption() {
    return powerConsumption;
  }

  public void setPowerConsumption(Double powerConsumption) {
    this.powerConsumption = powerConsumption;
  }

  public GetDashboardOverview totalApNum(Integer totalApNum) {
    this.totalApNum = totalApNum;
    return this;
  }

  /**
   * Total number of APs
   * @return totalApNum
  */
  @ApiModelProperty(value = "Total number of APs")


  public Integer getTotalApNum() {
    return totalApNum;
  }

  public void setTotalApNum(Integer totalApNum) {
    this.totalApNum = totalApNum;
  }

  public GetDashboardOverview connectedApNum(Integer connectedApNum) {
    this.connectedApNum = connectedApNum;
    return this;
  }

  /**
   * Number of APs in connected state
   * @return connectedApNum
  */
  @ApiModelProperty(value = "Number of APs in connected state")


  public Integer getConnectedApNum() {
    return connectedApNum;
  }

  public void setConnectedApNum(Integer connectedApNum) {
    this.connectedApNum = connectedApNum;
  }

  public GetDashboardOverview isolatedApNum(Integer isolatedApNum) {
    this.isolatedApNum = isolatedApNum;
    return this;
  }

  /**
   * Number of APs in isolated state
   * @return isolatedApNum
  */
  @ApiModelProperty(value = "Number of APs in isolated state")


  public Integer getIsolatedApNum() {
    return isolatedApNum;
  }

  public void setIsolatedApNum(Integer isolatedApNum) {
    this.isolatedApNum = isolatedApNum;
  }

  public GetDashboardOverview disconnectedApNum(Integer disconnectedApNum) {
    this.disconnectedApNum = disconnectedApNum;
    return this;
  }

  /**
   * Number of APs in disconnected state
   * @return disconnectedApNum
  */
  @ApiModelProperty(value = "Number of APs in disconnected state")


  public Integer getDisconnectedApNum() {
    return disconnectedApNum;
  }

  public void setDisconnectedApNum(Integer disconnectedApNum) {
    this.disconnectedApNum = disconnectedApNum;
  }

  public GetDashboardOverview totalClientNum(Integer totalClientNum) {
    this.totalClientNum = totalClientNum;
    return this;
  }

  /**
   * Total number of clients
   * @return totalClientNum
  */
  @ApiModelProperty(value = "Total number of clients")


  public Integer getTotalClientNum() {
    return totalClientNum;
  }

  public void setTotalClientNum(Integer totalClientNum) {
    this.totalClientNum = totalClientNum;
  }

  public GetDashboardOverview wiredClientNum(Integer wiredClientNum) {
    this.wiredClientNum = wiredClientNum;
    return this;
  }

  /**
   * Number of wired clients
   * @return wiredClientNum
  */
  @ApiModelProperty(value = "Number of wired clients")


  public Integer getWiredClientNum() {
    return wiredClientNum;
  }

  public void setWiredClientNum(Integer wiredClientNum) {
    this.wiredClientNum = wiredClientNum;
  }

  public GetDashboardOverview wirelessClientNum(Integer wirelessClientNum) {
    this.wirelessClientNum = wirelessClientNum;
    return this;
  }

  /**
   * Number of wireless clients
   * @return wirelessClientNum
  */
  @ApiModelProperty(value = "Number of wireless clients")


  public Integer getWirelessClientNum() {
    return wirelessClientNum;
  }

  public void setWirelessClientNum(Integer wirelessClientNum) {
    this.wirelessClientNum = wirelessClientNum;
  }

  public GetDashboardOverview guestNum(Integer guestNum) {
    this.guestNum = guestNum;
    return this;
  }

  /**
   * Number of wireless guest clients
   * @return guestNum
  */
  @ApiModelProperty(value = "Number of wireless guest clients")


  public Integer getGuestNum() {
    return guestNum;
  }

  public void setGuestNum(Integer guestNum) {
    this.guestNum = guestNum;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    GetDashboardOverview getDashboardOverview = (GetDashboardOverview) o;
    return Objects.equals(this.totalGatewayNum, getDashboardOverview.totalGatewayNum) &&
        Objects.equals(this.connectedGatewayNum, getDashboardOverview.connectedGatewayNum) &&
        Objects.equals(this.disconnectedGatewayNum, getDashboardOverview.disconnectedGatewayNum) &&
        Objects.equals(this.netCapacity, getDashboardOverview.netCapacity) &&
        Objects.equals(this.netUsage, getDashboardOverview.netUsage) &&
        Objects.equals(this.totalSwitchNum, getDashboardOverview.totalSwitchNum) &&
        Objects.equals(this.connectedSwitchNum, getDashboardOverview.connectedSwitchNum) &&
        Objects.equals(this.disconnectedSwitchNum, getDashboardOverview.disconnectedSwitchNum) &&
        Objects.equals(this.totalPorts, getDashboardOverview.totalPorts) &&
        Objects.equals(this.availablePorts, getDashboardOverview.availablePorts) &&
        Objects.equals(this.powerConsumption, getDashboardOverview.powerConsumption) &&
        Objects.equals(this.totalApNum, getDashboardOverview.totalApNum) &&
        Objects.equals(this.connectedApNum, getDashboardOverview.connectedApNum) &&
        Objects.equals(this.isolatedApNum, getDashboardOverview.isolatedApNum) &&
        Objects.equals(this.disconnectedApNum, getDashboardOverview.disconnectedApNum) &&
        Objects.equals(this.totalClientNum, getDashboardOverview.totalClientNum) &&
        Objects.equals(this.wiredClientNum, getDashboardOverview.wiredClientNum) &&
        Objects.equals(this.wirelessClientNum, getDashboardOverview.wirelessClientNum) &&
        Objects.equals(this.guestNum, getDashboardOverview.guestNum);
  }

  @Override
  public int hashCode() {
    return Objects.hash(totalGatewayNum, connectedGatewayNum, disconnectedGatewayNum, netCapacity, netUsage, totalSwitchNum, connectedSwitchNum, disconnectedSwitchNum, totalPorts, availablePorts, powerConsumption, totalApNum, connectedApNum, isolatedApNum, disconnectedApNum, totalClientNum, wiredClientNum, wirelessClientNum, guestNum);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class GetDashboardOverview {\n");
    
    sb.append("    totalGatewayNum: ").append(toIndentedString(totalGatewayNum)).append("\n");
    sb.append("    connectedGatewayNum: ").append(toIndentedString(connectedGatewayNum)).append("\n");
    sb.append("    disconnectedGatewayNum: ").append(toIndentedString(disconnectedGatewayNum)).append("\n");
    sb.append("    netCapacity: ").append(toIndentedString(netCapacity)).append("\n");
    sb.append("    netUsage: ").append(toIndentedString(netUsage)).append("\n");
    sb.append("    totalSwitchNum: ").append(toIndentedString(totalSwitchNum)).append("\n");
    sb.append("    connectedSwitchNum: ").append(toIndentedString(connectedSwitchNum)).append("\n");
    sb.append("    disconnectedSwitchNum: ").append(toIndentedString(disconnectedSwitchNum)).append("\n");
    sb.append("    totalPorts: ").append(toIndentedString(totalPorts)).append("\n");
    sb.append("    availablePorts: ").append(toIndentedString(availablePorts)).append("\n");
    sb.append("    powerConsumption: ").append(toIndentedString(powerConsumption)).append("\n");
    sb.append("    totalApNum: ").append(toIndentedString(totalApNum)).append("\n");
    sb.append("    connectedApNum: ").append(toIndentedString(connectedApNum)).append("\n");
    sb.append("    isolatedApNum: ").append(toIndentedString(isolatedApNum)).append("\n");
    sb.append("    disconnectedApNum: ").append(toIndentedString(disconnectedApNum)).append("\n");
    sb.append("    totalClientNum: ").append(toIndentedString(totalClientNum)).append("\n");
    sb.append("    wiredClientNum: ").append(toIndentedString(wiredClientNum)).append("\n");
    sb.append("    wirelessClientNum: ").append(toIndentedString(wirelessClientNum)).append("\n");
    sb.append("    guestNum: ").append(toIndentedString(guestNum)).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    ");
  }
}

