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

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

import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

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

public class CheckFirmwareRes   {
  @JsonProperty("finished")
  private Boolean finished;

  @JsonProperty("apMacList")
  @Valid
  private List<String> apMacList = null;

  @JsonProperty("switchMacList")
  @Valid
  private List<String> switchMacList = null;

  @JsonProperty("gatewayMacList")
  @Valid
  private List<String> gatewayMacList = null;

  public CheckFirmwareRes finished(Boolean finished) {
    this.finished = finished;
    return this;
  }

  /**
   * Whether the task is complete
   * @return finished
  */
  @ApiModelProperty(value = "Whether the task is complete")


  public Boolean getFinished() {
    return finished;
  }

  public void setFinished(Boolean finished) {
    this.finished = finished;
  }

  public CheckFirmwareRes apMacList(List<String> apMacList) {
    this.apMacList = apMacList;
    return this;
  }

  public CheckFirmwareRes addApMacListItem(String apMacListItem) {
    if (this.apMacList == null) {
      this.apMacList = new ArrayList<>();
    }
    this.apMacList.add(apMacListItem);
    return this;
  }

  /**
   * List of the ap MAC address with firmware updates. E.g. AA-BB-CC-DD-11-22
   * @return apMacList
  */
  @ApiModelProperty(value = "List of the ap MAC address with firmware updates. E.g. AA-BB-CC-DD-11-22")


  public List<String> getApMacList() {
    return apMacList;
  }

  public void setApMacList(List<String> apMacList) {
    this.apMacList = apMacList;
  }

  public CheckFirmwareRes switchMacList(List<String> switchMacList) {
    this.switchMacList = switchMacList;
    return this;
  }

  public CheckFirmwareRes addSwitchMacListItem(String switchMacListItem) {
    if (this.switchMacList == null) {
      this.switchMacList = new ArrayList<>();
    }
    this.switchMacList.add(switchMacListItem);
    return this;
  }

  /**
   * List of switch MAC address with firmware updates. E.g. AA-BB-CC-DD-11-22
   * @return switchMacList
  */
  @ApiModelProperty(value = "List of switch MAC address with firmware updates. E.g. AA-BB-CC-DD-11-22")


  public List<String> getSwitchMacList() {
    return switchMacList;
  }

  public void setSwitchMacList(List<String> switchMacList) {
    this.switchMacList = switchMacList;
  }

  public CheckFirmwareRes gatewayMacList(List<String> gatewayMacList) {
    this.gatewayMacList = gatewayMacList;
    return this;
  }

  public CheckFirmwareRes addGatewayMacListItem(String gatewayMacListItem) {
    if (this.gatewayMacList == null) {
      this.gatewayMacList = new ArrayList<>();
    }
    this.gatewayMacList.add(gatewayMacListItem);
    return this;
  }

  /**
   * List of gateway MAC address with firmware updates. E.g. AA-BB-CC-DD-11-22
   * @return gatewayMacList
  */
  @ApiModelProperty(value = "List of gateway MAC address with firmware updates. E.g. AA-BB-CC-DD-11-22")


  public List<String> getGatewayMacList() {
    return gatewayMacList;
  }

  public void setGatewayMacList(List<String> gatewayMacList) {
    this.gatewayMacList = gatewayMacList;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    CheckFirmwareRes checkFirmwareRes = (CheckFirmwareRes) o;
    return Objects.equals(this.finished, checkFirmwareRes.finished) &&
        Objects.equals(this.apMacList, checkFirmwareRes.apMacList) &&
        Objects.equals(this.switchMacList, checkFirmwareRes.switchMacList) &&
        Objects.equals(this.gatewayMacList, checkFirmwareRes.gatewayMacList);
  }

  @Override
  public int hashCode() {
    return Objects.hash(finished, apMacList, switchMacList, gatewayMacList);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class CheckFirmwareRes {\n");
    
    sb.append("    finished: ").append(toIndentedString(finished)).append("\n");
    sb.append("    apMacList: ").append(toIndentedString(apMacList)).append("\n");
    sb.append("    switchMacList: ").append(toIndentedString(switchMacList)).append("\n");
    sb.append("    gatewayMacList: ").append(toIndentedString(gatewayMacList)).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    ");
  }
}

