Interface IThrowingFunction<T,​R>

  • Type Parameters:
    T - the type of the input to the function
    R - the type of the result of the function
    All Superinterfaces:
    Function<T,​R>
    All Known Subinterfaces:
    IThrowingUnaryOperator<T>
    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 IThrowingFunction<T,​R>
    extends Function<T,​R>
    A Function that may throw a checked exception.

    Represents a function that accepts one argument and produces a result.

    This is a functional interface whose functional method is apply(Object).

    Since:
    8.0.1
    Author:
    XIMA MEDIA GmbH
    • Method Detail

      • tryApply

        R tryApply​(T t)
            throws Exception
        Gets a result.
        Parameters:
        t - the function argument
        Returns:
        the function result
        Throws:
        Exception - When this operation fails.
      • apply

        default R apply​(T t)
        Specified by:
        apply in interface Function<T,​R>
      • of

        static <T,​R> IThrowingFunction<T,​R> of​(IThrowingFunction<T,​R> fn)
        Returns the given supplier, for improved variable inference. Sometimes you need to create local variables and assign them to a new lambda. This does not work well with variable inference, as Java cannot infer the type of an anonymous lambda. This utility method lets you write slightly more readable code like this:
         final var fn = ISerializableThrowingFunction.of(t -> ...);
        
         
        Type Parameters:
        T - the type of results supplied by this supplier
        Parameters:
        fn - Function to return.
        Returns:
        The given supplier.
      • throwingFunction

        static <T,​R> IThrowingFunction<T,​R> throwingFunction​(IThrowingFunction<T,​R> fn)
        Returns the given function, for improved variable inference. Sometimes you need to create local variables and assign them to a new lambda. This does not work well with variable inference, as Java cannot infer the type of an anonymous lambda. This utility method lets you write slightly more readable code like this:
         final var fn = throwingFunction(t -> ...);
        
         
        Type Parameters:
        T - the type of results supplied by this supplier
        Parameters:
        fn - Function to return.
        Returns:
        The given supplier.