
com.jongsoft.utils.control.OptionalNone Maven / Gradle / Ivy
The newest version!
package com.jongsoft.utils.control;
import com.jongsoft.utils.core.None;
import com.jongsoft.utils.core.Runner;
import java.util.Objects;
import java.util.function.Function;
import java.util.function.Supplier;
class OptionalNone extends None implements Optional {
protected static final OptionalNone> NONE = new OptionalNone<>();
private static final long serialVersionUID = 1L;
@Override
public T getOrSupply(Supplier supplier) {
return supplier.get();
}
@Override
public T getOrThrow(Supplier exceptionSupplier) throws X {
Objects.requireNonNull(exceptionSupplier, "Exception supplier cannot be null");
throw exceptionSupplier.get();
}
@Override
public Optional map(Function mapper) {
return Optional.empty();
}
@Override
public void elseThrow(Supplier exceptionSupplier) throws X {
ifNotPresent(exceptionSupplier);
}
@Override
public void elseRun(Runner runner) {
runner.run();
}
@Override
public String toString() {
return "Optional: " + super.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy