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

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

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

import java.util.function.Consumer;
import org.codingmatters.poom.ci.dependency.api.optional.OptionalRepositoryJustNextDownstreamRepositoriesGetResponse;
import org.codingmatters.poom.ci.dependency.api.repositoryjustnextdownstreamrepositoriesgetresponse.Status200;
import org.codingmatters.poom.ci.dependency.api.repositoryjustnextdownstreamrepositoriesgetresponse.Status400;
import org.codingmatters.poom.ci.dependency.api.repositoryjustnextdownstreamrepositoriesgetresponse.Status404;
import org.codingmatters.poom.ci.dependency.api.repositoryjustnextdownstreamrepositoriesgetresponse.Status500;

public interface RepositoryJustNextDownstreamRepositoriesGetResponse {
  static Builder builder() {
    return new RepositoryJustNextDownstreamRepositoriesGetResponse.Builder();
  }

  static RepositoryJustNextDownstreamRepositoriesGetResponse.Builder from(RepositoryJustNextDownstreamRepositoriesGetResponse value) {
    if(value != null) {
      return new RepositoryJustNextDownstreamRepositoriesGetResponse.Builder()
          .status200(value.status200())
          .status400(value.status400())
          .status404(value.status404())
          .status500(value.status500())
          ;
    }
    else {
      return null;
    }
  }

  Status200 status200();

  Status400 status400();

  Status404 status404();

  Status500 status500();

  RepositoryJustNextDownstreamRepositoriesGetResponse withStatus200(Status200 value);

  RepositoryJustNextDownstreamRepositoriesGetResponse withStatus400(Status400 value);

  RepositoryJustNextDownstreamRepositoriesGetResponse withStatus404(Status404 value);

  RepositoryJustNextDownstreamRepositoriesGetResponse withStatus500(Status500 value);

  int hashCode();

  RepositoryJustNextDownstreamRepositoriesGetResponse changed(RepositoryJustNextDownstreamRepositoriesGetResponse.Changer changer);

  OptionalRepositoryJustNextDownstreamRepositoriesGetResponse opt();

  class Builder {
    private Status200 status200;

    private Status400 status400;

    private Status404 status404;

    private Status500 status500;

    public RepositoryJustNextDownstreamRepositoriesGetResponse build() {
      return new RepositoryJustNextDownstreamRepositoriesGetResponseImpl(this.status200, this.status400, this.status404, this.status500);
    }

    public RepositoryJustNextDownstreamRepositoriesGetResponse.Builder status200(Status200 status200) {
      this.status200 = status200;
      return this;
    }

    public RepositoryJustNextDownstreamRepositoriesGetResponse.Builder status200(Consumer status200) {
      Status200.Builder builder = Status200.builder();
      status200.accept(builder);
      return this.status200(builder.build());
    }

    public RepositoryJustNextDownstreamRepositoriesGetResponse.Builder status400(Status400 status400) {
      this.status400 = status400;
      return this;
    }

    public RepositoryJustNextDownstreamRepositoriesGetResponse.Builder status400(Consumer status400) {
      Status400.Builder builder = Status400.builder();
      status400.accept(builder);
      return this.status400(builder.build());
    }

    public RepositoryJustNextDownstreamRepositoriesGetResponse.Builder status404(Status404 status404) {
      this.status404 = status404;
      return this;
    }

    public RepositoryJustNextDownstreamRepositoriesGetResponse.Builder status404(Consumer status404) {
      Status404.Builder builder = Status404.builder();
      status404.accept(builder);
      return this.status404(builder.build());
    }

    public RepositoryJustNextDownstreamRepositoriesGetResponse.Builder status500(Status500 status500) {
      this.status500 = status500;
      return this;
    }

    public RepositoryJustNextDownstreamRepositoriesGetResponse.Builder status500(Consumer status500) {
      Status500.Builder builder = Status500.builder();
      status500.accept(builder);
      return this.status500(builder.build());
    }
  }

  interface Changer {
    RepositoryJustNextDownstreamRepositoriesGetResponse.Builder configure(RepositoryJustNextDownstreamRepositoriesGetResponse.Builder builder);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy