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

garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git


The following commit(s) were added to refs/heads/master by this push:
     new 4c646f57c Add messages when throwing NullPointerException.
4c646f57c is described below

commit 4c646f57c3f931038040b5c6e1838347c1043010
Author: Gary Gregory <[email protected]>
AuthorDate: Wed Jul 22 11:03:14 2026 -0400

    Add messages when throwing NullPointerException.
---
 src/changes/changes.xml                            |  1 +
 .../collections4/iterators/TransformIterator.java  |  2 +-
 .../apache/commons/collections4/list/LazyList.java |  4 +-
 .../collections4/map/AbstractLinkedMap.java        |  2 +-
 .../map/ConcurrentReferenceHashMap.java            | 16 +++----
 .../collections4/map/PassiveExpiringMap.java       | 18 +++----
 .../collections4/properties/OrderedProperties.java |  2 +-
 .../collections4/properties/PropertiesFactory.java | 56 +++++++++++-----------
 .../bloomfilter/DefaultIndexExtractorTest.java     |  6 +--
 9 files changed, 52 insertions(+), 55 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 63e91eaa0..992147066 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -84,6 +84,7 @@
     <action type="fix" dev="ggregory" due-to="Naveed Khan, Gary 
Gregory">CollectionUtils.collate(Iterable, Iterable, Comparator, boolean) does 
not remove duplicate null elements when includeDuplicates is false 
(#715).</action>
     <action type="fix" dev="ggregory" due-to="Naveed Khan, Gary Gregory">Do 
not register a value collection until an add succeeds (#717).</action>
     <action type="fix" dev="ggregory" due-to="Naveed Khan, Gary 
Gregory">Increment modCount after the bounds check in TreeList add and remove 
(#716).</action>
+    <action type="fix" dev="ggregory" due-to="Gary Gregory">Add messages when 
throwing NullPointerException.</action>
     <!-- ADD -->
     <action type="add" dev="ggregory" due-to="Gary Gregory">Add generics to 
UnmodifiableIterator for the wrapped type.</action>
     <action type="add" dev="ggregory" due-to="Gary Gregory">Add a Maven 
benchmark profile for JMH.</action>
diff --git 
a/src/main/java/org/apache/commons/collections4/iterators/TransformIterator.java
 
b/src/main/java/org/apache/commons/collections4/iterators/TransformIterator.java
index 27f4bb9b5..8fa07d7e1 100644
--- 
a/src/main/java/org/apache/commons/collections4/iterators/TransformIterator.java
+++ 
b/src/main/java/org/apache/commons/collections4/iterators/TransformIterator.java
@@ -60,7 +60,7 @@ public class TransformIterator<I, O> implements Iterator<O> {
      * @param transformer The transformer to use, may be null to pass elements 
through unchanged
      */
     public TransformIterator(final Iterator<? extends I> iterator, final 
Transformer<? super I, ? extends O> transformer) {
-        this.iterator = Objects.requireNonNull(iterator);
+        this.iterator = Objects.requireNonNull(iterator, "iterator");
         this.transformer = transformer;
     }
 
diff --git a/src/main/java/org/apache/commons/collections4/list/LazyList.java 
b/src/main/java/org/apache/commons/collections4/list/LazyList.java
index e046b2c72..18a9a9866 100644
--- a/src/main/java/org/apache/commons/collections4/list/LazyList.java
+++ b/src/main/java/org/apache/commons/collections4/list/LazyList.java
@@ -113,7 +113,7 @@ public class LazyList<E> extends 
AbstractSerializableListDecorator<E> {
      */
     protected LazyList(final List<E> list, final Factory<? extends E> factory) 
{
         super(list);
-        this.factory = Objects.requireNonNull(factory);
+        this.factory = Objects.requireNonNull(factory, "factory");
         this.transformer = null;
     }
 
@@ -127,7 +127,7 @@ public class LazyList<E> extends 
AbstractSerializableListDecorator<E> {
     protected LazyList(final List<E> list, final Transformer<Integer, ? 
extends E> transformer) {
         super(list);
         this.factory = null;
-        this.transformer = Objects.requireNonNull(transformer);
+        this.transformer = Objects.requireNonNull(transformer, "transformer");
     }
 
     private E element(final int index) {
diff --git 
a/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java 
b/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java
index 4cd6c9a7c..d0b51024a 100644
--- a/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java
+++ b/src/main/java/org/apache/commons/collections4/map/AbstractLinkedMap.java
@@ -186,7 +186,7 @@ public abstract class AbstractLinkedMap<K, V> extends 
AbstractHashedMap<K, V> im
          * @param parent The parent AbstractLinkedMap.
          */
         protected LinkIterator(final AbstractLinkedMap<K, V> parent) {
-            this.parent = Objects.requireNonNull(parent);
+            this.parent = Objects.requireNonNull(parent, "parent");
             this.next = parent.header.after;
             this.expectedModCount = parent.modCount;
         }
diff --git 
a/src/main/java/org/apache/commons/collections4/map/ConcurrentReferenceHashMap.java
 
b/src/main/java/org/apache/commons/collections4/map/ConcurrentReferenceHashMap.java
index 7f83e7c43..5ada9a46a 100644
--- 
a/src/main/java/org/apache/commons/collections4/map/ConcurrentReferenceHashMap.java
+++ 
b/src/main/java/org/apache/commons/collections4/map/ConcurrentReferenceHashMap.java
@@ -1495,9 +1495,8 @@ public class ConcurrentReferenceHashMap<K, V> extends 
AbstractMap<K, V> implemen
 
     @Override
     public V compute(final K key, final BiFunction<? super K, ? super V, ? 
extends V> remappingFunction) {
-        Objects.requireNonNull(key);
-        Objects.requireNonNull(remappingFunction);
-
+        Objects.requireNonNull(key, "key");
+        Objects.requireNonNull(remappingFunction, "remappingFunction");
         final int hash = hashOf(key);
         final Segment<K, V> segment = segmentFor(hash);
         return segment.apply(key, hash, remappingFunction);
@@ -1523,9 +1522,8 @@ public class ConcurrentReferenceHashMap<K, V> extends 
AbstractMap<K, V> implemen
      */
     @Override
     public V computeIfAbsent(final K key, final Function<? super K, ? extends 
V> mappingFunction) {
-        Objects.requireNonNull(key);
-        Objects.requireNonNull(mappingFunction);
-
+        Objects.requireNonNull(key, "key");
+        Objects.requireNonNull(mappingFunction, "mappingFunction");
         final int hash = hashOf(key);
         final Segment<K, V> segment = segmentFor(hash);
         final V v = segment.get(key, hash);
@@ -1534,16 +1532,14 @@ public class ConcurrentReferenceHashMap<K, V> extends 
AbstractMap<K, V> implemen
 
     @Override
     public V computeIfPresent(final K key, final BiFunction<? super K, ? super 
V, ? extends V> remappingFunction) {
-        Objects.requireNonNull(key);
-        Objects.requireNonNull(remappingFunction);
-
+        Objects.requireNonNull(key, "key");
+        Objects.requireNonNull(remappingFunction, "remappingFunction");
         final int hash = hashOf(key);
         final Segment<K, V> segment = segmentFor(hash);
         final V v = segment.get(key, hash);
         if (v == null) {
             return null;
         }
-
         return segmentFor(hash).applyIfPresent(key, hash, remappingFunction);
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/map/PassiveExpiringMap.java 
b/src/main/java/org/apache/commons/collections4/map/PassiveExpiringMap.java
index efb28257a..55f2ef7a6 100644
--- a/src/main/java/org/apache/commons/collections4/map/PassiveExpiringMap.java
+++ b/src/main/java/org/apache/commons/collections4/map/PassiveExpiringMap.java
@@ -213,7 +213,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean removeAll(final Collection<?> coll) {
-            Objects.requireNonNull(coll);
+            Objects.requireNonNull(coll, "coll");
             boolean changed = false;
             if (size() > coll.size()) {
                 for (final Object obj : coll) {
@@ -233,7 +233,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean removeIf(final Predicate<? super Entry<K, V>> filter) {
-            Objects.requireNonNull(filter);
+            Objects.requireNonNull(filter, "filter");
             boolean changed = false;
             final Iterator<Entry<K, V>> it = iterator();
             while (it.hasNext()) {
@@ -247,7 +247,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean retainAll(final Collection<?> coll) {
-            Objects.requireNonNull(coll);
+            Objects.requireNonNull(coll, "coll");
             boolean changed = false;
             final Iterator<?> it = iterator();
             while (it.hasNext()) {
@@ -371,7 +371,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean removeAll(final Collection<?> coll) {
-            Objects.requireNonNull(coll);
+            Objects.requireNonNull(coll, "coll");
             boolean changed = false;
             if (size() > coll.size()) {
                 for (final Object obj : coll) {
@@ -391,7 +391,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean removeIf(final Predicate<? super K> filter) {
-            Objects.requireNonNull(filter);
+            Objects.requireNonNull(filter, "filter");
             boolean changed = false;
             final Iterator<K> it = iterator();
             while (it.hasNext()) {
@@ -405,7 +405,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean retainAll(final Collection<?> coll) {
-            Objects.requireNonNull(coll);
+            Objects.requireNonNull(coll, "coll");
             boolean changed = false;
             final Iterator<?> it = iterator();
             while (it.hasNext()) {
@@ -510,7 +510,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean removeAll(final Collection<?> coll) {
-            Objects.requireNonNull(coll);
+            Objects.requireNonNull(coll, "coll");
             boolean changed = false;
             final Iterator<?> it = iterator();
             while (it.hasNext()) {
@@ -524,7 +524,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean removeIf(final Predicate<? super V> filter) {
-            Objects.requireNonNull(filter);
+            Objects.requireNonNull(filter, "filter");
             boolean changed = false;
             final Iterator<V> it = iterator();
             while (it.hasNext()) {
@@ -538,7 +538,7 @@ public class PassiveExpiringMap<K, V>
 
         @Override
         public boolean retainAll(final Collection<?> coll) {
-            Objects.requireNonNull(coll);
+            Objects.requireNonNull(coll, "coll");
             boolean changed = false;
             final Iterator<?> it = iterator();
             while (it.hasNext()) {
diff --git 
a/src/main/java/org/apache/commons/collections4/properties/OrderedProperties.java
 
b/src/main/java/org/apache/commons/collections4/properties/OrderedProperties.java
index 4bd21c188..c6bd53d37 100644
--- 
a/src/main/java/org/apache/commons/collections4/properties/OrderedProperties.java
+++ 
b/src/main/java/org/apache/commons/collections4/properties/OrderedProperties.java
@@ -108,7 +108,7 @@ public class OrderedProperties extends Properties {
 
     @Override
     public synchronized void forEach(final BiConsumer<? super Object, ? super 
Object> action) {
-        Objects.requireNonNull(action);
+        Objects.requireNonNull(action, "action");
         orderedKeys.forEach(k -> action.accept(k, get(k)));
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/properties/PropertiesFactory.java
 
b/src/main/java/org/apache/commons/collections4/properties/PropertiesFactory.java
index a470e63db..e12192c66 100644
--- 
a/src/main/java/org/apache/commons/collections4/properties/PropertiesFactory.java
+++ 
b/src/main/java/org/apache/commons/collections4/properties/PropertiesFactory.java
@@ -53,21 +53,21 @@ public class PropertiesFactory extends 
AbstractPropertiesFactory<Properties> {
         @Override
         public synchronized Object compute(final Object key,
             final BiFunction<? super Object, ? super Object, ? extends Object> 
remappingFunction) {
-            Objects.requireNonNull(key);
+            Objects.requireNonNull(key, "key");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized Object computeIfAbsent(final Object key,
             final Function<? super Object, ? extends Object> mappingFunction) {
-            Objects.requireNonNull(key);
+            Objects.requireNonNull(key, "key");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized Object computeIfPresent(final Object key,
             final BiFunction<? super Object, ? super Object, ? extends Object> 
remappingFunction) {
-            Objects.requireNonNull(key);
+            Objects.requireNonNull(key, "key");
             throw new UnsupportedOperationException();
         }
 
@@ -103,7 +103,7 @@ public class PropertiesFactory extends 
AbstractPropertiesFactory<Properties> {
 
         @Override
         public synchronized void forEach(final BiConsumer<? super Object, ? 
super Object> action) {
-            Objects.requireNonNull(action);
+            Objects.requireNonNull(action, "action");
         }
 
         @Override
@@ -152,8 +152,8 @@ public class PropertiesFactory extends 
AbstractPropertiesFactory<Properties> {
          */
         @SuppressWarnings("resource")
         @Override
-        public synchronized void load(final InputStream inStream) throws 
IOException {
-            Objects.requireNonNull(inStream);
+        public synchronized void load(final InputStream inputStream) throws 
IOException {
+            Objects.requireNonNull(inputStream, "inputStream");
             throw new UnsupportedOperationException();
         }
 
@@ -164,7 +164,7 @@ public class PropertiesFactory extends 
AbstractPropertiesFactory<Properties> {
         @SuppressWarnings("resource")
         @Override
         public synchronized void load(final Reader reader) throws IOException {
-            Objects.requireNonNull(reader);
+            Objects.requireNonNull(reader, "reader");
             throw new UnsupportedOperationException();
         }
 
@@ -174,17 +174,17 @@ public class PropertiesFactory extends 
AbstractPropertiesFactory<Properties> {
          */
         @SuppressWarnings("resource")
         @Override
-        public synchronized void loadFromXML(final InputStream in)
+        public synchronized void loadFromXML(final InputStream inputStream)
             throws IOException, InvalidPropertiesFormatException {
-            Objects.requireNonNull(in);
+            Objects.requireNonNull(inputStream, "inputStream");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized Object merge(final Object key, final Object value,
             final BiFunction<? super Object, ? super Object, ? extends Object> 
remappingFunction) {
-            Objects.requireNonNull(key);
-            Objects.requireNonNull(value);
+            Objects.requireNonNull(key, "key");
+            Objects.requireNonNull(value, "value");
             throw new UnsupportedOperationException();
         }
 
@@ -195,21 +195,21 @@ public class PropertiesFactory extends 
AbstractPropertiesFactory<Properties> {
 
         @Override
         public synchronized Object put(final Object key, final Object value) {
-            Objects.requireNonNull(key);
-            Objects.requireNonNull(value);
+            Objects.requireNonNull(key, "key");
+            Objects.requireNonNull(value, "value");
             throw new UnsupportedOperationException();
         }
 
         @Override
-        public synchronized void putAll(final Map<? extends Object, ? extends 
Object> t) {
-            Objects.requireNonNull(t);
+        public synchronized void putAll(final Map<? extends Object, ? extends 
Object> map) {
+            Objects.requireNonNull(map, "map");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized Object putIfAbsent(final Object key, final Object 
value) {
-            Objects.requireNonNull(key);
-            Objects.requireNonNull(value);
+            Objects.requireNonNull(key, "key");
+            Objects.requireNonNull(value, "value");
             throw new UnsupportedOperationException();
         }
 
@@ -220,43 +220,43 @@ public class PropertiesFactory extends 
AbstractPropertiesFactory<Properties> {
 
         @Override
         public synchronized Object remove(final Object key) {
-            Objects.requireNonNull(key);
+            Objects.requireNonNull(key, "key");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized boolean remove(final Object key, final Object 
value) {
-            Objects.requireNonNull(key);
-            Objects.requireNonNull(value);
+            Objects.requireNonNull(key, "key");
+            Objects.requireNonNull(value, "value");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized Object replace(final Object key, final Object 
value) {
-            Objects.requireNonNull(key);
-            Objects.requireNonNull(value);
+            Objects.requireNonNull(key, "key");
+            Objects.requireNonNull(value, "value");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized boolean replace(final Object key, final Object 
oldValue, final Object newValue) {
-            Objects.requireNonNull(key);
-            Objects.requireNonNull(oldValue);
-            Objects.requireNonNull(newValue);
+            Objects.requireNonNull(key, "key");
+            Objects.requireNonNull(oldValue, "oldValue");
+            Objects.requireNonNull(newValue, "newValue");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized void replaceAll(
             final BiFunction<? super Object, ? super Object, ? extends Object> 
function) {
-            Objects.requireNonNull(function);
+            Objects.requireNonNull(function, "function");
             throw new UnsupportedOperationException();
         }
 
         @Override
         public synchronized Object setProperty(final String key, final String 
value) {
-            Objects.requireNonNull(key);
-            Objects.requireNonNull(value);
+            Objects.requireNonNull(key, "key");
+            Objects.requireNonNull(value, "value");
             throw new UnsupportedOperationException();
         }
 
diff --git 
a/src/test/java/org/apache/commons/collections4/bloomfilter/DefaultIndexExtractorTest.java
 
b/src/test/java/org/apache/commons/collections4/bloomfilter/DefaultIndexExtractorTest.java
index 203dec236..847fbd528 100644
--- 
a/src/test/java/org/apache/commons/collections4/bloomfilter/DefaultIndexExtractorTest.java
+++ 
b/src/test/java/org/apache/commons/collections4/bloomfilter/DefaultIndexExtractorTest.java
@@ -66,7 +66,7 @@ class DefaultIndexExtractorTest extends 
AbstractIndexExtractorTest {
     @Override
     protected IndexExtractor createEmptyExtractor() {
         return predicate -> {
-            Objects.requireNonNull(predicate);
+            Objects.requireNonNull(predicate, "predicate");
             return true;
         };
     }
@@ -74,7 +74,7 @@ class DefaultIndexExtractorTest extends 
AbstractIndexExtractorTest {
     @Override
     protected IndexExtractor createExtractor() {
         return predicate -> {
-            Objects.requireNonNull(predicate);
+            Objects.requireNonNull(predicate, "predicate");
             for (final int i : values) {
                 if (!predicate.test(i)) {
                     return false;
@@ -105,7 +105,7 @@ class DefaultIndexExtractorTest extends 
AbstractIndexExtractorTest {
     void testEntries(final int size) {
         final int[] values = IntStream.range(0, size).toArray();
         final IndexExtractor indexExtractor = predicate -> {
-            Objects.requireNonNull(predicate);
+            Objects.requireNonNull(predicate, "predicate");
             for (final int i : values) {
                 if (!predicate.test(i)) {
                     return false;

Reply via email to