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-collections.git
commit d9d6f2098ab3cbaba538de9e6e0b4513d27d9b22 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sun Jun 23 08:07:48 2024 -0400 Package private AbstractEmptyIterator implements ResettableIterator so subclasses don't --- src/changes/changes.xml | 3 ++- .../commons/collections4/iterators/AbstractEmptyIterator.java | 10 ++++++++-- .../apache/commons/collections4/iterators/EmptyIterator.java | 2 +- .../commons/collections4/iterators/EmptyMapIterator.java | 3 +-- .../commons/collections4/iterators/EmptyOrderedIterator.java | 3 +-- .../collections4/iterators/EmptyOrderedMapIterator.java | 3 +-- 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 6cd97b55a..a1da89db0 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -24,7 +24,8 @@ <body> <release version="4.5.0-M3" date="YYYY-MM-DD" description="This is a feature and maintenance release. Java 8 or later is required."> <!-- FIX --> - <action issue="COLLECTIONS-857" type="fix" dev="ggregory" due-to="Claude Warren">Complete bloom filter documentation #507.</action> + <action issue="COLLECTIONS-857" type="fix" dev="ggregory" due-to="Claude Warren">Complete bloom filter documentation #507.</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Package private AbstractEmptyIterator implements ResettableIterator so subclasses don't.</action> <!-- ADD --> <!-- UPDATE --> </release> diff --git a/src/main/java/org/apache/commons/collections4/iterators/AbstractEmptyIterator.java b/src/main/java/org/apache/commons/collections4/iterators/AbstractEmptyIterator.java index 857394277..383dcb775 100644 --- a/src/main/java/org/apache/commons/collections4/iterators/AbstractEmptyIterator.java +++ b/src/main/java/org/apache/commons/collections4/iterators/AbstractEmptyIterator.java @@ -18,12 +18,14 @@ package org.apache.commons.collections4.iterators; import java.util.NoSuchElementException; +import org.apache.commons.collections4.ResettableIterator; + /** - * Provides an implementation of an empty iterator. + * Provides an abstract implementation of an empty iterator. * * @since 3.1 */ -abstract class AbstractEmptyIterator<E> { +abstract class AbstractEmptyIterator<E> implements ResettableIterator<E> { /** * Constructs a new instance. @@ -35,6 +37,7 @@ abstract class AbstractEmptyIterator<E> { throw new UnsupportedOperationException("add() not supported for empty Iterator"); } + @Override public boolean hasNext() { return false; } @@ -43,6 +46,7 @@ abstract class AbstractEmptyIterator<E> { return false; } + @Override public E next() { throw new NoSuchElementException("Iterator contains no elements"); } @@ -59,10 +63,12 @@ abstract class AbstractEmptyIterator<E> { return -1; } + @Override public void remove() { throw new IllegalStateException("Iterator contains no elements"); } + @Override public void reset() { // do nothing } diff --git a/src/main/java/org/apache/commons/collections4/iterators/EmptyIterator.java b/src/main/java/org/apache/commons/collections4/iterators/EmptyIterator.java index e75752fbc..77228f790 100644 --- a/src/main/java/org/apache/commons/collections4/iterators/EmptyIterator.java +++ b/src/main/java/org/apache/commons/collections4/iterators/EmptyIterator.java @@ -30,7 +30,7 @@ import org.apache.commons.collections4.ResettableIterator; * @param <E> the type of elements returned by this iterator. * @since 2.1.1 and 3.1 */ -public class EmptyIterator<E> extends AbstractEmptyIterator<E> implements ResettableIterator<E> { +public class EmptyIterator<E> extends AbstractEmptyIterator<E> { /** * Singleton instance of the iterator. diff --git a/src/main/java/org/apache/commons/collections4/iterators/EmptyMapIterator.java b/src/main/java/org/apache/commons/collections4/iterators/EmptyMapIterator.java index 44b3354e8..3a6d78e6c 100644 --- a/src/main/java/org/apache/commons/collections4/iterators/EmptyMapIterator.java +++ b/src/main/java/org/apache/commons/collections4/iterators/EmptyMapIterator.java @@ -17,7 +17,6 @@ package org.apache.commons.collections4.iterators; import org.apache.commons.collections4.MapIterator; -import org.apache.commons.collections4.ResettableIterator; /** * Provides an implementation of an empty map iterator. @@ -27,7 +26,7 @@ import org.apache.commons.collections4.ResettableIterator; * @since 3.1 */ public class EmptyMapIterator<K, V> extends AbstractEmptyMapIterator<K, V> implements - MapIterator<K, V>, ResettableIterator<K> { + MapIterator<K, V> { /** * Singleton instance of the iterator. diff --git a/src/main/java/org/apache/commons/collections4/iterators/EmptyOrderedIterator.java b/src/main/java/org/apache/commons/collections4/iterators/EmptyOrderedIterator.java index f4982f76d..066b3c74d 100644 --- a/src/main/java/org/apache/commons/collections4/iterators/EmptyOrderedIterator.java +++ b/src/main/java/org/apache/commons/collections4/iterators/EmptyOrderedIterator.java @@ -17,7 +17,6 @@ package org.apache.commons.collections4.iterators; import org.apache.commons.collections4.OrderedIterator; -import org.apache.commons.collections4.ResettableIterator; /** * Provides an implementation of an empty ordered iterator. @@ -26,7 +25,7 @@ import org.apache.commons.collections4.ResettableIterator; * @since 3.1 */ public class EmptyOrderedIterator<E> extends AbstractEmptyIterator<E> - implements OrderedIterator<E>, ResettableIterator<E> { + implements OrderedIterator<E> { /** * Singleton instance of the iterator. diff --git a/src/main/java/org/apache/commons/collections4/iterators/EmptyOrderedMapIterator.java b/src/main/java/org/apache/commons/collections4/iterators/EmptyOrderedMapIterator.java index e70ce6758..6c3ba3f4d 100644 --- a/src/main/java/org/apache/commons/collections4/iterators/EmptyOrderedMapIterator.java +++ b/src/main/java/org/apache/commons/collections4/iterators/EmptyOrderedMapIterator.java @@ -17,7 +17,6 @@ package org.apache.commons.collections4.iterators; import org.apache.commons.collections4.OrderedMapIterator; -import org.apache.commons.collections4.ResettableIterator; /** * Provides an implementation of an empty ordered map iterator. @@ -27,7 +26,7 @@ import org.apache.commons.collections4.ResettableIterator; * @since 3.1 */ public class EmptyOrderedMapIterator<K, V> extends AbstractEmptyMapIterator<K, V> - implements OrderedMapIterator<K, V>, ResettableIterator<K> { + implements OrderedMapIterator<K, V> { /** * Singleton instance of the iterator.