// Generated by delombok at Sun Nov 06 21:21:45 CET 2022

import lombok.Singular;

public class ObjectApiResponse<K> {
  private K response;

  public static <Z> void create(Z res, ObjectApiResponseBuilder<Z> builder) {
    ObjectApiResponseBuilder<Z> response1 = builder.response(res);
  }


  public static class ObjectApiResponseBuilder<T> {
    @java.lang.SuppressWarnings("all")
    private T response;

    @java.lang.SuppressWarnings("all")
    ObjectApiResponseBuilder() {
    }

    /**
     * @return {@code this}.
     */
    @java.lang.SuppressWarnings("all")
    public ObjectApiResponse.ObjectApiResponseBuilder<T> response(final T response) {
      this.response = response;
      return this;
    }

    @java.lang.SuppressWarnings("all")
    public ObjectApiResponse<T> build() {
      return new ObjectApiResponse<T>(this.response);
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    public java.lang.String toString() {
      return "ObjectApiResponse.ObjectApiResponseBuilder(response=" + this.response + ")";
    }
  }

  @java.lang.SuppressWarnings("all")
  ObjectApiResponse(final K response) {
    this.response = response;
  }

  @java.lang.SuppressWarnings("all")
  // replaced <K> with <T>
  public static <T> ObjectApiResponse.ObjectApiResponseBuilder<T> builder() {
    return new ObjectApiResponse.ObjectApiResponseBuilder<T>();
  }

  @java.lang.SuppressWarnings("all")
  public K getResponse() {
    return this.response;
  }

  @java.lang.SuppressWarnings("all")
  public void setResponse(final K response) {
    this.response = response;
  }

  @java.lang.Override
  @java.lang.SuppressWarnings("all")
  public boolean equals(final java.lang.Object o) {
    if (o == this) return true;
    if (!(o instanceof ObjectApiResponse)) return false;
    final ObjectApiResponse<?> other = (ObjectApiResponse<?>) o;
    if (!other.canEqual((java.lang.Object) this)) return false;
    final java.lang.Object this$response = this.getResponse();
    final java.lang.Object other$response = other.getResponse();
    if (this$response == null ? other$response != null : !this$response.equals(other$response)) return false;
    return true;
  }

  @java.lang.SuppressWarnings("all")
  protected boolean canEqual(final java.lang.Object other) {
    return other instanceof ObjectApiResponse;
  }

  @java.lang.Override
  @java.lang.SuppressWarnings("all")
  public int hashCode() {
    final int PRIME = 59;
    int result = 1;
    final java.lang.Object $response = this.getResponse();
    result = result * PRIME + ($response == null ? 43 : $response.hashCode());
    return result;
  }

  @java.lang.Override
  @java.lang.SuppressWarnings("all")
  public java.lang.String toString() {
    return "ObjectApiResponse(response=" + this.getResponse() + ")";
  }
}
