LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.

Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/ad648cf8
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/ad648cf8
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/ad648cf8

Branch: refs/heads/release
Commit: ad648cf8a8a90bdee129266ca7b686a5b9a87561
Parents: 21bab1d
Author: Benedikt Ritter <brit...@apache.org>
Authored: Wed Jun 7 09:54:34 2017 +0200
Committer: Benedikt Ritter <brit...@apache.org>
Committed: Wed Jun 7 09:59:12 2017 +0200

----------------------------------------------------------------------
 src/changes/changes.xml                                   |  1 +
 src/main/java/org/apache/commons/lang3/CharUtils.java     |  6 ++++++
 src/main/java/org/apache/commons/lang3/StringUtils.java   |  6 +++---
 .../java/org/apache/commons/lang3/text/StrBuilder.java    |  3 ++-
 .../java/org/apache/commons/lang3/StringUtilsTest.java    | 10 +++++-----
 5 files changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-lang/blob/ad648cf8/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 4496b9b..b005ab6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -46,6 +46,7 @@ The <action> type attribute can be add,update,fix,remove.
   <body>
 
   <release version="3.6" date="2017-MM-DD" description="TBD">
+    <action issue="LANG-1336" type="add" dev="britter" due-to="Beluga 
Behr">Add NUL Byte To CharUtils</action>
     <action issue="LANG-1337" type="fix" dev="kinow">Fix test failures in IBM 
JDK 8 for ToStringBuilderTest</action>
     <action issue="LANG-1304" type="add" dev="pschumacher" due-to="Andy 
Klimczak">Add method in StringUtils to determine if string contains both mixed 
cased characters</action>
     <action issue="LANG-1334" type="update" dev="djones">Deprecate 
CharEncoding in favour of java.nio.charset.StandardCharsets</action>

http://git-wip-us.apache.org/repos/asf/commons-lang/blob/ad648cf8/src/main/java/org/apache/commons/lang3/CharUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/CharUtils.java 
b/src/main/java/org/apache/commons/lang3/CharUtils.java
index f697c08..51b347a 100644
--- a/src/main/java/org/apache/commons/lang3/CharUtils.java
+++ b/src/main/java/org/apache/commons/lang3/CharUtils.java
@@ -50,6 +50,12 @@ public class CharUtils {
      */
     public static final char CR = '\r';
 
+    /**
+     * {@code \u0000} null control character ('\0'), abbreviated NUL.
+     *
+     * @since 3.6
+     */
+    public static final char NUL = '\0';
 
     static {
         for (char c = 0; c < CHAR_STRING_ARRAY.length; c++) {

http://git-wip-us.apache.org/repos/asf/commons-lang/blob/ad648cf8/src/main/java/org/apache/commons/lang3/StringUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/StringUtils.java 
b/src/main/java/org/apache/commons/lang3/StringUtils.java
index f98433a..97a073f 100644
--- a/src/main/java/org/apache/commons/lang3/StringUtils.java
+++ b/src/main/java/org/apache/commons/lang3/StringUtils.java
@@ -9009,7 +9009,7 @@ public class StringUtils {
      */
     public static String wrap(final String str, final char wrapWith) {
 
-        if (isEmpty(str) || wrapWith == '\0') {
+        if (isEmpty(str) || wrapWith == CharUtils.NUL) {
             return str;
         }
 
@@ -9080,7 +9080,7 @@ public class StringUtils {
      * @since 3.5
      */
     public static String wrapIfMissing(final String str, final char wrapWith) {
-        if (isEmpty(str) || wrapWith == '\0') {
+        if (isEmpty(str) || wrapWith == CharUtils.NUL) {
             return str;
         }
         final StringBuilder builder = new StringBuilder(str.length() + 2);
@@ -9205,7 +9205,7 @@ public class StringUtils {
      * @since 3.6
      */
     public static String unwrap(final String str, final char wrapChar) {
-        if (isEmpty(str) || wrapChar == '\0') {
+        if (isEmpty(str) || wrapChar == CharUtils.NUL) {
             return str;
         }
 

http://git-wip-us.apache.org/repos/asf/commons-lang/blob/ad648cf8/src/main/java/org/apache/commons/lang3/text/StrBuilder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/text/StrBuilder.java 
b/src/main/java/org/apache/commons/lang3/text/StrBuilder.java
index 4e69cd5..cf42495 100644
--- a/src/main/java/org/apache/commons/lang3/text/StrBuilder.java
+++ b/src/main/java/org/apache/commons/lang3/text/StrBuilder.java
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Objects;
 
 import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.CharUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.builder.Builder;
 
@@ -213,7 +214,7 @@ public class StrBuilder implements CharSequence, 
Appendable, Serializable, Build
             final int newEnd = length;
             size = length;
             for (int i = oldEnd; i < newEnd; i++) {
-                buffer[i] = '\0';
+                buffer[i] = CharUtils.NUL;
             }
         }
         return this;

http://git-wip-us.apache.org/repos/asf/commons-lang/blob/ad648cf8/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsTest.java 
b/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
index aa9ec73..615030e 100644
--- a/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
@@ -3106,10 +3106,10 @@ public class StringUtilsTest {
 
     @Test
     public void testWrap_StringChar() {
-        assertNull(StringUtils.wrap(null, '\0'));
+        assertNull(StringUtils.wrap(null, CharUtils.NUL));
         assertNull(StringUtils.wrap(null, '1'));
 
-        assertEquals("", StringUtils.wrap("", '\0'));
+        assertEquals("", StringUtils.wrap("", CharUtils.NUL));
         assertEquals("xabx", StringUtils.wrap("ab", 'x'));
         assertEquals("\"ab\"", StringUtils.wrap("ab", '\"'));
         assertEquals("\"\"ab\"\"", StringUtils.wrap("\"ab\"", '\"'));
@@ -3121,10 +3121,10 @@ public class StringUtilsTest {
 
     @Test
     public void testWrapIfMissing_StringChar() {
-        assertNull(StringUtils.wrapIfMissing(null, '\0'));
+        assertNull(StringUtils.wrapIfMissing(null, CharUtils.NUL));
         assertNull(StringUtils.wrapIfMissing(null, '1'));
 
-        assertEquals("", StringUtils.wrapIfMissing("", '\0'));
+        assertEquals("", StringUtils.wrapIfMissing("", CharUtils.NUL));
         assertEquals("xabx", StringUtils.wrapIfMissing("ab", 'x'));
         assertEquals("\"ab\"", StringUtils.wrapIfMissing("ab", '\"'));
         assertEquals("\"ab\"", StringUtils.wrapIfMissing("\"ab\"", '\"'));
@@ -3202,7 +3202,7 @@ public class StringUtilsTest {
     @Test
     public void testUnwrap_StringChar() {
         assertNull(StringUtils.unwrap(null, null));
-        assertNull(StringUtils.unwrap(null, '\0'));
+        assertNull(StringUtils.unwrap(null, CharUtils.NUL));
         assertNull(StringUtils.unwrap(null, '1'));
 
         assertEquals("abc", StringUtils.unwrap("abc", null));

Reply via email to