org.codingmatters.poom.ci.dependency.api.optional.OptionalRepositoryModulesPostResponse Maven / Gradle / Ivy
package org.codingmatters.poom.ci.dependency.api.optional;
import java.lang.Throwable;
import java.util.Optional;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
import org.codingmatters.poom.ci.dependency.api.RepositoryModulesPostResponse;
import org.codingmatters.poom.ci.dependency.api.repositorymodulespostresponse.optional.OptionalStatus201;
import org.codingmatters.poom.ci.dependency.api.repositorymodulespostresponse.optional.OptionalStatus400;
import org.codingmatters.poom.ci.dependency.api.repositorymodulespostresponse.optional.OptionalStatus404;
import org.codingmatters.poom.ci.dependency.api.repositorymodulespostresponse.optional.OptionalStatus500;
public class OptionalRepositoryModulesPostResponse {
private final Optional optional;
private OptionalStatus201 status201 = this.status201;
private OptionalStatus400 status400 = this.status400;
private OptionalStatus404 status404 = this.status404;
private OptionalStatus500 status500 = this.status500;
private OptionalRepositoryModulesPostResponse(RepositoryModulesPostResponse value) {
this.optional = Optional.ofNullable(value);
}
public static OptionalRepositoryModulesPostResponse of(RepositoryModulesPostResponse value) {
return new OptionalRepositoryModulesPostResponse(value);
}
public synchronized OptionalStatus201 status201() {
if(this.status201 == null) {
this.status201 = OptionalStatus201.of(this.optional.isPresent() ? this.optional.get().status201() : null);
}
return this.status201;
}
public synchronized OptionalStatus400 status400() {
if(this.status400 == null) {
this.status400 = OptionalStatus400.of(this.optional.isPresent() ? this.optional.get().status400() : null);
}
return this.status400;
}
public synchronized OptionalStatus404 status404() {
if(this.status404 == null) {
this.status404 = OptionalStatus404.of(this.optional.isPresent() ? this.optional.get().status404() : null);
}
return this.status404;
}
public synchronized OptionalStatus500 status500() {
if(this.status500 == null) {
this.status500 = OptionalStatus500.of(this.optional.isPresent() ? this.optional.get().status500() : null);
}
return this.status500;
}
public RepositoryModulesPostResponse get() {
return this.optional.get();
}
public boolean isPresent() {
return this.optional.isPresent();
}
public void ifPresent(Consumer consumer) {
this.optional.ifPresent(consumer);
}
public Optional filter(Predicate predicate) {
return this.optional.filter(predicate);
}
public Optional map(Function function) {
return this.optional.map(function);
}
public Optional flatMap(Function> function) {
return this.optional.flatMap(function);
}
public RepositoryModulesPostResponse orElse(RepositoryModulesPostResponse value) {
return this.optional.orElse(value);
}
public RepositoryModulesPostResponse orElseGet(Supplier supplier) {
return this.optional.orElseGet(supplier);
}
public RepositoryModulesPostResponse orElseThrow(Supplier supplier) throws X {
return this.optional.orElseThrow(supplier);
}
}