Class TransactionCache<V extends BasicTransaction>
- java.lang.Object
-
- edu.uiuc.ncsa.security.core.cache.CachedMapFacade<V>
-
- org.oa4mp.delegation.common.storage.transactions.TransactionCache<V>
-
- All Implemented Interfaces:
edu.uiuc.ncsa.security.core.Store<V>,Map<edu.uiuc.ncsa.security.core.Identifier,V>,TransactionStore<V>
public class TransactionCache<V extends BasicTransaction> extends edu.uiuc.ncsa.security.core.cache.CachedMapFacade<V> implements TransactionStore<V>
A cache. Set the backing store if you have one, otherwise this works perfectly well as an in-memory store.Usage
To front a transaction store, write the store separately then instantiate an instance of this, passing the frontend store as an argument. You may then use the store and all it's facilities (such as retention policies) as you see fit.Created by Jeff Gaynor
on Apr 27, 2010 at 4:27:10 PM
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTransactionCache.TransactionIndices<V extends BasicTransaction>The indices for a transaction store.
-
Constructor Summary
Constructors Constructor Description TransactionCache()TransactionCache(TransactionStore backingStore)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckDestroyed()voidclear()booleancontainsKey(Object key)booleancontainsValue(Object value)Vcreate()booleandestroy()Set<Map.Entry<edu.uiuc.ncsa.security.core.Identifier,V>>entrySet()Vget(Object key)Vget(AccessToken accessToken)Vget(AuthorizationGrant tempCred)List<V>getAll()TransactionStoregetBackingStore()protected VgetByKey(Object key, int action)This is done as a switch statement to keep references to the cache up to date.VgetByProxyID(edu.uiuc.ncsa.security.core.Identifier proxyID)edu.uiuc.ncsa.security.core.util.AbstractEnvironmentgetEnvironment()edu.uiuc.ncsa.security.storage.data.MapConvertergetMapConverter()List<V>getMostRecent(int n, List<String> attributes)TransactionCache.TransactionIndicesgetTransactionIndices()edu.uiuc.ncsa.security.core.XMLConverter<V>getXMLConverter()booleaninit()booleanisDestroyed()booleanisEmpty()Set<edu.uiuc.ncsa.security.core.Identifier>keySet()Vput(edu.uiuc.ncsa.security.core.Identifier key, V value)voidput(V t)voidputAll(Map m)voidregister(V transaction)Vremove(Object key)BasicTransactionremove(URI identifier)booleanremove(List<V> objects)BasicTransactionremove(BasicTransaction t)booleanremoveByID(List<edu.uiuc.ncsa.security.core.Identifier> objects)voidsave(V t)List<V>search(String key, boolean isNull)List<V>search(String key, String condition, boolean isRegEx)List<V>search(String key, String condition, boolean isRegEx, List<String> attr)List<V>search(String key, String condition, boolean isRegEx, List<String> attr, String dateField, Date before, Date after)protected voidsetDestroyed(boolean destroyed)voidsetEnvironment(edu.uiuc.ncsa.security.core.util.AbstractEnvironment environment)intsize()intsize(boolean includeVersions)StringtoString()voidupdate(List<edu.uiuc.ncsa.security.core.Identifier> ids, Map<String,Object> values)voidupdate(BasicTransaction t)Collection<V>values()-
Methods inherited from class edu.uiuc.ncsa.security.core.cache.CachedMapFacade
getCache, getTheStore, hasStore, setCache, setTheStore
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Constructor Detail
-
TransactionCache
public TransactionCache(TransactionStore backingStore)
-
TransactionCache
public TransactionCache()
-
-
Method Detail
-
getMostRecent
public List<V> getMostRecent(int n, List<String> attributes)
- Specified by:
getMostRecentin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
getBackingStore
public TransactionStore getBackingStore()
-
getXMLConverter
public edu.uiuc.ncsa.security.core.XMLConverter<V> getXMLConverter()
- Specified by:
getXMLConverterin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
search
public List<V> search(String key, boolean isNull)
- Specified by:
searchin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
getTransactionIndices
public TransactionCache.TransactionIndices getTransactionIndices()
-
getEnvironment
public edu.uiuc.ncsa.security.core.util.AbstractEnvironment getEnvironment()
-
setEnvironment
public void setEnvironment(edu.uiuc.ncsa.security.core.util.AbstractEnvironment environment)
-
isDestroyed
public boolean isDestroyed()
-
setDestroyed
protected void setDestroyed(boolean destroyed)
-
destroy
public boolean destroy()
-
init
public boolean init()
-
put
public void put(V t)
-
checkDestroyed
protected void checkDestroyed()
-
size
public int size(boolean includeVersions)
- Specified by:
sizein interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
getAll
public List<V> getAll()
- Specified by:
getAllin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
update
public void update(BasicTransaction t)
- Specified by:
updatein interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
getByKey
protected V getByKey(Object key, int action)
This is done as a switch statement to keep references to the cache up to date.- Parameters:
key-action-- Returns:
-
get
public V get(AuthorizationGrant tempCred)
- Specified by:
getin interfaceTransactionStore<V extends BasicTransaction>
-
get
public V get(AccessToken accessToken)
- Specified by:
getin interfaceTransactionStore<V extends BasicTransaction>
-
size
public int size()
- Specified by:
sizein interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
sizein classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
isEmptyin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKeyin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
containsKeyin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValuein interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
containsValuein classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
get
public V get(Object key)
- Specified by:
getin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
getin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
remove
public BasicTransaction remove(URI identifier)
-
create
public V create()
- Specified by:
createin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
put
public V put(edu.uiuc.ncsa.security.core.Identifier key, V value)
- Specified by:
putin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
putin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
remove
public V remove(Object key)
- Specified by:
removein interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
removein classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
putAll
public void putAll(Map m)
- Specified by:
putAllin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
putAllin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
clear
public void clear()
- Specified by:
clearin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
clearin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
keySet
public Set<edu.uiuc.ncsa.security.core.Identifier> keySet()
- Specified by:
keySetin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
keySetin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
values
public Collection<V> values()
- Specified by:
valuesin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
valuesin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
entrySet
public Set<Map.Entry<edu.uiuc.ncsa.security.core.Identifier,V>> entrySet()
- Specified by:
entrySetin interfaceMap<edu.uiuc.ncsa.security.core.Identifier,V extends BasicTransaction>- Overrides:
entrySetin classedu.uiuc.ncsa.security.core.cache.CachedMapFacade<V extends BasicTransaction>
-
save
public void save(V t)
- Specified by:
savein interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
remove
public BasicTransaction remove(BasicTransaction t)
-
register
public void register(V transaction)
- Specified by:
registerin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
search
public List<V> search(String key, String condition, boolean isRegEx)
- Specified by:
searchin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
search
public List<V> search(String key, String condition, boolean isRegEx, List<String> attr)
- Specified by:
searchin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
search
public List<V> search(String key, String condition, boolean isRegEx, List<String> attr, String dateField, Date before, Date after)
- Specified by:
searchin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
getMapConverter
public edu.uiuc.ncsa.security.storage.data.MapConverter getMapConverter()
- Specified by:
getMapConverterin interfaceTransactionStore<V extends BasicTransaction>
-
remove
public boolean remove(List<V> objects)
- Specified by:
removein interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
removeByID
public boolean removeByID(List<edu.uiuc.ncsa.security.core.Identifier> objects)
- Specified by:
removeByIDin interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>
-
getByProxyID
public V getByProxyID(edu.uiuc.ncsa.security.core.Identifier proxyID)
- Specified by:
getByProxyIDin interfaceTransactionStore<V extends BasicTransaction>
-
update
public void update(List<edu.uiuc.ncsa.security.core.Identifier> ids, Map<String,Object> values) throws edu.uiuc.ncsa.security.core.exceptions.UnregisteredObjectException
- Specified by:
updatein interfaceedu.uiuc.ncsa.security.core.Store<V extends BasicTransaction>- Throws:
edu.uiuc.ncsa.security.core.exceptions.UnregisteredObjectException
-
-