All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.codingmatters.poom.ci.dependency.api.RepositoryDeleteResponseImpl Maven / Gradle / Ivy

package org.codingmatters.poom.ci.dependency.api;

import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import java.util.Arrays;
import java.util.Objects;
import org.codingmatters.poom.ci.dependency.api.optional.OptionalRepositoryDeleteResponse;
import org.codingmatters.poom.ci.dependency.api.repositorydeleteresponse.Status200;
import org.codingmatters.poom.ci.dependency.api.repositorydeleteresponse.Status404;
import org.codingmatters.poom.ci.dependency.api.repositorydeleteresponse.Status500;

class RepositoryDeleteResponseImpl implements RepositoryDeleteResponse {
  private final Status200 status200;

  private final Status404 status404;

  private final Status500 status500;

  RepositoryDeleteResponseImpl(Status200 status200, Status404 status404, Status500 status500) {
    this.status200 = status200;
    this.status404 = status404;
    this.status500 = status500;
  }

  public Status200 status200() {
    return this.status200;
  }

  public Status404 status404() {
    return this.status404;
  }

  public Status500 status500() {
    return this.status500;
  }

  public RepositoryDeleteResponse withStatus200(Status200 value) {
    return RepositoryDeleteResponse.from(this).status200(value).build();
  }

  public RepositoryDeleteResponse withStatus404(Status404 value) {
    return RepositoryDeleteResponse.from(this).status404(value).build();
  }

  public RepositoryDeleteResponse withStatus500(Status500 value) {
    return RepositoryDeleteResponse.from(this).status500(value).build();
  }

  public RepositoryDeleteResponse changed(RepositoryDeleteResponse.Changer changer) {
    return changer.configure(RepositoryDeleteResponse.from(this)).build();
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    RepositoryDeleteResponseImpl that = (RepositoryDeleteResponseImpl) o;
        return Objects.equals(this.status200, that.status200) && 
        Objects.equals(this.status404, that.status404) && 
        Objects.equals(this.status500, that.status500);
  }

  @Override
  public int hashCode() {
    return Arrays.deepHashCode(new Object[]{this.status200, this.status404, this.status500});
  }

  @Override
  public String toString() {
    return "RepositoryDeleteResponse{" +
        "status200=" + Objects.toString(this.status200) +
        ", " + "status404=" + Objects.toString(this.status404) +
        ", " + "status500=" + Objects.toString(this.status500) +
        '}';
  }

  public OptionalRepositoryDeleteResponse opt() {
    return OptionalRepositoryDeleteResponse.of(this);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy