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

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

import java.util.Objects;

/**
 * Only for Gateway ACL
 */
@ApiModel(description = "Only for Gateway ACL")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:32:19.054+08:00[Asia/Shanghai]")

public class GatewayAclStatesEntity   {
  @JsonProperty("stateNew")
  private Boolean stateNew;

  @JsonProperty("established")
  private Boolean established;

  @JsonProperty("related")
  private Boolean related;

  @JsonProperty("invalid")
  private Boolean invalid;

  public GatewayAclStatesEntity stateNew(Boolean stateNew) {
    this.stateNew = stateNew;
    return this;
  }

  /**
   * Match state new
   * @return stateNew
  */
  @ApiModelProperty(value = "Match state new")


  public Boolean getStateNew() {
    return stateNew;
  }

  public void setStateNew(Boolean stateNew) {
    this.stateNew = stateNew;
  }

  public GatewayAclStatesEntity established(Boolean established) {
    this.established = established;
    return this;
  }

  /**
   * Match state established
   * @return established
  */
  @ApiModelProperty(value = "Match state established")


  public Boolean getEstablished() {
    return established;
  }

  public void setEstablished(Boolean established) {
    this.established = established;
  }

  public GatewayAclStatesEntity related(Boolean related) {
    this.related = related;
    return this;
  }

  /**
   * Match state related
   * @return related
  */
  @ApiModelProperty(value = "Match state related")


  public Boolean getRelated() {
    return related;
  }

  public void setRelated(Boolean related) {
    this.related = related;
  }

  public GatewayAclStatesEntity invalid(Boolean invalid) {
    this.invalid = invalid;
    return this;
  }

  /**
   * Match state invalid
   * @return invalid
  */
  @ApiModelProperty(value = "Match state invalid")


  public Boolean getInvalid() {
    return invalid;
  }

  public void setInvalid(Boolean invalid) {
    this.invalid = invalid;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    GatewayAclStatesEntity gatewayAclStatesEntity = (GatewayAclStatesEntity) o;
    return Objects.equals(this.stateNew, gatewayAclStatesEntity.stateNew) &&
        Objects.equals(this.established, gatewayAclStatesEntity.established) &&
        Objects.equals(this.related, gatewayAclStatesEntity.related) &&
        Objects.equals(this.invalid, gatewayAclStatesEntity.invalid);
  }

  @Override
  public int hashCode() {
    return Objects.hash(stateNew, established, related, invalid);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class GatewayAclStatesEntity {\n");
    
    sb.append("    stateNew: ").append(toIndentedString(stateNew)).append("\n");
    sb.append("    established: ").append(toIndentedString(established)).append("\n");
    sb.append("    related: ").append(toIndentedString(related)).append("\n");
    sb.append("    invalid: ").append(toIndentedString(invalid)).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    ");
  }
}

