You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/09/22 12:24:32 UTC

[commons-lang] 01/02: Refactor duplicate pattern

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit 756daad879966b8789efb859993a6a2f2720d29a
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Thu Sep 22 08:23:51 2022 -0400

    Refactor duplicate pattern
---
 .../java/org/apache/commons/lang3/Validate.java     | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/Validate.java b/src/main/java/org/apache/commons/lang3/Validate.java
index 662d0b0cc..a4739eee3 100644
--- a/src/main/java/org/apache/commons/lang3/Validate.java
+++ b/src/main/java/org/apache/commons/lang3/Validate.java
@@ -20,6 +20,7 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Objects;
+import java.util.function.Supplier;
 import java.util.regex.Pattern;
 
 /**
@@ -216,7 +217,11 @@ public class Validate {
      * @see Objects#requireNonNull(Object)
      */
     public static <T> T notNull(final T object, final String message, final Object... values) {
-        return Objects.requireNonNull(object, () -> getMessage(message, values));
+        return Objects.requireNonNull(object, toSupplier(message, values));
+    }
+
+    private static Supplier<String> toSupplier(final String message, final Object... values) {
+        return () -> getMessage(message, values);
     }
 
     /**
@@ -236,7 +241,7 @@ public class Validate {
      * @see #notEmpty(Object[])
      */
     public static <T> T[] notEmpty(final T[] array, final String message, final Object... values) {
-        Objects.requireNonNull(array, () -> getMessage(message, values));
+        Objects.requireNonNull(array, toSupplier(message, values));
         if (array.length == 0) {
             throw new IllegalArgumentException(getMessage(message, values));
         }
@@ -280,7 +285,7 @@ public class Validate {
      * @see #notEmpty(Object[])
      */
     public static <T extends Collection<?>> T notEmpty(final T collection, final String message, final Object... values) {
-        Objects.requireNonNull(collection, () -> getMessage(message, values));
+        Objects.requireNonNull(collection, toSupplier(message, values));
         if (collection.isEmpty()) {
             throw new IllegalArgumentException(getMessage(message, values));
         }
@@ -324,7 +329,7 @@ public class Validate {
      * @see #notEmpty(Object[])
      */
     public static <T extends Map<?, ?>> T notEmpty(final T map, final String message, final Object... values) {
-        Objects.requireNonNull(map, () -> getMessage(message, values));
+        Objects.requireNonNull(map, toSupplier(message, values));
         if (map.isEmpty()) {
             throw new IllegalArgumentException(getMessage(message, values));
         }
@@ -368,7 +373,7 @@ public class Validate {
      * @see #notEmpty(CharSequence)
      */
     public static <T extends CharSequence> T notEmpty(final T chars, final String message, final Object... values) {
-        Objects.requireNonNull(chars, () -> getMessage(message, values));
+        Objects.requireNonNull(chars, toSupplier(message, values));
         if (chars.length() == 0) {
             throw new IllegalArgumentException(getMessage(message, values));
         }
@@ -416,7 +421,7 @@ public class Validate {
      * @since 3.0
      */
     public static <T extends CharSequence> T notBlank(final T chars, final String message, final Object... values) {
-        Objects.requireNonNull(chars, () -> getMessage(message, values));
+        Objects.requireNonNull(chars, toSupplier(message, values));
         if (StringUtils.isBlank(chars)) {
             throw new IllegalArgumentException(getMessage(message, values));
         }
@@ -1269,7 +1274,7 @@ public class Validate {
     }
 
     /**
-     * Get the message using {@link String#format(String, Object...) String.format(message, values)}
+     * Gets the message using {@link String#format(String, Object...) String.format(message, values)}
      * if the values are not empty, otherwise return the message unformatted.
      * This method exists to allow validation methods declaring a String message and varargs parameters
      * to be used without any message parameters when the message contains special characters,
@@ -1281,6 +1286,6 @@ public class Validate {
      * if the values are not empty, otherwise return the unformatted message.
      */
     private static String getMessage(final String message, final Object... values) {
-        return values.length == 0 ? message : String.format(message, values);
+        return ArrayUtils.isEmpty(values) ? message : String.format(message, values);
     }
 }