@@ -0,0 +1,1950 @@
+/*%0A * Copyright 2018 febit.org.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage org.febit.lang;%0A%0Aimport java.util.Objects;%0A%0A/**%0A * Represents an operation that accepts tree input arguments and returns no result.%0A *%0A * @param %3CT%3E the type of the first argument to the operation%0A * @param %3CU%3E the type of the second argument to the operation%0A * @param %3CV%3E the type of the third argument to the operation%0A *%0A * @see java.util.function.Consumer%0A * @author zqq90%0A */%0A@FunctionalInterface%0Apublic interface TerConsumer%3CT, U, V%3E %7B%0A%0A    /**%0A     * Performs this operation on the given arguments.%0A     *%0A     * @param t the first input argument%0A     * @param u the second input argument%0A     * @param v the third input argument%0A     */%0A    void accept(T t, U u, V v);%0A%0A    /**%0A     * Returns a composed %7B@code TerConsumer%7D that performs, in sequence, this operation followed by the %7B@code after%7D%0A     * operation.%0A     *%0A     * @param after the operation to perform after this operation%0A     * @return a composed %7B@code TerConsumer%7D that performs in sequence this operation followed by the %7B@code after%7D%0A     * operation%0A     * @throws NullPointerException if %7B@code after%7D is null%0A     */%0A    default TerConsumer%3CT, U, V%3E andThen(TerConsumer%3C? super T, ? super U, ? super V%3E after) %7B%0A        Objects.requireNonNull(after);%0A        return (t, u, v) -%3E %7B%0A            accept(t, u, v);%0A            after.accept(t, u, v);%0A        %7D;%0A    %7D%0A%7D%0A

Add TerConsumer