From 9d440ccc7e5aa015670ab1f32fc466006f2c7fdc Mon Sep 17 00:00:00 2001 From: JFronny Date: Thu, 28 Apr 2022 20:55:09 +0200 Subject: [PATCH] Add single/triple/quadruple instantiation methods to Tuple --- .../io/gitlab/jfronny/commons/tuple/Tuple.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/io/gitlab/jfronny/commons/tuple/Tuple.java b/src/main/java/io/gitlab/jfronny/commons/tuple/Tuple.java index ebd65ff..c8623ee 100644 --- a/src/main/java/io/gitlab/jfronny/commons/tuple/Tuple.java +++ b/src/main/java/io/gitlab/jfronny/commons/tuple/Tuple.java @@ -8,11 +8,26 @@ import java.util.*; import java.util.function.Function; public record Tuple(@Nullable T1 left, @Nullable T2 right) { + @Contract(pure = true) @NotNull + public static Single of(@Nullable T1 val) { + return new Single<>(val); + } + @Contract(pure = true) @NotNull public static Tuple of(@Nullable T1 left, @Nullable T2 right) { return new Tuple<>(left, right); } + @Contract(pure = true) @NotNull + public static Triple of(@Nullable T1 val1, @Nullable T2 val2, @Nullable T3 val3) { + return new Triple<>(val1, val2, val3); + } + + @Contract(pure = true) @NotNull + public static Quadruple of(@Nullable T1 val1, @Nullable T2 val2, @Nullable T3 val3, @Nullable T4 val4) { + return new Quadruple<>(val1, val2, val3, val4); + } + @Contract(pure = true) @NotNull public static Tuple from(@NotNull Map.Entry entry) { Objects.requireNonNull(entry);