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:
java.lang.Iterable
,java.util.Collection
,java.util.List
public class CyclicBufferList extends java.util.AbstractList implements java.util.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>
-
-
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(java.lang.Object event)
Add anevent
as the last event in the buffer.void
clear()
java.lang.Object
get()
Get the oldest (first) element in the buffer.java.lang.Object
get(int i)
Get the ith oldest event currently in the buffer.int
getLast()
int
getMaxSize()
java.lang.Object
remove(int index)
Removes the element at the specified position in this list.void
resize(int newSize)
Resize the cyclic buffer tonewSize
.java.lang.Object
set(int index, java.lang.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
-
-
-
-
Method Detail
-
remove
public java.lang.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 interfacejava.util.List
- Overrides:
remove
in classjava.util.AbstractList
- Parameters:
index
- the index of the element to removed.- Returns:
- the element that was removed from the list.
- Throws:
java.lang.IndexOutOfBoundsException
- if index out of range (index < 0 || index >= size()).
-
set
public java.lang.Object set(int index, java.lang.Object element)
- Specified by:
set
in interfacejava.util.List
- Overrides:
set
in classjava.util.AbstractList
-
add
public boolean add(java.lang.Object event)
Add anevent
as the last event in the buffer.- Specified by:
add
in interfacejava.util.Collection
- Specified by:
add
in interfacejava.util.List
- Overrides:
add
in classjava.util.AbstractList
-
get
public java.lang.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 interfacejava.util.List
- Specified by:
get
in classjava.util.AbstractList
-
getMaxSize
public int getMaxSize()
-
getLast
public int getLast()
-
get
public java.lang.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 interfacejava.util.Collection
- Specified by:
size
in interfacejava.util.List
- Specified by:
size
in classjava.util.AbstractCollection
-
resize
public void resize(int newSize)
Resize the cyclic buffer tonewSize
.- Throws:
java.lang.IllegalArgumentException
- ifnewSize
is negative.
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Collection
- Specified by:
clear
in interfacejava.util.List
- Overrides:
clear
in classjava.util.AbstractList
-
-