Class LRUQueue<T>
java.lang.Object
fr.gouv.vitam.storage.offers.tape.cache.LRUQueue<T>
- Type Parameters:
T- the type of elements maintained by this queue.
Sorted Least Recently Used (LRU) queue implementation.
Entries are sorted using
long timestamp. Oldest entries are returned first.
The LRUQueue class is NOT thread safe. Concurrent access must be synchronized.-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
LRUQueue
public LRUQueue()
-
-
Method Details
-
add
Adds an entry to the queue. If entry already exists, anIllegalArgumentExceptionis thrown.- Parameters:
entry- the entry to add to the queuetimestamp- the entry timestamp to set- Throws:
IllegalArgumentException- if entry already exists
-
update
Updates an existing entry timestamp- Parameters:
entry- the existing entry to updatetimestamp- the entry timestamp to update- Returns:
trueis entry has been updated,falseif entry was not found.
-
contains
Returnstrueif this queue contains the specified entry.- Parameters:
entry- the entry whose presence in this queue is to be tested- Returns:
trueis the entry exists in the queue.
-
remove
Removes an entry from the queue- Parameters:
entry- the entry to remove- Returns:
trueis the entry was removed,falseotherwise.
-
iterator
Returns an iterator over the queue. Older entries are returned first. Iterator supportsIterator.remove()to remove entries while iterating.- Returns:
- An iterator over the elements of the queue.
-
isEmpty
public boolean isEmpty()- Returns:
trueis the queue is empty,falseotherwise.
-
size
public int size()- Returns:
- queue size
-