org.codingmatters.poom.ci.dependency.api.RepositoryDownstreamRepositoriesGetResponseImpl 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.OptionalRepositoryDownstreamRepositoriesGetResponse;
import org.codingmatters.poom.ci.dependency.api.repositorydownstreamrepositoriesgetresponse.Status200;
import org.codingmatters.poom.ci.dependency.api.repositorydownstreamrepositoriesgetresponse.Status400;
import org.codingmatters.poom.ci.dependency.api.repositorydownstreamrepositoriesgetresponse.Status404;
import org.codingmatters.poom.ci.dependency.api.repositorydownstreamrepositoriesgetresponse.Status500;
class RepositoryDownstreamRepositoriesGetResponseImpl implements RepositoryDownstreamRepositoriesGetResponse {
private final Status200 status200;
private final Status400 status400;
private final Status404 status404;
private final Status500 status500;
RepositoryDownstreamRepositoriesGetResponseImpl(Status200 status200, Status400 status400, Status404 status404, Status500 status500) {
this.status200 = status200;
this.status400 = status400;
this.status404 = status404;
this.status500 = status500;
}
public Status200 status200() {
return this.status200;
}
public Status400 status400() {
return this.status400;
}
public Status404 status404() {
return this.status404;
}
public Status500 status500() {
return this.status500;
}
public RepositoryDownstreamRepositoriesGetResponse withStatus200(Status200 value) {
return RepositoryDownstreamRepositoriesGetResponse.from(this).status200(value).build();
}
public RepositoryDownstreamRepositoriesGetResponse withStatus400(Status400 value) {
return RepositoryDownstreamRepositoriesGetResponse.from(this).status400(value).build();
}
public RepositoryDownstreamRepositoriesGetResponse withStatus404(Status404 value) {
return RepositoryDownstreamRepositoriesGetResponse.from(this).status404(value).build();
}
public RepositoryDownstreamRepositoriesGetResponse withStatus500(Status500 value) {
return RepositoryDownstreamRepositoriesGetResponse.from(this).status500(value).build();
}
public RepositoryDownstreamRepositoriesGetResponse changed(RepositoryDownstreamRepositoriesGetResponse.Changer changer) {
return changer.configure(RepositoryDownstreamRepositoriesGetResponse.from(this)).build();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RepositoryDownstreamRepositoriesGetResponseImpl that = (RepositoryDownstreamRepositoriesGetResponseImpl) o;
return Objects.equals(this.status200, that.status200) &&
Objects.equals(this.status400, that.status400) &&
Objects.equals(this.status404, that.status404) &&
Objects.equals(this.status500, that.status500);
}
@Override
public int hashCode() {
return Arrays.deepHashCode(new Object[]{this.status200, this.status400, this.status404, this.status500});
}
@Override
public String toString() {
return "RepositoryDownstreamRepositoriesGetResponse{" +
"status200=" + Objects.toString(this.status200) +
", " + "status400=" + Objects.toString(this.status400) +
", " + "status404=" + Objects.toString(this.status404) +
", " + "status500=" + Objects.toString(this.status500) +
'}';
}
public OptionalRepositoryDownstreamRepositoriesGetResponse opt() {
return OptionalRepositoryDownstreamRepositoriesGetResponse.of(this);
}
}