Class BoundedFifoBuffer
java.lang.Object
java.util.AbstractCollection
org.apache.commons.collections.buffer.BoundedFifoBuffer
- All Implemented Interfaces:
Serializable,Iterable,Collection,BoundedCollection,Buffer
- Direct Known Subclasses:
CircularFifoBuffer
@Deprecated(since="2021-04-30")
public class BoundedFifoBuffer
extends AbstractCollection
implements Buffer, BoundedCollection, Serializable
Deprecated.
Apache Commons Collections version 3.x is being deprecated from AEMaaCS. The upgraded version 4.4 of Commons Collections is already included as replacement. Customers are advised to upgrade to this version of the library. Please note: the package name was changed to org.apache.commons.collections4. Further note that there are AEM APIs currently exposing the old collections classes; these will be updated in upcoming releases.
The BoundedFifoBuffer is a very efficient implementation of
Buffer that is of a fixed size.
The removal order of a BoundedFifoBuffer is based on the
insertion order; elements are removed in the same order in which they
were added. The iteration order is the same as the removal order.
The add(Object), remove() and get() operations
all perform in constant time. All other operations perform in linear
time or worse.
Note that this implementation is not synchronized. The following can be
used to provide synchronized access to your BoundedFifoBuffer:
Buffer fifo = BufferUtils.synchronizedBuffer(new BoundedFifoBuffer());
This buffer prevents null objects from being added.
This class is Serializable from Commons Collections 3.1.
- Since:
- Commons Collections 3.0 (previously in main package v2.1)
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.Constructs a newBoundedFifoBufferbig enough to hold 32 elements.BoundedFifoBuffer(int size) Deprecated.Constructs a newBoundedFifoBufferbig enough to hold the specified number of elements.BoundedFifoBuffer(Collection coll) Deprecated.Constructs a newBoundedFifoBufferbig enough to hold all of the elements in the specified collection. -
Method Summary
Modifier and TypeMethodDescriptionbooleanDeprecated.Adds the given element to this buffer.voidclear()Deprecated.Clears this buffer.get()Deprecated.Returns the least recently inserted element in this buffer.booleanisEmpty()Deprecated.Returns true if this buffer is empty; false otherwise.booleanisFull()Deprecated.Returns true if this collection is full and no new elements can be added.iterator()Deprecated.Returns an iterator over this buffer's elements.intmaxSize()Deprecated.Gets the maximum size of the collection (the bound).remove()Deprecated.Removes the least recently inserted element from this buffer.intsize()Deprecated.Returns the number of elements stored in the buffer.Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, remove, removeAll, retainAll, toArray, toArray, toStringMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
addAll, contains, containsAll, equals, hashCode, parallelStream, remove, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray
-
Constructor Details
-
BoundedFifoBuffer
public BoundedFifoBuffer()Deprecated.Constructs a newBoundedFifoBufferbig enough to hold 32 elements. -
BoundedFifoBuffer
public BoundedFifoBuffer(int size) Deprecated.Constructs a newBoundedFifoBufferbig enough to hold the specified number of elements.- Parameters:
size- the maximum number of elements for this fifo- Throws:
IllegalArgumentException- if the size is less than 1
-
BoundedFifoBuffer
Deprecated.Constructs a newBoundedFifoBufferbig enough to hold all of the elements in the specified collection. That collection's elements will also be added to the buffer.- Parameters:
coll- the collection whose elements to add, may not be null- Throws:
NullPointerException- if the collection is null
-
-
Method Details
-
size
public int size()Deprecated.Returns the number of elements stored in the buffer.- Specified by:
sizein interfaceCollection- Specified by:
sizein classAbstractCollection- Returns:
- this buffer's size
-
isEmpty
public boolean isEmpty()Deprecated.Returns true if this buffer is empty; false otherwise.- Specified by:
isEmptyin interfaceCollection- Overrides:
isEmptyin classAbstractCollection- Returns:
- true if this buffer is empty
-
isFull
public boolean isFull()Deprecated.Returns true if this collection is full and no new elements can be added.- Specified by:
isFullin interfaceBoundedCollection- Returns:
trueif the collection is full
-
maxSize
public int maxSize()Deprecated.Gets the maximum size of the collection (the bound).- Specified by:
maxSizein interfaceBoundedCollection- Returns:
- the maximum number of elements the collection can hold
-
clear
public void clear()Deprecated.Clears this buffer.- Specified by:
clearin interfaceCollection- Overrides:
clearin classAbstractCollection
-
add
Deprecated.Adds the given element to this buffer.- Specified by:
addin interfaceCollection- Overrides:
addin classAbstractCollection- Parameters:
element- the element to add- Returns:
- true, always
- Throws:
NullPointerException- if the given element is nullBufferOverflowException- if this buffer is full
-
get
Deprecated.Returns the least recently inserted element in this buffer.- Specified by:
getin interfaceBuffer- Returns:
- the least recently inserted element
- Throws:
BufferUnderflowException- if the buffer is empty
-
remove
Deprecated.Removes the least recently inserted element from this buffer.- Specified by:
removein interfaceBuffer- Returns:
- the least recently inserted element
- Throws:
BufferUnderflowException- if the buffer is empty
-
iterator
Deprecated.Returns an iterator over this buffer's elements.- Specified by:
iteratorin interfaceCollection- Specified by:
iteratorin interfaceIterable- Specified by:
iteratorin classAbstractCollection- Returns:
- an iterator over this buffer's elements
-