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);
}
}