Interface Function<T,​R>

  • Type Parameters:
    T - The type of the function input.
    R - The type of the function output.
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @ConsumerType
    @FunctionalInterface
    public interface Function<T,​R>
    A function that accepts a single argument and produces a result.

    This is a functional interface and can be used as the assignment target for a lambda expression or method reference.

    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default <S> Function<T,​S> andThen​(Function<? super R,​? extends S> after)
      Compose the specified Function to be called on the value returned by this Function.
      R apply​(T t)
      Applies this function to the specified argument.
      static <T,​R>
      Function<T,​R>
      asFunction​(java.util.function.Function<T,​R> wrapped)
      Returns a Function which wraps the specified java.util.function.Function.
      static <T,​R>
      java.util.function.Function<T,​R>
      asJavaFunction​(Function<T,​R> wrapped)
      Returns a java.util.function.Function which wraps the specified Function and throws any thrown exceptions.
      static <T,​R>
      java.util.function.Function<T,​R>
      asJavaFunctionOrElse​(Function<T,​R> wrapped, R orElse)
      Returns a java.util.function.Function which wraps the specified Function and the specified value.
      static <T,​R>
      java.util.function.Function<T,​R>
      asJavaFunctionOrElseGet​(Function<T,​R> wrapped, java.util.function.Supplier<? extends R> orElseGet)
      Returns a java.util.function.Function which wraps the specified Function and the specified java.util.function.Supplier.
      default <S> Function<S,​R> compose​(Function<? super S,​? extends T> before)
      Compose the specified Function to be called to supply a value to be consumed by this Function.
    • Method Detail

      • apply

        R apply​(T t)
         throws java.lang.Exception
        Applies this function to the specified argument.
        Parameters:
        t - The input to this function.
        Returns:
        The output of this function.
        Throws:
        java.lang.Exception - An exception thrown by the method.
      • andThen

        default <S> Function<T,​S> andThen​(Function<? super R,​? extends S> after)
        Compose the specified Function to be called on the value returned by this Function.
        Type Parameters:
        S - The type of the value supplied by the specified Function.
        Parameters:
        after - The Function to be called on the value returned by this Function. Must not be null.
        Returns:
        A Function composed of this Function and the specified Function.
      • compose

        default <S> Function<S,​R> compose​(Function<? super S,​? extends T> before)
        Compose the specified Function to be called to supply a value to be consumed by this Function.
        Type Parameters:
        S - The type of the value consumed the specified Function.
        Parameters:
        before - The Function to be called to supply a value to be consumed by this Function. Must not be null.
        Returns:
        A Function composed of this Function and the specified Function.
      • asJavaFunction

        static <T,​R> java.util.function.Function<T,​R> asJavaFunction​(Function<T,​R> wrapped)
        Returns a java.util.function.Function which wraps the specified Function and throws any thrown exceptions.

        The returned java.util.function.Function will throw any exception thrown by the wrapped Function.

        Type Parameters:
        T - The type of the function input.
        R - The type of the function output.
        Parameters:
        wrapped - The Function to wrap. Must not be null.
        Returns:
        A java.util.function.Function which wraps the specified Function.
      • asJavaFunctionOrElse

        static <T,​R> java.util.function.Function<T,​R> asJavaFunctionOrElse​(Function<T,​R> wrapped,
                                                                                       R orElse)
        Returns a java.util.function.Function which wraps the specified Function and the specified value.

        If the the specified Function throws an Exception, the the specified value is returned.

        Type Parameters:
        T - The type of the function input.
        R - The type of the function output.
        Parameters:
        wrapped - The Function to wrap. Must not be null.
        orElse - The value to return if the specified Function throws an Exception.
        Returns:
        A java.util.function.Function which wraps the specified Function and the specified value.
      • asJavaFunctionOrElseGet

        static <T,​R> java.util.function.Function<T,​R> asJavaFunctionOrElseGet​(Function<T,​R> wrapped,
                                                                                          java.util.function.Supplier<? extends R> orElseGet)
        Returns a java.util.function.Function which wraps the specified Function and the specified java.util.function.Supplier.

        If the the specified Function throws an Exception, the value returned by the specified java.util.function.Supplier is returned.

        Type Parameters:
        T - The type of the function input.
        R - The type of the function output.
        Parameters:
        wrapped - The Function to wrap. Must not be null.
        orElseGet - The java.util.function.Supplier to call for a return value if the specified Function throws an Exception.
        Returns:
        A java.util.function.Function which wraps the specified Function and the specified java.util.function.Supplier.
      • asFunction

        static <T,​R> Function<T,​R> asFunction​(java.util.function.Function<T,​R> wrapped)
        Returns a Function which wraps the specified java.util.function.Function.
        Type Parameters:
        T - The type of the function input.
        R - The type of the function output.
        Parameters:
        wrapped - The java.util.function.Function to wrap. Must not be null.
        Returns:
        A Function which wraps the specified java.util.function.Function.