From c0da3baea589c2c04ae5be796473d1f6a318315f Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 18 Feb 2022 15:51:09 +0100 Subject: [PATCH] Because we can --- jOOQ/src/main/java/org/jooq/impl/F.java | 157 ------------------ .../main/java/org/jooq/impl/package-info.java | 123 ++++++++++++++ 2 files changed, 123 insertions(+), 157 deletions(-) delete mode 100644 jOOQ/src/main/java/org/jooq/impl/F.java diff --git a/jOOQ/src/main/java/org/jooq/impl/F.java b/jOOQ/src/main/java/org/jooq/impl/F.java deleted file mode 100644 index d6abc38f5f..0000000000 --- a/jOOQ/src/main/java/org/jooq/impl/F.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Other licenses: - * ----------------------------------------------------------------------------- - * Commercial licenses for this work are available. These replace the above - * ASL 2.0 and offer limited warranties, support, maintenance, and commercial - * database integrations. - * - * For more information, please visit: http://www.jooq.org/licenses - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - */ -package org.jooq.impl; - -import java.util.function.BiFunction; -import java.util.function.BiPredicate; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Supplier; - - -/* - * This file contains a few functional interfaces that are missing from the JDK. - */ - -/** - * A checked exception throwing {@link Runnable}. - */ -@FunctionalInterface -interface ThrowingRunnable { - void run() throws E; -} - -/** - * A checked exception throwing {@link Consumer}. - */ -@FunctionalInterface -interface ThrowingConsumer { - void accept(T t) throws E; -} - -/** - * A checked exception throwing {@link Supplier}. - */ -@FunctionalInterface -interface ThrowingSupplier { - T get() throws E; -} - -/** - * A checked exception throwing {@link Function}. - */ -@FunctionalInterface -interface ThrowingFunction { - R apply(T t) throws E; -} - -/** - * A checked exception throwing {@link Predicate}. - */ -@FunctionalInterface -interface ThrowingPredicate { - boolean test(T t) throws E; -} - -/** - * A checked exception throwing {@link Predicate}. - */ -@FunctionalInterface -interface ThrowingIntPredicate { - boolean test(T t, int i) throws E; -} - -/** - * A checked exception throwing {@link IntFunction}. - */ -@FunctionalInterface -interface ThrowingIntFunction { - R apply(int t) throws E; -} - -/** - * A checked exception throwing {@link BiFunction}. - */ -@FunctionalInterface -interface ThrowingBiFunction { - R apply(T1 t1, T2 t2) throws E; -} - -/** - * A checked exception throwing {@link IntIntFunction}. - */ -@FunctionalInterface -interface ThrowingIntIntFunction { - R apply(int i, int j) throws E; -} - -/** - * A checked exception throwing {@link ObjIntFunction}. - */ -@FunctionalInterface -interface ThrowingObjIntFunction { - R apply(T t, int i) throws E; -} - -/** - * A missing primitive type {@link Consumer} for booleans. - */ -@FunctionalInterface -interface BooleanConsumer { - void accept(boolean b); -} - -/** - * A missing primitive type {@link BiFunction} for references and ints. - */ -@FunctionalInterface -interface ObjIntFunction { - R apply(T t, int i); - - default ObjIntFunction andThen(ObjIntFunction after) { - return (t, i) -> after.apply(apply(t, i), i); - } -} - -/** - * A missing primitive type {@link BiPredicate} for references and ints. - */ -@FunctionalInterface -interface ObjIntPredicate { - boolean test(T t, int i); -} diff --git a/jOOQ/src/main/java/org/jooq/impl/package-info.java b/jOOQ/src/main/java/org/jooq/impl/package-info.java index 7a5c10c5cc..3ba7bd542b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/package-info.java +++ b/jOOQ/src/main/java/org/jooq/impl/package-info.java @@ -7,3 +7,126 @@ * implementation facts from the public API. */ package org.jooq.impl; + + +import java.util.function.BiFunction; +import java.util.function.BiPredicate; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Supplier; + +/* + * Also, because we can, we can place some classes that don't deserve their own + * file in here: + * https://docs.oracle.com/javase/specs/jls/se17/html/jls-7.html#jls-7.4.1 + * + * This file contains a few functional interfaces that are missing from the JDK. + */ + +/** + * A checked exception throwing {@link Runnable}. + */ +@FunctionalInterface +interface ThrowingRunnable { + void run() throws E; +} + +/** + * A checked exception throwing {@link Consumer}. + */ +@FunctionalInterface +interface ThrowingConsumer { + void accept(T t) throws E; +} + +/** + * A checked exception throwing {@link Supplier}. + */ +@FunctionalInterface +interface ThrowingSupplier { + T get() throws E; +} + +/** + * A checked exception throwing {@link Function}. + */ +@FunctionalInterface +interface ThrowingFunction { + R apply(T t) throws E; +} + +/** + * A checked exception throwing {@link Predicate}. + */ +@FunctionalInterface +interface ThrowingPredicate { + boolean test(T t) throws E; +} + +/** + * A checked exception throwing {@link Predicate}. + */ +@FunctionalInterface +interface ThrowingIntPredicate { + boolean test(T t, int i) throws E; +} + +/** + * A checked exception throwing {@link IntFunction}. + */ +@FunctionalInterface +interface ThrowingIntFunction { + R apply(int t) throws E; +} + +/** + * A checked exception throwing {@link BiFunction}. + */ +@FunctionalInterface +interface ThrowingBiFunction { + R apply(T1 t1, T2 t2) throws E; +} + +/** + * A checked exception throwing {@link IntIntFunction}. + */ +@FunctionalInterface +interface ThrowingIntIntFunction { + R apply(int i, int j) throws E; +} + +/** + * A checked exception throwing {@link ObjIntFunction}. + */ +@FunctionalInterface +interface ThrowingObjIntFunction { + R apply(T t, int i) throws E; +} + +/** + * A missing primitive type {@link Consumer} for booleans. + */ +@FunctionalInterface +interface BooleanConsumer { + void accept(boolean b); +} + +/** + * A missing primitive type {@link BiFunction} for references and ints. + */ +@FunctionalInterface +interface ObjIntFunction { + R apply(T t, int i); + + default ObjIntFunction andThen(ObjIntFunction after) { + return (t, i) -> after.apply(apply(t, i), i); + } +} + +/** + * A missing primitive type {@link BiPredicate} for references and ints. + */ +@FunctionalInterface +interface ObjIntPredicate { + boolean test(T t, int i); +}