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 of Supplier.
    • Method Detail

      • get

        T get()
        throws X extends Throwable
        Gets a result.
        Returns:
        A result.
        Throws:
        X - If an error occurs.
        X extends Throwable
      • onErrorThrowAsChecked

        default <E extends ThrowableThrowingSupplier<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 - If errorMapper is null.
      • onErrorThrowAsUnchecked

        default <E extends RuntimeExceptionSupplier<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 - If errorMapper is null.
      • onErrorHandleChecked

        default <E extends ThrowableThrowingSupplier<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 - If errorHandler is null.
      • 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 - If errorHandler is null.
      • onErrorGetChecked

        default <E extends ThrowableThrowingSupplier<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 fallback supplier if this supplier throws any checked exception.
        Throws:
        NullPointerException - If fallback is null.
      • 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 fallback supplier if this supplier throws any checked exception.
        Throws:
        NullPointerException - If fallback is null.
      • 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 fallback value if this supplier throws any checked exception.
      • of

        static <T,​X extends ThrowableThrowingSupplier<T,​X> of​(ThrowingSupplier<T,​X> supplier)
        Factory method for turning ThrowingSupplier-shaped lambdas into ThrowingSuppliers.
        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 as ThrowingSupplier.
        Returns:
        The given lambda as a ThrowingSupplier.
        Throws:
        NullPointerException - If supplier is null.
      • unchecked

        static <T> Supplier<T> unchecked​(ThrowingSupplier<? extends T,​?> supplier)
        Returns a supplier that calls the supplier supplier. Any checked exception thrown by the supplier supplier is wrapped in an UncheckedException.
        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 - If function is null.
      • checked

        static <T,​X extends ThrowableThrowingSupplier<T,​X> checked​(Supplier<? extends T> supplier)
        Returns a supplier that calls the supplier supplier. Any unchecked exception thrown by the supplier supplier is relayed to the caller. This method allows existing Supplier instances to be used where ThrowingSupplier is 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 - If supplier is null.
      • checked

        static <T,​X extends ThrowableThrowingSupplier<T,​X> checked​(Supplier<? extends T> supplier,
                                                                                 Class<X> errorType)
        Returns a supplier that calls the supplier supplier. Any UncheckedException thrown by the supplier supplier is unwrapped if its cause is an instance of errorType, 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 - If supplier or errorType is null.