Package org.apache.wiki.util
Class TimedCounterList<T>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<T>
-
- org.apache.wiki.util.TimedCounterList<T>
-
- Type Parameters:
T
- The class you wish to store here
- All Implemented Interfaces:
java.lang.Iterable<T>
,java.util.Collection<T>
,java.util.List<T>
public class TimedCounterList<T> extends java.util.AbstractList<T>
Provides a List in which all items store their addition time. This can then be used to clean the list from old items.This class is thread-safe - all modifications are blocking, but reading is non-blocking (unless a write is ongoing).
- Since:
- 2.8
-
-
Constructor Summary
Constructors Constructor Description TimedCounterList()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, T element)
void
cleanup(long maxage)
Performs a cleanup of all items older than maxage.int
count(T obj)
Returns the count how many times this object is available in this list, using equals().T
get(int index)
long
getAddTime(int index)
Returns the time when this particular item was added on the list.T
remove(int index)
T
set(int index, T element)
int
size()
-
Methods inherited from class java.util.AbstractList
add, addAll, clear, 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
-
-
-
-
Constructor Detail
-
TimedCounterList
public TimedCounterList()
-
-
Method Detail
-
size
public int size()
-
count
public int count(T obj)
Returns the count how many times this object is available in this list, using equals().- Parameters:
obj
- The object to count.- Returns:
- The count of the objects.
-
cleanup
public void cleanup(long maxage)
Performs a cleanup of all items older than maxage.- Parameters:
maxage
- The maximum age in milliseconds after an item is removed.
-
getAddTime
public long getAddTime(int index)
Returns the time when this particular item was added on the list.- Parameters:
index
- The index of the object.- Returns:
- The addition time in milliseconds (@see System.currentTimeMillis()).
-
-