org.codingmatters.poom.ci.dependency.api.repositoriesgetresponse.optional.OptionalStatus404 Maven / Gradle / Ivy
package org.codingmatters.poom.ci.dependency.api.repositoriesgetresponse.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.repositoriesgetresponse.Status404;
import org.codingmatters.poom.ci.dependency.api.types.optional.OptionalError;
public class OptionalStatus404 {
private final Optional optional;
private OptionalError payload = this.payload;
private OptionalStatus404(Status404 value) {
this.optional = Optional.ofNullable(value);
}
public static OptionalStatus404 of(Status404 value) {
return new OptionalStatus404(value);
}
public synchronized OptionalError payload() {
if(this.payload == null) {
this.payload = OptionalError.of(this.optional.isPresent() ? this.optional.get().payload() : null);
}
return this.payload;
}
public Status404 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 Status404 orElse(Status404 value) {
return this.optional.orElse(value);
}
public Status404 orElseGet(Supplier supplier) {
return this.optional.orElseGet(supplier);
}
public Status404 orElseThrow(Supplier supplier) throws X {
return this.optional.orElseThrow(supplier);
}
}