Q - type of search requestpublic class LRUCache<Q extends SearchRequest> extends Object implements Cache<Q>
LinkedHashMap.| Modifier and Type | Class and Description |
|---|---|
private class |
LRUCache.Item
Container for data related to cached ldap results.
|
| Modifier and Type | Field and Description |
|---|---|
private Map<Q,LRUCache.Item> |
cache
Map to cache search results.
|
private ScheduledExecutorService |
executor
Executor for performing eviction.
|
private static int |
INITIAL_CAPACITY
Initial capacity of the hash map.
|
private static float |
LOAD_FACTOR
Load factor of the hash map.
|
| Constructor and Description |
|---|
LRUCache(int size,
Duration timeToLive,
Duration interval)
Creates a new LRU cache.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Removes all data from this cache.
|
void |
close()
Frees any resources associated with this cache.
|
SearchResult |
get(Q request)
Returns the ldap result for the supplied request.
|
void |
put(Q request,
SearchResult result)
Stores the ldap result for the supplied request.
|
int |
size()
Returns the number of items in this cache.
|
private static final int INITIAL_CAPACITY
private static final float LOAD_FACTOR
private Map<Q extends SearchRequest,LRUCache.Item> cache
private final ScheduledExecutorService executor
public void clear()
public SearchResult get(Q request)
Cacheget in interface Cache<Q extends SearchRequest>request - to find ldap result withpublic void put(Q request, SearchResult result)
Cacheput in interface Cache<Q extends SearchRequest>request - used to find ldap resultresult - found with requestpublic int size()
public void close()
Copyright © 2003-2019 Virginia Tech. All Rights Reserved.