Interface TriConsumer<A,​B,​C>

  • Type Parameters:
    A - The type of the first input-parameter.
    B - The type of the second input-parameter.
    C - The type of the last input-parameter.
    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 TriConsumer<A,​B,​C>
    Function-Pointer Input: A, B, C Output: void.

    This is an extension of Java's original functional-interfaces package. The Functional Interface designed here creates a "Tri Consumer" - a straight-forward extension of interface java.util.function.Consumer - but instead has an 'accept(...)' method receiving three variable-type parameters instead of just one.

    NOTE: Java's Basic Package java.util.function.*, contains an interface named BiConsumer, that extends the basic Consumer<T> to interface BiConsumer<T, U>. The interface that is implemented here follows a similar vein, but extends the number of generic type-parameters to three, instead of two.


    • Method Summary

       
      @FunctionalInterface: (Lambda) Method
      Modifier and Type Method
      void accept​(A a, B b, C c)
       
      Default Composition & Builder Method(s)
      Modifier and Type Method
      default TriConsumer<A,​B,​C> andThen​(TriConsumer<? super A,​? super B,​? super C> after)
    • Method Detail

      • accept

        🡇     🗕  🗗  🗖
        void accept​(A a,
                    B b,
                    C c)
        Performs 'this' operation on the given arguments.

        FunctionalInterface Target-Method:
        This method corresponds to the @FunctionalInterface Annotation's method requirement. It is the only non-default, non-static method in this interface, and may be the target of a Lambda-Expression or '::' (double-colon) Function-Pointer.
        Parameters:
        a - the first input argument
        b - the second input argument
        c - the third input argument
      • andThen

        🡅     🗕  🗗  🗖
        default TriConsumer<A,​B,​CandThen​
                    (TriConsumer<? super A,​? super B,​? super C> after)
        
        Returns a composed consumer that performs, in sequence, 'this' operation followed by the after operation. If performing either operation throws an exception, it is relayed to the caller of the composed operation. If performing this operation throws an exception, the 'after' operation will not be performed.
        Parameters:
        after - The operation to perform after this operation
        Returns:
        A composed consumer that performs in sequence 'this' operation followed by the 'after' operation.
        Throws:
        java.lang.NullPointerException - if parameter 'other' is null.
        Code:
        Exact Method Body:
         if (after == null)
             throw new NullPointerException("null has been passed to parameter 'after'");
        
         return (A a, B b, C c) ->
         {
             this.accept(a, b, c);
             after.accept(a, b, c);
         };