Interface ThrowingSupplier<T,X extends Throwable>
-
- Type Parameters:
T- The type of results supplied by this supplier.X- The type of checked exception that can be thrown.
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface ThrowingSupplier<T,X extends Throwable>
Represents a supplier of results. This is a checked-exception throwing equivalent ofSupplier.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static <T,X extends Throwable>
ThrowingSupplier<T,X>checked(Supplier<? extends T> supplier)Returns a supplier that calls thesuppliersupplier.static <T,X extends Throwable>
ThrowingSupplier<T,X>checked(Supplier<? extends T> supplier, Class<X> errorType)Returns a supplier that calls thesuppliersupplier.Tget()Gets a result.static <T,X extends Throwable>
ThrowingSupplier<T,X>of(ThrowingSupplier<T,X> supplier)Factory method for turningThrowingSupplier-shaped lambdas intoThrowingSuppliers.default <E extends Throwable>
ThrowingSupplier<T,E>onErrorGetChecked(ThrowingSupplier<? extends T,? extends E> fallback)Returns a supplier that calls this supplier.default Supplier<T>onErrorGetUnchecked(Supplier<? extends T> fallback)Returns a supplier that calls this supplier.default <E extends Throwable>
ThrowingSupplier<T,E>onErrorHandleChecked(ThrowingFunction<? super X,? extends T,? extends E> errorHandler)Returns a supplier that calls this supplier.default Supplier<T>onErrorHandleUnchecked(Function<? super X,? extends T> errorHandler)Returns a supplier that calls this supplier.default Supplier<T>onErrorReturn(T fallback)Returns a supplier that calls this supplier.default <E extends Throwable>
ThrowingSupplier<T,E>onErrorThrowAsChecked(Function<? super X,? extends E> errorMapper)Returns a supplier that calls this supplier.default <E extends RuntimeException>
Supplier<T>onErrorThrowAsUnchecked(Function<? super X,? extends E> errorMapper)Returns a supplier that calls this supplier.default Supplier<T>unchecked()Returns a supplier that applies this supplier to its input.static <T> Supplier<T>unchecked(ThrowingSupplier<? extends T,?> supplier)Returns a supplier that calls thesuppliersupplier.
-
-
-
Method Detail
-
onErrorThrowAsChecked
default <E extends Throwable> ThrowingSupplier<T,E> onErrorThrowAsChecked(Function<? super X,? extends E> errorMapper)
Returns a supplier that calls this supplier. Any checked exception thrown by this supplier is transformed using the given error mapper, and the returned supplier throws the transformation result.- Type Parameters:
E- The type of checked exception to transform to.- Parameters:
errorMapper- The function to use to transform any checked exception thrown by this supplier.- Returns:
- A supplier that transforms any thrown checked exception.
- Throws:
NullPointerException- IferrorMapperisnull.
-
onErrorThrowAsUnchecked
default <E extends RuntimeException> Supplier<T> onErrorThrowAsUnchecked(Function<? super X,? extends E> errorMapper)
Returns a supplier that calls this supplier. Any checked exception thrown by this supplier is transformed using the given error mapper, and the returned supplier throws the transformation result.- Type Parameters:
E- The type of unchecked exception to transform to.- Parameters:
errorMapper- The function to use to transform any checked exception thrown by this supplier.- Returns:
- A supplier that transforms any thrown checked exception.
- Throws:
NullPointerException- IferrorMapperisnull.
-
onErrorHandleChecked
default <E extends Throwable> ThrowingSupplier<T,E> onErrorHandleChecked(ThrowingFunction<? super X,? extends T,? extends E> errorHandler)
Returns a supplier that calls this supplier. Any checked exception thrown by this supplier is transformed using the given error handler, and the returned supplier returns the transformation result.- Type Parameters:
E- The type of checked exception that can be thrown by the given error handler.- Parameters:
errorHandler- The function to use to transform any checked exception thrown by this supplier.- Returns:
- A supplier that transforms any thrown checked exception.
- Throws:
NullPointerException- IferrorHandlerisnull.
-
onErrorHandleUnchecked
default Supplier<T> onErrorHandleUnchecked(Function<? super X,? extends T> errorHandler)
Returns a supplier that calls this supplier. Any checked exception thrown by this supplier is transformed using the given error handler, and the returned supplier returns the transformation result.- Parameters:
errorHandler- The function to use to transform any checked exception thrown by this supplier.- Returns:
- A supplier that transforms any thrown checked exception.
- Throws:
NullPointerException- IferrorHandlerisnull.
-
onErrorGetChecked
default <E extends Throwable> ThrowingSupplier<T,E> onErrorGetChecked(ThrowingSupplier<? extends T,? extends E> fallback)
Returns a supplier that calls this supplier. If this supplier throws any checked exception, it is discarded and the given fallback supplier is invoked.- Type Parameters:
E- The type of checked exception that can be thrown by the given fallback supplier.- Parameters:
fallback- The supplier to produce the value to return if this supplier throws any checked exception.- Returns:
- A supplier that invokes the
fallbacksupplier if this supplier throws any checked exception. - Throws:
NullPointerException- Iffallbackisnull.
-
onErrorGetUnchecked
default Supplier<T> onErrorGetUnchecked(Supplier<? extends T> fallback)
Returns a supplier that calls this supplier. If this supplier throws any checked exception, it is discarded and the given fallback supplier is invoked.- Parameters:
fallback- The supplier to produce the value to return if this supplier throws any checked exception.- Returns:
- A supplier that invokes the
fallbacksupplier if this supplier throws any checked exception. - Throws:
NullPointerException- Iffallbackisnull.
-
onErrorReturn
default Supplier<T> onErrorReturn(T fallback)
Returns a supplier that calls this supplier. If this supplier throws any checked exception, it is discarded and the given fallback value is returned.- Parameters:
fallback- The value to return if this supplier throws any checked exception.- Returns:
- A supplier that returns the
fallbackvalue if this supplier throws any checked exception.
-
unchecked
default Supplier<T> unchecked()
Returns a supplier that applies this supplier to its input. Any checked exception thrown by this supplier is wrapped in anUncheckedExceptionwithout a stack trace.- Returns:
- A supplier that wraps any checked exception in an
UncheckedException.
-
of
static <T,X extends Throwable> ThrowingSupplier<T,X> of(ThrowingSupplier<T,X> supplier)
Factory method for turningThrowingSupplier-shaped lambdas intoThrowingSuppliers.- Type Parameters:
T- The type of the results supplied by the supplier.X- The type of checked exception that can be thrown.- Parameters:
supplier- The lambda to return asThrowingSupplier.- Returns:
- The given lambda as a
ThrowingSupplier. - Throws:
NullPointerException- Ifsupplierisnull.
-
unchecked
static <T> Supplier<T> unchecked(ThrowingSupplier<? extends T,?> supplier)
Returns a supplier that calls thesuppliersupplier. Any checked exception thrown by thesuppliersupplier is wrapped in anUncheckedException.- Type Parameters:
T- The type of the results supplied by the supplier.- Parameters:
supplier- The supplier to call when the returned supplier is invoked.- Returns:
- A supplier that wraps any checked exception in an
UncheckedException. - Throws:
NullPointerException- Iffunctionisnull.
-
checked
static <T,X extends Throwable> ThrowingSupplier<T,X> checked(Supplier<? extends T> supplier)
Returns a supplier that calls thesuppliersupplier. Any unchecked exception thrown by thesuppliersupplier is relayed to the caller. This method allows existingSupplierinstances to be used whereThrowingSupplieris expected.- Type Parameters:
T- The type of the results supplied by the supplier.X- The type of checked exception that can be thrown.- Parameters:
supplier- The supplier to call when the returned function is invoked.- Returns:
- A supplier that wraps any checked exception in an
UncheckedException. - Throws:
NullPointerException- Ifsupplierisnull.
-
checked
static <T,X extends Throwable> ThrowingSupplier<T,X> checked(Supplier<? extends T> supplier, Class<X> errorType)
Returns a supplier that calls thesuppliersupplier. AnyUncheckedExceptionthrown by thesuppliersupplier is unwrapped if its cause is an instance oferrorType, otherwise it is relayed to the caller.- Type Parameters:
T- The type of the results supplied by the supplier.X- The type of checked exception that can be thrown.- Parameters:
supplier- The supplier to call when the returned supplier is invoked.errorType- The type of checked exception that can be thrown.- Returns:
- A supplier that wraps any checked exception in an
UncheckedException. - Throws:
NullPointerException- IfsupplierorerrorTypeisnull.
-
-