/*
 * ThingPark things management Devices API
 * REST interface for Devices management. 
 *
 * The version of the OpenAPI document: 7.3
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

package lora.ns.actility.api.model.appserver;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

/**
 * AppServerIotFlowConnectorMetrics
 */
@JsonPropertyOrder({ AppServerIotFlowConnectorMetrics.JSON_PROPERTY_ACTIVE_THINGS_LAST1H,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_ACTIVE_THINGS_LAST24H,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_DOWNLINKS_LAST1H,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_DOWNLINKS_LAST1H_FAILED,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_DOWNLINKS_LAST24H,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_DOWNLINKS_LAST24H_FAILED,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_UPLINKS_LAST1H,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_UPLINKS_LAST1H_FAILED,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_UPLINKS_LAST24H,
    AppServerIotFlowConnectorMetrics.JSON_PROPERTY_UPLINKS_LAST24H_FAILED })
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2024-05-29T11:38:36.048437806+02:00[Europe/Paris]", comments = "Generator version: 7.6.0")
public class AppServerIotFlowConnectorMetrics {
  public static final String JSON_PROPERTY_ACTIVE_THINGS_LAST1H = "activeThingsLast1h";
  private Long activeThingsLast1h;

  public static final String JSON_PROPERTY_ACTIVE_THINGS_LAST24H = "activeThingsLast24h";
  private Long activeThingsLast24h;

  public static final String JSON_PROPERTY_DOWNLINKS_LAST1H = "downlinksLast1h";
  private Long downlinksLast1h;

  public static final String JSON_PROPERTY_DOWNLINKS_LAST1H_FAILED = "downlinksLast1hFailed";
  private Long downlinksLast1hFailed;

  public static final String JSON_PROPERTY_DOWNLINKS_LAST24H = "downlinksLast24h";
  private Long downlinksLast24h;

  public static final String JSON_PROPERTY_DOWNLINKS_LAST24H_FAILED = "downlinksLast24hFailed";
  private Long downlinksLast24hFailed;

  public static final String JSON_PROPERTY_UPLINKS_LAST1H = "uplinksLast1h";
  private Long uplinksLast1h;

  public static final String JSON_PROPERTY_UPLINKS_LAST1H_FAILED = "uplinksLast1hFailed";
  private Long uplinksLast1hFailed;

  public static final String JSON_PROPERTY_UPLINKS_LAST24H = "uplinksLast24h";
  private Long uplinksLast24h;

  public static final String JSON_PROPERTY_UPLINKS_LAST24H_FAILED = "uplinksLast24hFailed";
  private Long uplinksLast24hFailed;

  public AppServerIotFlowConnectorMetrics() {
  }

  public AppServerIotFlowConnectorMetrics activeThingsLast1h(Long activeThingsLast1h) {

    this.activeThingsLast1h = activeThingsLast1h;
    return this;
  }

