From 48f12308260449079e8a70d031ababe58c320faf Mon Sep 17 00:00:00 2001 From: shaoxinke Date: Thu, 22 Aug 2024 14:16:48 +0800 Subject: [PATCH] feat: added boolean util --- .../com/onixbyte/devkit/utils/BoolUtil.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 devkit-utils/src/main/java/com/onixbyte/devkit/utils/BoolUtil.java diff --git a/devkit-utils/src/main/java/com/onixbyte/devkit/utils/BoolUtil.java b/devkit-utils/src/main/java/com/onixbyte/devkit/utils/BoolUtil.java new file mode 100644 index 0000000..bec5c2f --- /dev/null +++ b/devkit-utils/src/main/java/com/onixbyte/devkit/utils/BoolUtil.java @@ -0,0 +1,33 @@ +package com.onixbyte.devkit.utils; + +import java.util.Arrays; +import java.util.Objects; +import java.util.function.BooleanSupplier; + +public final class BoolUtil { + + public static boolean and(Boolean... values) { + return Arrays.stream(values) + .filter(Objects::nonNull) + .allMatch(Boolean::booleanValue); + } + + public static boolean and(BooleanSupplier... valueSuppliers) { + return Arrays.stream(valueSuppliers) + .filter(Objects::nonNull) + .allMatch(BooleanSupplier::getAsBoolean); + } + + public static boolean or(Boolean... valueSuppliers) { + return Arrays.stream(valueSuppliers) + .filter(Objects::nonNull) + .anyMatch(Boolean::booleanValue); + } + + public static boolean or(BooleanSupplier... valueSuppliers) { + return Arrays.stream(valueSuppliers) + .filter(Objects::nonNull) + .anyMatch(BooleanSupplier::getAsBoolean); + } + +}