This commit is contained in:
Gary Gregory 2023-08-29 08:45:42 -04:00
parent 9d3c2eda3e
commit c5c4194ae5
10 changed files with 52 additions and 2 deletions

View File

@ -332,6 +332,10 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class View.
*
* @param <K> the type of the keys in the map.
* @param <V> the type of the values in the map.
* @param <E> the type of the elements in the collection.
*/
protected abstract static class View<K, V, E> extends AbstractCollectionDecorator<E> {
@ -432,6 +436,8 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class KeySet.
*
* @param <K> the type of elements maintained by this set
*/
protected static class KeySet<K> extends View<K, Object, K> implements Set<K> {
@ -471,6 +477,8 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class KeySetIterator.
*
* @param <K> the key type.
*/
protected static class KeySetIterator<K> extends AbstractIteratorDecorator<K> {
@ -515,6 +523,8 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class Values.
*
* @param <V> the type of the values.
*/
protected static class Values<V> extends View<Object, V, V> implements Set<V> {
@ -554,6 +564,8 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class ValuesIterator.
*
* @param <V> the value type.
*/
protected static class ValuesIterator<V> extends AbstractIteratorDecorator<V> {
@ -598,6 +610,9 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class EntrySet.
*
* @param <K> the type of the keys.
* @param <V> the type of the values.
*/
protected static class EntrySet<K, V> extends View<K, V, Map.Entry<K, V>> implements Set<Map.Entry<K, V>> {
@ -639,6 +654,9 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class EntrySetIterator.
*
* @param <K> the type of the keys.
* @param <V> the type of the values.
*/
protected static class EntrySetIterator<K, V> extends AbstractIteratorDecorator<Map.Entry<K, V>> {
@ -684,6 +702,9 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class MapEntry.
*
* @param <K> the type of the keys.
* @param <V> the type of the values.
*/
protected static class MapEntry<K, V> extends AbstractMapEntryDecorator<K, V> {
@ -715,6 +736,9 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
/**
* Inner class MapIterator.
*
* @param <K> the type of the keys.
* @param <V> the type of the values.
*/
protected static class BidiMapIterator<K, V> implements MapIterator<K, V>, ResettableIterator<K> {

View File

@ -231,6 +231,9 @@ public class DualTreeBidiMap<K, V> extends AbstractDualBidiMap<K, V>
/**
* Internal sorted map view.
*
* @param <K> the type of the keys.
* @param <V> the type of the values.
*/
protected static class ViewMap<K, V> extends AbstractSortedMapDecorator<K, V> {
/**
@ -293,6 +296,9 @@ public class DualTreeBidiMap<K, V> extends AbstractDualBidiMap<K, V>
/**
* Inner class MapIterator.
*
* @param <K> the type of the keys.
* @param <V> the type of the values.
*/
protected static class BidiOrderedMapIterator<K, V> implements OrderedMapIterator<K, V>, ResettableIterator<K> {

View File

@ -22,7 +22,9 @@ import java.util.Iterator;
* Provides basic behavior for decorating an iterator with extra functionality.
* <p>
* All methods are forwarded to the decorated iterator.
* </p>
*
* @param <E> the type of the iterator being decorated.
* @since 3.0
*/
public abstract class AbstractIteratorDecorator<E> extends AbstractUntypedIteratorDecorator<E, E> {

View File

@ -23,7 +23,9 @@ import java.util.Objects;
* Provides basic behavior for decorating a list iterator with extra functionality.
* <p>
* All methods are forwarded to the decorated list iterator.
* </p>
*
* @param <E> the type of elements in this iterator.
* @since 3.0
*/
public class AbstractListIteratorDecorator<E> implements ListIterator<E> {

View File

@ -20,10 +20,13 @@ import java.util.Iterator;
import java.util.Objects;
/**
* Provides basic behavior for decorating an iterator with extra functionality
* without committing the generic type of the Iterator implementation.
* Provides basic behavior for decorating an iterator with extra functionality without committing the generic type of the Iterator implementation.
* <p>
* All methods are forwarded to the decorated iterator.
* </p>
*
* @param <I> the type of the iterator being decorated.
* @param <O> the type of elements returned by this iterator.
*
* @since 4.0
*/

View File

@ -46,6 +46,7 @@ import java.util.Queue;
* removed and {@link #size()} will return the number of remaining iterators in
* the queue.
*
* @param <E> the type of elements in this iterator.
* @since 2.1
*/
public class IteratorChain<E> implements Iterator<E> {

View File

@ -43,6 +43,7 @@ import java.util.Iterator;
* NOTE: The LazyIteratorChain may contain no iterators. In this case the class will
* function as an empty iterator.
*
* @param <E> the type of elements in this iterator.
* @since 4.0
*/
public abstract class LazyIteratorChain<E> implements Iterator<E> {

View File

@ -43,6 +43,7 @@ import org.apache.commons.collections4.ResettableListIterator;
* <p>
* This class implements ResettableListIterator from Commons Collections 3.2.
*
* @param <E> the type of elements in this iterator.
* @since 2.1
*/
public class ListIteratorWrapper<E> implements ResettableListIterator<E> {

View File

@ -41,6 +41,7 @@ import org.apache.commons.collections4.OrderedIterator;
* is here.
* </p>
*
* @param <E> the type of elements in this list
* @since 3.0
*/
public abstract class AbstractLinkedList<E> implements List<E> {
@ -745,6 +746,8 @@ public abstract class AbstractLinkedList<E> implements List<E> {
/**
* A list iterator over the linked list.
*
* @param <E> the type of elements in this iterator.
*/
protected static class LinkedListIterator<E> implements ListIterator<E>, OrderedIterator<E> {
@ -904,6 +907,8 @@ public abstract class AbstractLinkedList<E> implements List<E> {
/**
* A list iterator over the linked sub list.
*
* @param <E> the type of elements in this iterator.
*/
protected static class LinkedSubListIterator<E> extends LinkedListIterator<E> {
@ -947,6 +952,8 @@ public abstract class AbstractLinkedList<E> implements List<E> {
/**
* The sublist implementation for AbstractLinkedList.
*
* @param <E> the type of elements in this list.
*/
protected static class LinkedSubList<E> extends AbstractList<E> {
/** The main list */

View File

@ -392,6 +392,8 @@ public class CursorableLinkedList<E> extends AbstractLinkedList<E> implements Se
/**
* An extended {@code ListIterator} that allows concurrent changes to
* the underlying list.
*
* @param <E> the type of elements in this cursor.
*/
public static class Cursor<E> extends AbstractLinkedList.LinkedListIterator<E> {
/** Is the cursor valid (not closed) */
@ -562,6 +564,7 @@ public class CursorableLinkedList<E> extends AbstractLinkedList<E> implements Se
/**
* A cursor for the sublist based on LinkedSubListIterator.
*
* @param <E> the type of elements in this cursor.
* @since 3.2
*/
protected static class SubCursor<E> extends Cursor<E> {