You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/05/31 18:58:11 UTC

[camel] branch main updated: (chores) camel-util: resolves emptyness check in compile time

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

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new bea7394ecd9 (chores) camel-util: resolves emptyness check in compile time
bea7394ecd9 is described below

commit bea7394ecd9ec32a6f86c82903f3b077ef77665e
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Tue May 31 13:28:32 2022 +0200

    (chores) camel-util: resolves emptyness check in compile time
---
 .../org/apache/camel/util/ObjectHelperTest.java    |  4 +-
 .../java/org/apache/camel/util/ObjectHelper.java   | 70 ++++++++++++++++++++--
 2 files changed, 67 insertions(+), 7 deletions(-)

diff --git a/core/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java b/core/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java
index 54b2089c8b6..382db0374ab 100644
--- a/core/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java
@@ -564,7 +564,7 @@ public class ObjectHelperTest {
 
     @Test
     public void testIsEmpty() {
-        assertTrue(org.apache.camel.util.ObjectHelper.isEmpty(null));
+        assertTrue(org.apache.camel.util.ObjectHelper.isEmpty((Object) null));
         assertTrue(org.apache.camel.util.ObjectHelper.isEmpty(""));
         assertTrue(org.apache.camel.util.ObjectHelper.isEmpty(" "));
         assertFalse(org.apache.camel.util.ObjectHelper.isEmpty("A"));
@@ -575,7 +575,7 @@ public class ObjectHelperTest {
 
     @Test
     public void testIsNotEmpty() {
-        assertFalse(org.apache.camel.util.ObjectHelper.isNotEmpty(null));
+        assertFalse(org.apache.camel.util.ObjectHelper.isNotEmpty((Object) null));
         assertFalse(org.apache.camel.util.ObjectHelper.isNotEmpty(""));
         assertFalse(org.apache.camel.util.ObjectHelper.isNotEmpty(" "));
         assertTrue(org.apache.camel.util.ObjectHelper.isNotEmpty("A"));
diff --git a/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java b/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
index 10f7feb6203..261addc0bc2 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java
@@ -185,15 +185,45 @@ public final class ObjectHelper {
      * @param  value the value, if its a String it will be tested for text length as well
      * @return       true if empty
      */
-    public static boolean isEmpty(Object value) {
+    public static boolean isEmpty(String value) {
+        return value == null || value.trim().isEmpty();
+    }
+
+    /**
+     * Tests whether the value is <tt>null</tt> or an an empty collection
+     *
+     * @param  value the value to test
+     * @return       true if empty
+     */
+    public static boolean isEmpty(Collection<?> value) {
+        return value == null || value.isEmpty();
+    }
+
+    /**
+     * Tests whether the value is <tt>null</tt> or an an empty map
+     *
+     * @param  value the value to test
+     * @return       true if empty
+     */
+    public static boolean isEmpty(Map<?, ?> value) {
+        return value == null || value.isEmpty();
+    }
+
+    /**
+     * Tests whether the value is <tt>null</tt>, an empty string or an empty collection/map.
+     *
+     * @param  value the value, if its a String it will be tested for text length as well
+     * @return       true if empty
+     */
+    public static <T> boolean isEmpty(T value) {
         if (value == null) {
             return true;
         } else if (value instanceof String) {
-            return ((String) value).trim().isEmpty();
+            return isEmpty((String) value);
         } else if (value instanceof Collection) {
-            return ((Collection<?>) value).isEmpty();
+            return isEmpty((Collection<?>) value);
         } else if (value instanceof Map) {
-            return ((Map<?, ?>) value).isEmpty();
+            return isEmpty((Map<?, ?>) value);
         } else {
             return false;
         }
@@ -205,7 +235,37 @@ public final class ObjectHelper {
      * @param  value the value, if its a String it will be tested for text length as well
      * @return       true if <b>not</b> empty
      */
-    public static boolean isNotEmpty(Object value) {
+    public static <T> boolean isNotEmpty(T value) {
+        return !isEmpty(value);
+    }
+
+    /**
+     * Tests whether the value is <b>not</b> <tt>null</tt> or an empty string
+     *
+     * @param  value the value, if its a String it will be tested for text length as well
+     * @return       true if <b>not</b> empty
+     */
+    public static boolean isNotEmpty(String value) {
+        return !isEmpty(value);
+    }
+
+    /**
+     * Tests whether the value is <tt>null</tt> or an an empty collection
+     *
+     * @param  value the value to test
+     * @return       true if empty
+     */
+    public static boolean isNotEmpty(Collection<?> value) {
+        return !isEmpty(value);
+    }
+
+    /**
+     * Tests whether the value is <tt>null</tt> or an an empty map
+     *
+     * @param  value the value to test
+     * @return       true if empty
+     */
+    public static boolean isNotEmpty(Map<?, ?> value) {
         return !isEmpty(value);
     }