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);
}
}