org.apache.jcs.engine.behavior
Interface ICacheServiceNonLocal<K extends Serializable,V extends Serializable>

All Superinterfaces:
ICacheService<K,V>, Remote
All Known Subinterfaces:
IRemoteHttpCacheClient<K,V>
All Known Implementing Classes:
AbstractRemoteCacheService, LateralTCPService, RemoteCacheServer, RemoteHttpCacheClient, RemoteHttpCacheService, ZombieCacheServiceNonLocal

public interface ICacheServiceNonLocal<K extends Serializable,V extends Serializable>
extends Remote, ICacheService<K,V>

Used to retrieve and update non local caches, such as the remote and lateral caches. Unlike ICacheService, the methods here have a requester id. This allows us to avoid propagating events to ourself.

TODO consider not extending ICacheService


Method Summary
 ICacheElement<K,V> get(String cacheName, K key, long requesterId)
          Returns a cache bean from the specified cache; or null if the key does not exist.
 Set<K> getGroupKeys(String cacheName, String groupName)
          Gets the set of keys of objects currently in the group.
 Set<String> getGroupNames(String cacheName)
          Gets the set of group names in the cache
 Map<K,ICacheElement<K,V>> getMatching(String cacheName, String pattern, long requesterId)
          Gets multiple items from the cache matching the pattern.
 Map<K,ICacheElement<K,V>> getMultiple(String cacheName, Set<K> keys, long requesterId)
          Gets multiple items from the cache based on the given set of keys.
 void remove(String cacheName, K key, long requesterId)
          Removes the given key from the specified cache.
 void removeAll(String cacheName, long requesterId)
          Remove all keys from the specified cache.
 void update(ICacheElement<K,V> item, long requesterId)
          Puts a cache item to the cache.
 
Methods inherited from interface org.apache.jcs.engine.behavior.ICacheService
dispose, get, getMatching, getMultiple, release, remove, removeAll, update
 

Method Detail

update

void update(ICacheElement<K,V> item,
            long requesterId)
            throws IOException
Puts a cache item to the cache.

Parameters:
item -
requesterId -
Throws:
IOException

remove

void remove(String cacheName,
            K key,
            long requesterId)
            throws IOException
Removes the given key from the specified cache.

Parameters:
cacheName -
key -
requesterId -
Throws:
IOException

removeAll

void removeAll(String cacheName,
               long requesterId)
               throws IOException
Remove all keys from the specified cache.

Parameters:
cacheName -
requesterId -
Throws:
IOException

get

ICacheElement<K,V> get(String cacheName,
                       K key,
                       long requesterId)
                                                                 throws IOException
Returns a cache bean from the specified cache; or null if the key does not exist.

Adding the requestor id, allows the cache to determine the sournce of the get.

Parameters:
cacheName -
key -
requesterId -
Returns:
ICacheElement
Throws:
IOException

getMultiple

Map<K,ICacheElement<K,V>> getMultiple(String cacheName,
                                      Set<K> keys,
                                      long requesterId)
                                                                                                     throws IOException
Gets multiple items from the cache based on the given set of keys.

Parameters:
cacheName -
keys -
requesterId -
Returns:
a map of K key to ICacheElement element, or an empty map if there is no data in cache for any of these keys
Throws:
IOException

getMatching

Map<K,ICacheElement<K,V>> getMatching(String cacheName,
                                      String pattern,
                                      long requesterId)
                                                                                                     throws IOException
Gets multiple items from the cache matching the pattern.

Parameters:
cacheName -
pattern -
requesterId -
Returns:
a map of K key to ICacheElement element, or an empty map if there is no data in cache matching the pattern.
Throws:
IOException

getGroupKeys

Set<K> getGroupKeys(String cacheName,
                    String groupName)
                                         throws IOException
Gets the set of keys of objects currently in the group.

Parameters:
cacheName - the name of the cache
groupName - the name of the group
Returns:
a Set of group keys.
Throws:
IOException

getGroupNames

Set<String> getGroupNames(String cacheName)
                          throws IOException
Gets the set of group names in the cache

Parameters:
cacheName - the name of the cache
Returns:
a Set of group names.
Throws:
IOException


Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.