From d5cdd4e5e1551872df2155c9e0fbc15a71bf4681 Mon Sep 17 00:00:00 2001 From: Bindul Bhowmik Date: Tue, 29 Dec 2020 13:31:59 -0700 Subject: [PATCH] Eat your own dog food for LANG-1634 Update a few existing classes to use ObjectUtils#acceptIfNonNull(Object, Consumer) --- .../org/apache/commons/lang3/StringUtils.java | 36 +++++-------------- .../builder/ReflectionToStringBuilder.java | 5 ++- .../lang3/concurrent/BasicThreadFactory.java | 13 +++---- 3 files changed, 15 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/apache/commons/lang3/StringUtils.java b/src/main/java/org/apache/commons/lang3/StringUtils.java index a35b0022ed0..2bfe0597842 100644 --- a/src/main/java/org/apache/commons/lang3/StringUtils.java +++ b/src/main/java/org/apache/commons/lang3/StringUtils.java @@ -4330,16 +4330,12 @@ public static String join(final Iterator iterator, final char separator) { // two or more elements final StringBuilder buf = new StringBuilder(STRING_BUILDER_SIZE); // Java default is 16, probably too small - if (first != null) { - buf.append(first); - } + ObjectUtils.acceptIfNonNull(first, buf::append); while (iterator.hasNext()) { buf.append(separator); final Object obj = iterator.next(); - if (obj != null) { - buf.append(obj); - } + ObjectUtils.acceptIfNonNull(obj, buf::append); } return buf.toString(); @@ -4374,18 +4370,12 @@ public static String join(final Iterator iterator, final String separator) { // two or more elements final StringBuilder buf = new StringBuilder(STRING_BUILDER_SIZE); // Java default is 16, probably too small - if (first != null) { - buf.append(first); - } + ObjectUtils.acceptIfNonNull(first, buf::append); while (iterator.hasNext()) { - if (separator != null) { - buf.append(separator); - } + ObjectUtils.acceptIfNonNull(separator, buf::append); final Object obj = iterator.next(); - if (obj != null) { - buf.append(obj); - } + ObjectUtils.acceptIfNonNull(obj, buf::append); } return buf.toString(); } @@ -4611,14 +4601,10 @@ public static String join(final Object[] array, final char separator, final int return EMPTY; } final StringBuilder buf = newStringBuilder(noOfItems); - if (array[startIndex] != null) { - buf.append(array[startIndex]); - } + ObjectUtils.acceptIfNonNull(array[startIndex], buf::append); for (int i = startIndex + 1; i < endIndex; i++) { buf.append(separator); - if (array[i] != null) { - buf.append(array[i]); - } + ObjectUtils.acceptIfNonNull(array[i], buf::append); } return buf.toString(); } @@ -4705,16 +4691,12 @@ public static String join(final Object[] array, String separator, final int star final StringBuilder buf = newStringBuilder(noOfItems); - if (array[startIndex] != null) { - buf.append(array[startIndex]); - } + ObjectUtils.acceptIfNonNull(array[startIndex], buf::append); for (int i = startIndex + 1; i < endIndex; i++) { buf.append(separator); - if (array[i] != null) { - buf.append(array[i]); - } + ObjectUtils.acceptIfNonNull(array[i], buf::append); } return buf.toString(); } diff --git a/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java b/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java index 63ad959d181..c34829a17f5 100644 --- a/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java +++ b/src/main/java/org/apache/commons/lang3/builder/ReflectionToStringBuilder.java @@ -29,6 +29,7 @@ import org.apache.commons.lang3.ArraySorter; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ClassUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.Validate; /** @@ -413,9 +414,7 @@ static String[] toNoNullStringArray(final Collection collection) { static String[] toNoNullStringArray(final Object[] array) { final List list = new ArrayList<>(array.length); for (final Object e : array) { - if (e != null) { - list.add(e.toString()); - } + ObjectUtils.acceptIfNonNull(e, o -> list.add(e.toString())); } return list.toArray(ArrayUtils.EMPTY_STRING_ARRAY); } diff --git a/src/main/java/org/apache/commons/lang3/concurrent/BasicThreadFactory.java b/src/main/java/org/apache/commons/lang3/concurrent/BasicThreadFactory.java index 631f2e4653a..0422e7e95c5 100644 --- a/src/main/java/org/apache/commons/lang3/concurrent/BasicThreadFactory.java +++ b/src/main/java/org/apache/commons/lang3/concurrent/BasicThreadFactory.java @@ -20,6 +20,7 @@ import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicLong; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.Validate; /** @@ -224,17 +225,11 @@ private void initializeThread(final Thread thread) { thread.setName(String.format(getNamingPattern(), count)); } - if (getUncaughtExceptionHandler() != null) { - thread.setUncaughtExceptionHandler(getUncaughtExceptionHandler()); - } + ObjectUtils.acceptIfNonNull(getUncaughtExceptionHandler(), thread::setUncaughtExceptionHandler); - if (getPriority() != null) { - thread.setPriority(getPriority().intValue()); - } + ObjectUtils.acceptIfNonNull(getPriority(), p -> thread.setPriority(p.intValue())); - if (getDaemonFlag() != null) { - thread.setDaemon(getDaemonFlag().booleanValue()); - } + ObjectUtils.acceptIfNonNull(getDaemonFlag(), d -> thread.setDaemon(d.booleanValue())); } /**