Package org.apache.log4j.chainsaw
Class CyclicBufferList
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList
-
- org.apache.log4j.chainsaw.CyclicBufferList
-
- All Implemented Interfaces:
Iterable
,Collection
,List
public class CyclicBufferList extends AbstractList implements List
CyclicBuffer implementation that is Object generic, and implements the List interface.Original CyclicBuffer @author Ceki Gülcü
This implementation (although there's very little change) @author Paul Smith <psmith@apache.org>
-
-
Field Summary
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor Description CyclicBufferList()
CyclicBufferList(int maxSize)
Instantiate a new CyclicBuffer of at mostmaxSize
events.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(Object event)
Add anevent
as the last event in the buffer.void
clear()
Object
get()
Get the oldest (first) element in the buffer.Object
get(int i)
Get the ith oldest event currently in the buffer.int
getLast()
int
getMaxSize()
Object
remove(int index)
Removes the element at the specified position in this list.void
resize(int newSize)
Resize the cyclic buffer tonewSize
.Object
set(int index, Object element)
int
size()
Get the number of elements in the buffer.-
Methods inherited from class java.util.AbstractList
add, addAll, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, removeRange, subList
-
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.List
add, addAll, addAll, contains, containsAll, equals, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, removeAll, replaceAll, retainAll, sort, spliterator, subList, toArray, toArray
-
-
-
-
Method Detail
-
remove
public Object remove(int index)
Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one from their indices).- Specified by:
remove
in interfaceList
- Overrides:
remove
in classAbstractList
- Parameters:
index
- the index of the element to removed.- Returns:
- the element that was removed from the list.
- Throws:
IndexOutOfBoundsException
- if index out of range (index < 0 || index >= size()).
-
set
public Object set(int index, Object element)
- Specified by:
set
in interfaceList
- Overrides:
set
in classAbstractList
-
add
public boolean add(Object event)
Add anevent
as the last event in the buffer.- Specified by:
add
in interfaceCollection
- Specified by:
add
in interfaceList
- Overrides:
add
in classAbstractList
-
get
public Object get(int i)
Get the ith oldest event currently in the buffer. If i is outside the range 0 to the number of elements currently in the buffer, thennull
is returned.- Specified by:
get
in interfaceList
- Specified by:
get
in classAbstractList
-
getMaxSize
public int getMaxSize()
-
getLast
public int getLast()
-
get
public Object get()
Get the oldest (first) element in the buffer. The oldest element is removed from the buffer.
-
size
public int size()
Get the number of elements in the buffer. This number is guaranteed to be in the range 0 tomaxSize
(inclusive).- Specified by:
size
in interfaceCollection
- Specified by:
size
in interfaceList
- Specified by:
size
in classAbstractCollection
-
resize
public void resize(int newSize)
Resize the cyclic buffer tonewSize
.- Throws:
IllegalArgumentException
- ifnewSize
is negative.
-
clear
public void clear()
- Specified by:
clear
in interfaceCollection
- Specified by:
clear
in interfaceList
- Overrides:
clear
in classAbstractList
-
-