Class CloseSilentlyFunction<VIN extends Closeable,​VOUT,​E extends Exception>

  • Type Parameters:
    VIN - The type of the function input-parameter, which implements Closeable.
    VOUT - The type of the function result, or Void if the function does not return anything (i.e. it only has side-effects).
    E - The type of the exception thrown by the function, or NeverThrowsException if no exception is thrown by the function.
    All Implemented Interfaces:
    Function<VIN,​VOUT,​E>

    public class CloseSilentlyFunction<VIN extends Closeable,​VOUT,​E extends Exception>
    extends Object
    implements Function<VIN,​VOUT,​E>
    Function that silently closes an input-parameter after a delegate-function's Function.apply(Object) is invoked. The static closeSilently(Function) method is provided for convenience.
    • Constructor Detail

      • CloseSilentlyFunction

        public CloseSilentlyFunction​(Function<VIN,​VOUT,​E> delegate)
        Creates a new CloseSilentlyFunction instance.
        Parameters:
        delegate - Delegate function.
    • Method Detail

      • closeSilently

        public static <IN extends Closeable,​OUT,​EX extends ExceptionFunction<IN,​OUT,​EX> closeSilently​(Function<IN,​OUT,​EX> delegate)
        Wraps a delegate function in a CloseSilentlyFunction.
        Type Parameters:
        IN - The type of the function input-parameter, which implements Closeable.
        OUT - The type of the function result, or Void if the function does not return anything (i.e. it only has side-effects).
        EX - The type of the exception thrown by the function, or NeverThrowsException if no exception is thrown by the function.
        Parameters:
        delegate - Delegate function.
        Returns:
        New CloseSilentlyFunction instance.