  /**
   * The number of active things in the last hour for this connection. An active
   * thing is any thing sending an uplink.
   * 
   * @return activeThingsLast1h
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_ACTIVE_THINGS_LAST1H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getActiveThingsLast1h() {
    return activeThingsLast1h;
  }

  @JsonProperty(JSON_PROPERTY_ACTIVE_THINGS_LAST1H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setActiveThingsLast1h(Long activeThingsLast1h) {
    this.activeThingsLast1h = activeThingsLast1h;
  }

  public AppServerIotFlowConnectorMetrics activeThingsLast24h(Long activeThingsLast24h) {

    this.activeThingsLast24h = activeThingsLast24h;
    return this;
  }

  /**
   * The number of active things in the last 24 hours for this connection. An
   * active thing is any thing sending an uplink
   * 
   * @return activeThingsLast24h
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_ACTIVE_THINGS_LAST24H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getActiveThingsLast24h() {
    return activeThingsLast24h;
  }

  @JsonProperty(JSON_PROPERTY_ACTIVE_THINGS_LAST24H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setActiveThingsLast24h(Long activeThingsLast24h) {
    this.activeThingsLast24h = activeThingsLast24h;
  }

  public AppServerIotFlowConnectorMetrics downlinksLast1h(Long downlinksLast1h) {

    this.downlinksLast1h = downlinksLast1h;
    return this;
  }

  /**
   * The number of received downlinks in the last hour for this connection.
   * 
   * @return downlinksLast1h
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_DOWNLINKS_LAST1H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getDownlinksLast1h() {
    return downlinksLast1h;
  }

  @JsonProperty(JSON_PROPERTY_DOWNLINKS_LAST1H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setDownlinksLast1h(Long downlinksLast1h) {
    this.downlinksLast1h = downlinksLast1h;
  }

  public AppServerIotFlowConnectorMetrics downlinksLast1hFailed(Long downlinksLast1hFailed) {

    this.downlinksLast1hFailed = downlinksLast1hFailed;
    return this;
  }

  /**
   * The number of downlinks that was not successfully sent in the last hour for
   * this connection.
   * 
   * @return downlinksLast1hFailed
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_DOWNLINKS_LAST1H_FAILED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getDownlinksLast1hFailed() {
    return downlinksLast1hFailed;
  }

  @JsonProperty(JSON_PROPERTY_DOWNLINKS_LAST1H_FAILED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setDownlinksLast1hFailed(Long downlinksLast1hFailed) {
    this.downlinksLast1hFailed = downlinksLast1hFailed;
  }

  public AppServerIotFlowConnectorMetrics downlinksLast24h(Long downlinksLast24h) {

    this.downlinksLast24h = downlinksLast24h;
    return this;
  }

  /**
   * The number of received downlinks in the last 24 hours for this connection.
   * 
   * @return downlinksLast24h
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_DOWNLINKS_LAST24H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getDownlinksLast24h() {
    return downlinksLast24h;
  }

  @JsonProperty(JSON_PROPERTY_DOWNLINKS_LAST24H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setDownlinksLast24h(Long downlinksLast24h) {
    this.downlinksLast24h = downlinksLast24h;
  }

  public AppServerIotFlowConnectorMetrics downlinksLast24hFailed(Long downlinksLast24hFailed) {

    this.downlinksLast24hFailed = downlinksLast24hFailed;
    return this;
  }

  /**
   * The number of downlinks that was not successfully sent in the last 24 hours
   * for this connection.
   * 
   * @return downlinksLast24hFailed
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_DOWNLINKS_LAST24H_FAILED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getDownlinksLast24hFailed() {
    return downlinksLast24hFailed;
  }

  @JsonProperty(JSON_PROPERTY_DOWNLINKS_LAST24H_FAILED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setDownlinksLast24hFailed(Long downlinksLast24hFailed) {
    this.downlinksLast24hFailed = downlinksLast24hFailed;
  }

  public AppServerIotFlowConnectorMetrics uplinksLast1h(Long uplinksLast1h) {

    this.uplinksLast1h = uplinksLast1h;
    return this;
  }

  /**
   * The number of received uplinks in the last hour for this connection.
   * 
   * @return uplinksLast1h
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_UPLINKS_LAST1H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getUplinksLast1h() {
    return uplinksLast1h;
  }

  @JsonProperty(JSON_PROPERTY_UPLINKS_LAST1H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setUplinksLast1h(Long uplinksLast1h) {
    this.uplinksLast1h = uplinksLast1h;
  }

  public AppServerIotFlowConnectorMetrics uplinksLast1hFailed(Long uplinksLast1hFailed) {

    this.uplinksLast1hFailed = uplinksLast1hFailed;
    return this;
  }

  /**
   * The number of uplinks that was not successfully sent in the last hour for
   * this connection.
   * 
   * @return uplinksLast1hFailed
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_UPLINKS_LAST1H_FAILED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getUplinksLast1hFailed() {
    return uplinksLast1hFailed;
  }

  @JsonProperty(JSON_PROPERTY_UPLINKS_LAST1H_FAILED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setUplinksLast1hFailed(Long uplinksLast1hFailed) {
    this.uplinksLast1hFailed = uplinksLast1hFailed;
  }

  public AppServerIotFlowConnectorMetrics uplinksLast24h(Long uplinksLast24h) {

    this.uplinksLast24h = uplinksLast24h;
    return this;
  }

  /**
   * The number of received uplinks in the last 24 hours for this connection.
   * 
   * @return uplinksLast24h
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_UPLINKS_LAST24H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getUplinksLast24h() {
    return uplinksLast24h;
  }

  @JsonProperty(JSON_PROPERTY_UPLINKS_LAST24H)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setUplinksLast24h(Long uplinksLast24h) {
    this.uplinksLast24h = uplinksLast24h;
  }

  public AppServerIotFlowConnectorMetrics uplinksLast24hFailed(Long uplinksLast24hFailed) {

    this.uplinksLast24hFailed = uplinksLast24hFailed;
    return this;
  }

  /**
   * The number of uplinks that was not successfully sent in the last 24 hours for
   * this connection.
   * 
   * @return uplinksLast24hFailed
   **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_UPLINKS_LAST24H_FAILED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Long getUplinksLast24hFailed() {
    return uplinksLast24hFailed;
  }

  @JsonProperty(JSON_PROPERTY_UPLINKS_LAST24H_FAILED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setUplinksLast24hFailed(Long uplinksLast24hFailed) {
    this.uplinksLast24hFailed = uplinksLast24hFailed;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    AppServerIotFlowConnectorMetrics appServerIotFlowConnectorMetrics = (AppServerIotFlowConnectorMetrics) o;
    return Objects.equals(this.activeThingsLast1h, appServerIotFlowConnectorMetrics.activeThingsLast1h)
            && Objects.equals(this.activeThingsLast24h, appServerIotFlowConnectorMetrics.activeThingsLast24h)
            && Objects.equals(this.downlinksLast1h, appServerIotFlowConnectorMetrics.downlinksLast1h)
            && Objects.equals(this.downlinksLast1hFailed, appServerIotFlowConnectorMetrics.downlinksLast1hFailed)
            && Objects.equals(this.downlinksLast24h, appServerIotFlowConnectorMetrics.downlinksLast24h)
            && Objects.equals(this.downlinksLast24hFailed, appServerIotFlowConnectorMetrics.downlinksLast24hFailed)
            && Objects.equals(this.uplinksLast1h, appServerIotFlowConnectorMetrics.uplinksLast1h)
            && Objects.equals(this.uplinksLast1hFailed, appServerIotFlowConnectorMetrics.uplinksLast1hFailed)
            && Objects.equals(this.uplinksLast24h, appServerIotFlowConnectorMetrics.uplinksLast24h)
            && Objects.equals(this.uplinksLast24hFailed, appServerIotFlowConnectorMetrics.uplinksLast24hFailed);
  }

  @Override
  public int hashCode() {
    return Objects.hash(activeThingsLast1h, activeThingsLast24h, downlinksLast1h, downlinksLast1hFailed,
            downlinksLast24h, downlinksLast24hFailed, uplinksLast1h, uplinksLast1hFailed, uplinksLast24h,
            uplinksLast24hFailed);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class AppServerIotFlowConnectorMetrics {\n");
    sb.append("    activeThingsLast1h: ").append(toIndentedString(activeThingsLast1h)).append("\n");
    sb.append("    activeThingsLast24h: ").append(toIndentedString(activeThingsLast24h)).append("\n");
    sb.append("    downlinksLast1h: ").append(toIndentedString(downlinksLast1h)).append("\n");
    sb.append("    downlinksLast1hFailed: ").append(toIndentedString(downlinksLast1hFailed)).append("\n");
    sb.append("    downlinksLast24h: ").append(toIndentedString(downlinksLast24h)).append("\n");
    sb.append("    downlinksLast24hFailed: ").append(toIndentedString(downlinksLast24hFailed)).append("\n");
    sb.append("    uplinksLast1h: ").append(toIndentedString(uplinksLast1h)).append("\n");
    sb.append("    uplinksLast1hFailed: ").append(toIndentedString(uplinksLast1hFailed)).append("\n");
    sb.append("    uplinksLast24h: ").append(toIndentedString(uplinksLast24h)).append("\n");
    sb.append("    uplinksLast24hFailed: ").append(toIndentedString(uplinksLast24hFailed)).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    ");
  }

}
