@FunctionalInterface
@Generated(value="uk.kludje.annotation.processor.UncheckedFunctionalInterfaceProcessor")
public interface UToDoubleFunction<T>
extends java.util.function.ToDoubleFunction<T>
double $applyAsDouble(T arg0) throws Throwable USING A LAMBDA; INVOKE double applyAsDouble(T arg0).
A functional interface for handling checked exceptions. See parent type for interface intent.
double applyAsDouble(T arg0) invokes double $applyAsDouble(T arg0)
and throws anything thrown by double $applyAsDouble(T arg0).
General example using java.lang.Runnable that reduces 11 lines to a single line.
Call someMethodThatThrowsException in throwsNothing:
public void someMethodThatThrowsException() throws IOException {
// I/O functionality
}
public void throwsNothing(Runnable r) {
r.run();
}
Before:
public void yourMethod() throws IOException {
try {
throwsNothing(() -> {
try {
someMethodThatThrowsException();
} catch (IOException e) {
throw new SomeWrapperException(e);
}
});
} catch(SomeWrapperException w) {
throw (IOException) w.getCause();
}
}
After:
public void yourMethod() throws IOException {
throwsNothing((URunnable) this::someMethodThatThrowsException);
}
Method public static <T> UToDoubleFunction<T> asUToDoubleFunction(UToDoubleFunction<T> t)
provides a convenience method for manufacturing types as an alternative to casting.
| Modifier and Type | Method and Description |
|---|---|
double |
$applyAsDouble(T arg0) |
default double |
applyAsDouble(T arg0) |
static <T> UToDoubleFunction<T> |
asUToDoubleFunction(UToDoubleFunction<T> t) |
default double applyAsDouble(T arg0)
applyAsDouble in interface java.util.function.ToDoubleFunction<T>double $applyAsDouble(T arg0) throws java.lang.Throwable
java.lang.Throwablestatic <T> UToDoubleFunction<T> asUToDoubleFunction(UToDoubleFunction<T> t)