|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectabk.util.ACachedReference<Map<K,Reference<V>>>
abk.util.ACachedMap<K,V>
K
- Tipo de la clave del mapa.V
- Tipo de las instancias referencias, con instancia de Reference<V>.public class ACachedMap<K,V>
Clase que implementa una referencia volátil a un mapa caché que asocia claves con referencias, igualmente dinámicas, a una instancia.
Se supone que a partir del valor de clave se puede reconstruir el valor de la instancia (desde base de datos, o fichero de propiedades, por ejemplo), funcionando este mapa como una caché de estos valores, que podrá ser borrada por el Garbage Collector si fuese necesaria la memoria.
Nested Class Summary | |
---|---|
static interface |
ACachedMap.Factory<K,V>
Interfaz para crear nuevas instancias de un tipo a partir del valor de su clave primaria. |
Field Summary | |
---|---|
private ACachedMap.Factory<K,V> |
iFactory
Instancia para volver a crear/recuperar instancias a partir de su clave. |
Constructor Summary | |
---|---|
protected |
ACachedMap(ACachedMap.Factory<K,V> factory)
Constructor del mapa cacheado, basado en un mapa de tipo WeakHashMap. |
protected |
ACachedMap(ACachedMap.Factory<K,V> valueFactory,
Instantiator<Map<K,Reference<V>>> mapFactory)
Constructor del mapa cacheado. |
Method Summary | ||
---|---|---|
static
|
create(ACachedMap.Factory<K,V> factory)
Constructor del mapa cacheado, basado en un mapa de tipo WeakHashMap. |
|
static
|
create(ACachedMap.Factory<K,V> valueFactory,
Instantiator<Map<K,Reference<V>>> mapFactory)
Constructor del mapa cacheado. |
|
V |
getValue(K key)
Devuelve el valor archivado en caché para la clave, recuperándolo a través del ACachedMap.Factory si no estuviera cacheado su valor. |
|
V |
putValue(K key,
V value)
Coloca un nuevo valor en la caché. |
Methods inherited from class abk.util.ACachedReference |
---|
clear, create, get |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final ACachedMap.Factory<K,V> iFactory
Constructor Detail |
---|
protected ACachedMap(ACachedMap.Factory<K,V> valueFactory, Instantiator<Map<K,Reference<V>>> mapFactory)
valueFactory
- Factoria de los valores.mapFactory
- Factoría del mapa.
NullArgumentException
- si cualquier de los dos argumentos es nulo.protected ACachedMap(ACachedMap.Factory<K,V> factory)
factory
- Factoria de los valores.
NullPointerException
- si cualquier factory es nulo.Method Detail |
---|
public static final <K,V> ACachedMap<K,V> create(ACachedMap.Factory<K,V> valueFactory, Instantiator<Map<K,Reference<V>>> mapFactory)
K
- Tipo de dato de la clave.V
- Tipo de datos del valor.valueFactory
- Factoria de los valores.mapFactory
- Factoría del mapa.
NullPointerException
- si cualquier de los dos argumentos es nulo.public static final <K,V> ACachedMap<K,V> create(ACachedMap.Factory<K,V> factory)
K
- Tipo de dato de la clave.V
- Tipo de datos del valor.factory
- Factoria de los valores.
NullPointerException
- si cualquier factory es nulo.public V putValue(K key, V value)
key
- Clave del valor.value
- Valor que se guarda.
nu
en otro caso.public V getValue(K key)
key
- Clave de la instancia.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |