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
-
Method Summary
-
Constructor Details
-
LRUQueue
public LRUQueue()
-
-
Method Details
-
add
Adds an entry to the queue. If entry already exists, anIllegalArgumentException
is 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:
true
is entry has been updated,false
if entry was not found.
-
contains
Returnstrue
if this queue contains the specified entry.- Parameters:
entry
- the entry whose presence in this queue is to be tested- Returns:
true
is the entry exists in the queue.
-
remove
Removes an entry from the queue- Parameters:
entry
- the entry to remove- Returns:
true
is the entry was removed,false
otherwise.
-
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:
true
is the queue is empty,false
otherwise.
-
size
public int size()- Returns:
- queue size
-