This commit is contained in:
Gary Gregory 2024-07-12 10:40:41 -04:00
parent 53e58ad41b
commit 29b780d9e4
24 changed files with 49 additions and 18 deletions

View File

@ -404,6 +404,9 @@ public abstract class AbstractLinkedListForJava21<E> implements List<E> {
* <p>
* From Commons Collections 3.1, all access to the {@code value} property
* is via the methods on this class.
* </p>
*
* @param <E> the type of the node value.
*/
protected static class Node<E> {

View File

@ -28,11 +28,10 @@ import org.apache.commons.collections4.collection.AbstractCollectionDecorator;
* Methods are forwarded directly to the decorated list.
* </p>
*
* @param <E> the type of the elements in the list
* @param <E> the type of the elements in the list.
* @since 3.0
*/
public abstract class AbstractListDecorator<E> extends AbstractCollectionDecorator<E>
implements List<E> {
public abstract class AbstractListDecorator<E> extends AbstractCollectionDecorator<E> implements List<E> {
/** Serialization version--necessary in an abstract class? */
private static final long serialVersionUID = 4500739654952315623L;

View File

@ -25,10 +25,10 @@ import java.util.List;
/**
* Serializable subclass of AbstractListDecorator.
*
* @param <E> the type of the elements in the list.
* @since 3.1
*/
public abstract class AbstractSerializableListDecorator<E>
extends AbstractListDecorator<E> {
public abstract class AbstractSerializableListDecorator<E> extends AbstractListDecorator<E> {
/** Serialization version */
private static final long serialVersionUID = 2684959196747496299L;

View File

@ -55,6 +55,7 @@ import java.util.ListIterator;
* <b>Note that this implementation is not synchronized.</b>
* </p>
*
* @param <E> the type of the elements in the list.
* @see java.util.LinkedList
* @since 1.0
* @deprecated parent {@link AbstractLinkedList} is source incompatible with List methods added in Java 21

View File

@ -54,6 +54,7 @@ import java.util.List;
* can be used together by decorating twice.
* </p>
*
* @param <E> the type of the elements in the list.
* @see LazyList
* @since 3.2
*/

View File

@ -61,6 +61,7 @@ import org.apache.commons.collections4.Transformer;
* This class is Serializable from Commons Collections 3.1.
* </p>
*
* @param <E> the type of the elements in the list.
* @see GrowthList
* @since 3.0
*/

View File

@ -39,6 +39,7 @@ import java.util.Collection;
* <b>Note that this implementation is not synchronized.</b>
* </p>
*
* @param <E> the type of the elements in the list.
* @since 3.0
* @deprecated parent {@link AbstractLinkedList} is source incompatible with List methods added in Java 21
*/

View File

@ -45,6 +45,7 @@ import org.apache.commons.collections4.iterators.AbstractListIteratorDecorator;
* This class is Serializable from Commons Collections 3.1.
* </p>
*
* @param <E> the type of the elements in the list.
* @since 3.0
*/
public class PredicatedList<E> extends PredicatedCollection<E> implements List<E> {

View File

@ -51,6 +51,7 @@ import org.apache.commons.collections4.set.UnmodifiableSet;
* This class is Serializable from Commons Collections 3.1.
* </p>
*
* @param <E> the type of the elements in the list.
* @since 3.0
*/
public class SetUniqueList<E> extends AbstractSerializableListDecorator<E> {

View File

@ -36,6 +36,7 @@ import org.apache.commons.collections4.iterators.AbstractListIteratorDecorator;
* This class is Serializable from Commons Collections 3.1.
* </p>
*
* @param <E> the type of the elements in the list.
* @since 3.0
*/
public class TransformedList<E> extends TransformedCollection<E> implements List<E> {

View File

@ -59,6 +59,7 @@ import org.apache.commons.collections4.OrderedIterator;
* does use slightly more memory.
* </p>
*
* @param <E> the type of the elements in the list.
* @since 3.1
*/
public class TreeList<E> extends AbstractList<E> {

View File

@ -35,6 +35,7 @@ import org.apache.commons.collections4.iterators.UnmodifiableListIterator;
* Attempts to modify it will result in an UnsupportedOperationException.
* </p>
*
* @param <E> the type of the elements in the list.
* @since 3.0
*/
public final class UnmodifiableList<E>

View File

@ -36,13 +36,15 @@ import org.apache.commons.collections4.iterators.AbstractIteratorDecorator;
* number of occurrences of that element in the multiset.
* </p>
*
* @param <E> the type held in the multiset
* @param <E> the type held in the multiset.
* @since 4.1
*/
public abstract class AbstractMapMultiSet<E> extends AbstractMultiSet<E> {
/**
* Inner class EntrySetIterator.
*
* @param <E> the element type.
*/
protected static class EntrySetIterator<E> implements Iterator<Entry<E>> {
@ -154,8 +156,11 @@ public abstract class AbstractMapMultiSet<E> extends AbstractMultiSet<E> {
canRemove = false;
}
}
/**
* Inner class MultiSetEntry.
*
* @param <E> the key type.
*/
protected static class MultiSetEntry<E> extends AbstractEntry<E> {
@ -211,6 +216,8 @@ public abstract class AbstractMapMultiSet<E> extends AbstractMultiSet<E> {
/**
* Inner class UniqueSetIterator.
*
* @param <E> the element type.
*/
protected static class UniqueSetIterator<E> extends AbstractIteratorDecorator<E> {

View File

@ -41,6 +41,8 @@ public abstract class AbstractMultiSet<E> extends AbstractCollection<E> implemen
/**
* Inner class AbstractEntry.
*
* @param <E> the element type.
*/
protected abstract static class AbstractEntry<E> implements Entry<E> {
@ -68,8 +70,11 @@ public abstract class AbstractMultiSet<E> extends AbstractCollection<E> implemen
return String.format("%s:%d", getElement(), getCount());
}
}
/**
* Inner class EntrySet.
*
* @param <E> the element type.
*/
protected static class EntrySet<E> extends AbstractSet<Entry<E>> {
@ -180,6 +185,8 @@ public abstract class AbstractMultiSet<E> extends AbstractCollection<E> implemen
/**
* Inner class UniqueSet.
*
* @param <E> the element type.
*/
protected static class UniqueSet<E> extends AbstractSet<E> {

View File

@ -118,6 +118,7 @@ package org.apache.commons.collections4.sequence;
* }
* </pre>
*
* @param <T> the type of the input to the visit operations.
* @since 4.0
*/
public interface CommandVisitor<T> {

View File

@ -26,9 +26,9 @@ package org.apache.commons.collections4.sequence;
* these type of commands always come from the first sequence.
* </p>
*
* @param <T> the type of object to apply this command.
* @see SequencesComparator
* @see EditScript
*
* @since 4.0
*/
public class DeleteCommand<T> extends EditCommand<T> {

View File

@ -41,9 +41,9 @@ package org.apache.commons.collections4.sequence;
* and the {@code equals} method is specialized.
* </p>
*
* @param <T> the type of object to apply this command.
* @see SequencesComparator
* @see EditScript
*
* @since 4.0
*/
public abstract class EditCommand<T> {

View File

@ -37,11 +37,11 @@ import java.util.List;
* method is specialized.
* </p>
*
* @param <T> the type of object to apply commands.
* @see SequencesComparator
* @see EditCommand
* @see CommandVisitor
* @see ReplacementsHandler
*
* @since 4.0
*/
public class EditScript<T> {

View File

@ -26,9 +26,9 @@ package org.apache.commons.collections4.sequence;
* these type of commands always come from the second sequence.
* </p>
*
* @param <T> the type of object to apply this command.
* @see SequencesComparator
* @see EditScript
*
* @since 4.0
*/
public class InsertCommand<T> extends EditCommand<T> {

View File

@ -26,9 +26,9 @@ package org.apache.commons.collections4.sequence;
* these type of commands always come from the first sequence.
* </p>
*
* @param <T> the type of object to apply this command.
* @see SequencesComparator
* @see EditScript
*
* @since 4.0
*/
public class KeepCommand<T> extends EditCommand<T> {

View File

@ -43,17 +43,17 @@ import java.util.List;
* interface to process the sub-sequences.
* </p>
*
* @param <T> the type of the input to the visit operations.
* @see ReplacementsHandler
* @see EditScript
* @see SequencesComparator
*
* @since 4.0
*/
public class ReplacementsFinder<T> implements CommandVisitor<T> {
private final List<T> pendingInsertions;
private final List<T> pendingDeletions;
private int skipped;
private int skipped;
/** Handler to call when synchronized sequences are found. */
private final ReplacementsHandler<T> handler;
@ -65,9 +65,9 @@ public class ReplacementsFinder<T> implements CommandVisitor<T> {
*/
public ReplacementsFinder(final ReplacementsHandler<T> handler) {
pendingInsertions = new ArrayList<>();
pendingDeletions = new ArrayList<>();
skipped = 0;
this.handler = handler;
pendingDeletions = new ArrayList<>();
skipped = 0;
this.handler = handler;
}
/**

View File

@ -21,6 +21,7 @@ import java.util.List;
/**
* This interface is devoted to handle synchronized replacement sequences.
*
* @param <T> the type of elements in the lists.
* @see ReplacementsFinder
* @since 4.0
*/
@ -28,7 +29,7 @@ import java.util.List;
public interface ReplacementsHandler<T> {
/**
* Handle two synchronized sequences.
* Handles two synchronized sequences.
* <p>
* This method is called by a {@link ReplacementsFinder ReplacementsFinder}
* instance when it has synchronized two sub-sequences of object arrays
@ -36,9 +37,11 @@ public interface ReplacementsHandler<T> {
* sequences are synchronized, the objects before the two sub-sequences are
* equals (if they exist). This property also holds for the objects after
* the two sub-sequences.
* </p>
* <p>
* The replacement is defined as replacing the {@code from}
* sub-sequence into the {@code to} sub-sequence.
* </p>
*
* @param skipped number of tokens skipped since the last call (i.e. number of
* tokens that were in both sequences), this number should be strictly positive

View File

@ -52,10 +52,10 @@ import org.apache.commons.collections4.functors.DefaultEquator;
* needed to transform the first sequence into the second one.
* </p>
*
* @param <T> the type of elements in the lists.
* @see EditScript
* @see EditCommand
* @see CommandVisitor
*
* @since 4.0
*/
public class SequencesComparator<T> {

View File

@ -54,6 +54,8 @@ public class CompositeSet<E> implements Set<E>, Serializable {
/**
* Defines callbacks for mutation operations.
*
* @param <E> the type of the elements in this instance.
*/
public interface SetMutator<E> extends Serializable {