Class LRUHybridCache.OriginThreadAwareFuture
- java.lang.Object
-
- org.glassfish.hk2.utilities.cache.LRUHybridCache.OriginThreadAwareFuture
-
- All Implemented Interfaces:
java.util.concurrent.Future<HybridCacheEntry<V>>
- Enclosing class:
- LRUHybridCache<K,V>
private class LRUHybridCache.OriginThreadAwareFuture extends java.lang.Object implements java.util.concurrent.Future<HybridCacheEntry<V>>
Helper class, that remembers the future task origin thread, so that cycles could be detected.
-
-
Constructor Summary
Constructors Constructor Description OriginThreadAwareFuture(LRUHybridCache<K,HybridCacheEntry<V>> cache, K key)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
cancel(boolean mayInterruptIfRunning)
boolean
equals(java.lang.Object obj)
HybridCacheEntry<V>
get()
HybridCacheEntry<V>
get(long timeout, java.util.concurrent.TimeUnit unit)
int
hashCode()
boolean
isCancelled()
boolean
isDone()
void
run()
-
-
-
Field Detail
-
key
private final K key
-
future
private final java.util.concurrent.FutureTask<HybridCacheEntry<V>> future
-
threadId
private volatile long threadId
-
lastHit
private volatile long lastHit
-
-
Constructor Detail
-
OriginThreadAwareFuture
OriginThreadAwareFuture(LRUHybridCache<K,HybridCacheEntry<V>> cache, K key)
-
-
Method Detail
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
cancel
public boolean cancel(boolean mayInterruptIfRunning)
- Specified by:
cancel
in interfacejava.util.concurrent.Future<HybridCacheEntry<V>>
-
isCancelled
public boolean isCancelled()
- Specified by:
isCancelled
in interfacejava.util.concurrent.Future<HybridCacheEntry<V>>
-
isDone
public boolean isDone()
- Specified by:
isDone
in interfacejava.util.concurrent.Future<HybridCacheEntry<V>>
-
get
public HybridCacheEntry<V> get() throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Specified by:
get
in interfacejava.util.concurrent.Future<HybridCacheEntry<V>>
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
get
public HybridCacheEntry<V> get(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
- Specified by:
get
in interfacejava.util.concurrent.Future<HybridCacheEntry<V>>
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.util.concurrent.TimeoutException
-
run
public void run()
-
-