Class ExceptionSuppressor


  • public final class ExceptionSuppressor
    extends Object

    When using functional programming techniques in java 8+, a common issue is the inability to chain operations using method references if those called methods throw a checked exception.
    This class is meant to suppress these checked exceptions.

    It can also be used to write your exception handling in a more fluent way, and to facilitate designs based on using Unchecked Exceptions.

    Example usage
    References
    Since:
    1.0.0
    Version:
    1.0.0
    Author:
    Stijn Dejongh
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T,​R>
      Function<T,​R>
      ignore​(be.sddevelopment.commons.exceptions.FallibleFunction<T,​R> toWrap)
      Wrapper to be used when you wish to ignore an exception.
      static <T,​R>
      Function<T,​Optional<R>>
      ignoreAsOptional​(be.sddevelopment.commons.exceptions.FallibleFunction<T,​R> toWrap)
      Wrapper to be used when you wish to ignore an exception, and retrieve the result as an Optional.
      static <T,​R>
      Function<T,​R>
      uncheck​(be.sddevelopment.commons.exceptions.FallibleFunction<T,​R> toWrap)
      Wrapper to use to convert an exception from a checked type to an unchecked type.
    • Method Detail

      • ignore

        public static <T,​R> Function<T,​R> ignore​(be.sddevelopment.commons.exceptions.FallibleFunction<T,​R> toWrap)
        Wrapper to be used when you wish to ignore an exception.
        Type Parameters:
        T - The input type of the wrapped function
        R - The return type of the wrapped function
        Parameters:
        toWrap - The function call to wrap. Exceptions thrown by this function will be ignored.
        Returns:
        The result of the wrapped function in the happy flow case. The method will return null in case an exception occured.
      • ignoreAsOptional

        public static <T,​R> Function<T,​Optional<R>> ignoreAsOptional​(be.sddevelopment.commons.exceptions.FallibleFunction<T,​R> toWrap)
        Wrapper to be used when you wish to ignore an exception, and retrieve the result as an Optional.
        Type Parameters:
        T - The input type of the wrapped function
        R - The return type of the wrapped function
        Parameters:
        toWrap - The function call to wrap. Exceptions thrown by this function will be ignored.
        Returns:
        The result of the wrapped function in the happy flow case. The method will return an empty Optional in case an exception occured.
      • uncheck

        public static <T,​R> Function<T,​R> uncheck​(be.sddevelopment.commons.exceptions.FallibleFunction<T,​R> toWrap)
        Wrapper to use to convert an exception from a checked type to an unchecked type. This method will throw exceptions of the WrappedException type.
        Type Parameters:
        T - The input type of the wrapped function
        R - The return type of the wrapped function
        Parameters:
        toWrap - The function call to wrap. Exceptions thrown by this function will be converted to runtime exceptions.
        Returns: