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-dbcp.git

commit 7ccaa5abed5d3adb8036c7f53a4b6f2bb6eee004
Author: Gary D. Gregory <garydgreg...@gmail.com>
AuthorDate: Mon May 26 11:10:39 2025 -0400

    Add internal org.apache.commons.dbcp2.datasources.CharArray.clear()
---
 .../org/apache/commons/dbcp2/datasources/CharArray.java    | 14 +++++++++++++-
 .../apache/commons/dbcp2/datasources/CharArrayTest.java    |  8 ++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/commons/dbcp2/datasources/CharArray.java 
b/src/main/java/org/apache/commons/dbcp2/datasources/CharArray.java
index cd1d5c0c..480e9437 100644
--- a/src/main/java/org/apache/commons/dbcp2/datasources/CharArray.java
+++ b/src/main/java/org/apache/commons/dbcp2/datasources/CharArray.java
@@ -33,8 +33,8 @@ import org.apache.commons.dbcp2.Utils;
  */
 final class CharArray implements Serializable {
 
-    private static final long serialVersionUID = 1L;
     static final CharArray NULL = new CharArray((char[]) null);
+    private static final long serialVersionUID = 1L;
     private final char[] chars;
 
     CharArray(final char[] chars) {
@@ -54,6 +54,18 @@ final class CharArray implements Serializable {
         return Utils.toString(chars);
     }
 
+    /**
+     * Clears the content of the char array.
+     *
+     * @return {@code this} instance.
+     */
+    CharArray clear() {
+        if (chars != null) {
+            Arrays.fill(chars, '\0');
+        }
+        return this;
+    }
+
     @Override
     public boolean equals(final Object obj) {
         if (this == obj) {
diff --git 
a/src/test/java/org/apache/commons/dbcp2/datasources/CharArrayTest.java 
b/src/test/java/org/apache/commons/dbcp2/datasources/CharArrayTest.java
index c722d7f2..0db2d824 100644
--- a/src/test/java/org/apache/commons/dbcp2/datasources/CharArrayTest.java
+++ b/src/test/java/org/apache/commons/dbcp2/datasources/CharArrayTest.java
@@ -20,6 +20,7 @@ import static 
org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 import org.junit.jupiter.api.Test;
 
@@ -44,6 +45,13 @@ public class CharArrayTest {
         assertArrayEquals("foo".toCharArray(), new CharArray("foo").get());
     }
 
+    @Test
+    public void testClear() {
+        assertNull(new CharArray((String) null).clear().get());
+        assertArrayEquals("".toCharArray(), new CharArray("").clear().get());
+        assertArrayEquals("\0\0\0".toCharArray(), new 
CharArray("foo").clear().get());
+    }
+
     @Test
     public void testHashCode() {
         assertEquals(new CharArray("foo").hashCode(), new 
CharArray("foo").hashCode());

Reply via email to