com.hazelcast.client.cache.impl
Class ClientCacheProxy<K,V>

java.lang.Object
  extended by com.hazelcast.client.cache.impl.ClientCacheProxy<K,V>
Type Parameters:
K - key type
V - value type
All Implemented Interfaces:
ICache<K,V>, CacheSyncListenerCompleter, Closeable, Iterable<javax.cache.Cache.Entry<K,V>>, javax.cache.Cache<K,V>

public class ClientCacheProxy<K,V>
extends Object

ICache implementation for client

This proxy is the implementation of ICache and javax.cache.Cache which is returned by HazelcastClientCacheManager. Represent a cache on client.

This implementation is a thin proxy implementation using hazelcast client infrastructure


Nested Class Summary
 
Nested classes/interfaces inherited from interface javax.cache.Cache
javax.cache.Cache.Entry<K,V>
 
Field Summary
protected  CacheConfig<K,V> cacheConfig
           
protected  ClientContext clientContext
           
protected  ILogger logger
           
protected  String name
           
protected  String nameWithPrefix
           
protected  ClientNearCache<Data,Object> nearCache
           
 
Constructor Summary
ClientCacheProxy(CacheConfig<K,V> cacheConfig, ClientContext clientContext, HazelcastClientCacheManager cacheManager)
           
 
Method Summary
protected  void addListenerLocally(String regId, javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
           
 void clear()
           
protected  void clearInternal()
           
 void close()
           
protected  void closeCacheLoader()
           
protected  void closeListeners()
           
 boolean containsKey(K key)
           
 void countDownCompletionLatch(int id)
           
protected  ICompletableFuture createCompletedFuture(Object value)
           
protected  EventHandler<Object> createHandler(CacheEventListenerAdaptor adaptor)
           
 void deregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
           
protected  void deregisterCompletionLatch(Integer countDownLatchId)
           
 void destroy()
           
protected  void ensureOpen()
           
 V get(K key)
           
 V get(K key, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 Map<K,V> getAll(Set<? extends K> keys)
           
 Map<K,V> getAll(Set<? extends K> keys, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 V getAndPut(K key, V value)
           
 V getAndPut(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 ICompletableFuture<V> getAndPutAsync(K key, V value)
           
 ICompletableFuture<V> getAndPutAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 V getAndRemove(K key)
           
 ICompletableFuture<V> getAndRemoveAsync(K key)
           
 V getAndReplace(K key, V value)
           
 V getAndReplace(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 ICompletableFuture<V> getAndReplaceAsync(K key, V value)
           
 ICompletableFuture<V> getAndReplaceAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 ICompletableFuture<V> getAsync(K key)
           
 ICompletableFuture<V> getAsync(K key, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 javax.cache.CacheManager getCacheManager()
           
<C extends javax.cache.configuration.Configuration<K,V>>
C
getConfiguration(Class<C> clazz)
           
 CacheStatistics getLocalCacheStatistics()
           
 String getName()
           
 String getNameWithPrefix()
           
protected
<T> T
getSafely(Future<T> future)
           
protected  void invalidateNearCache(Data key)
           
protected
<T> T
invoke(ClientRequest req)
           
protected
<T> ICompletableFuture<T>
invoke(ClientRequest req, Data keyData, boolean completionOperation)
           
<T> T
invoke(K key, javax.cache.processor.EntryProcessor<K,V,T> entryProcessor, Object... arguments)
           
<T> Map<K,javax.cache.processor.EntryProcessorResult<T>>
invokeAll(Set<? extends K> keys, javax.cache.processor.EntryProcessor<K,V,T> entryProcessor, Object... arguments)
           
 boolean isClosed()
           
 Iterator<javax.cache.Cache.Entry<K,V>> iterator()
           
 void loadAll(Set<? extends K> keys, boolean replaceExistingValues, javax.cache.integration.CompletionListener completionListener)
           
 void put(K key, V value)
           
 void put(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 void putAll(Map<? extends K,? extends V> map)
           
 void putAll(Map<? extends K,? extends V> map, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 ICompletableFuture<Void> putAsync(K key, V value)
           
 ICompletableFuture<Void> putAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
protected
<T> ICompletableFuture<T>
putAsyncInternal(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy, boolean isGet, boolean withCompletionEvent)
           
 boolean putIfAbsent(K key, V value)
           
 boolean putIfAbsent(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 ICompletableFuture<Boolean> putIfAbsentAsync(K key, V value)
           
 ICompletableFuture<Boolean> putIfAbsentAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
protected  ICompletableFuture<Boolean> putIfAbsentAsyncInternal(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy, boolean withCompletionEvent)
           
 void registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
           
protected  Integer registerCompletionLatch(int count)
           
 boolean remove(K key)
           
 boolean remove(K key, V oldValue)
           
 void removeAll()
           
 void removeAll(Set<? extends K> keys)
           
protected  void removeAllInternal(Set<? extends K> keys, boolean isRemoveAll)
           
 ICompletableFuture<Boolean> removeAsync(K key)
           
 ICompletableFuture<Boolean> removeAsync(K key, V oldValue)
           
protected
<T> ICompletableFuture<T>
removeAsyncInternal(K key, V oldValue, boolean hasOldValue, boolean isGet, boolean withCompletionEvent)
           
protected  String removeListenerLocally(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
           
 boolean replace(K key, V value)
           
 boolean replace(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 boolean replace(K key, V oldValue, V newValue)
           
 boolean replace(K key, V oldValue, V newValue, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 ICompletableFuture<Boolean> replaceAsync(K key, V value)
           
 ICompletableFuture<Boolean> replaceAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
 ICompletableFuture<Boolean> replaceAsync(K key, V oldValue, V newValue)
           
 ICompletableFuture<Boolean> replaceAsync(K key, V oldValue, V newValue, javax.cache.expiry.ExpiryPolicy expiryPolicy)
           
protected
<T> ICompletableFuture<T>
replaceAsyncInternal(K key, V oldValue, V newValue, javax.cache.expiry.ExpiryPolicy expiryPolicy, boolean hasOldValue, boolean isGet, boolean withCompletionEvent)
           
 int size()
           
protected  void storeInNearCache(Data key, Data valueData, V value)
           
protected  void submitLoadAllTask(CacheLoadAllRequest request, javax.cache.integration.CompletionListener completionListener)
           
protected  Data toData(Object o)
           
protected
<T> T
toObject(Object data)
           
<T> T
unwrap(Class<T> clazz)
           
protected  void updateCacheListenerConfigOnOtherNodes(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration, boolean isRegister)
           
protected  void validateCacheLoader(javax.cache.integration.CompletionListener completionListener)
           
protected  void waitCompletionLatch(Integer countDownLatchId)
           
protected  void waitCompletionLatch(Integer countDownLatchId, int offset)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.hazelcast.cache.ICache
destroy
 
Methods inherited from interface javax.cache.Cache
close, isClosed
 

Field Detail

logger

protected final ILogger logger

nearCache

protected final ClientNearCache<Data,Object> nearCache

clientContext

protected final ClientContext clientContext

cacheConfig

protected final CacheConfig<K,V> cacheConfig

name

protected final String name

nameWithPrefix

protected final String nameWithPrefix
Constructor Detail

ClientCacheProxy

public ClientCacheProxy(CacheConfig<K,V> cacheConfig,
                        ClientContext clientContext,
                        HazelcastClientCacheManager cacheManager)
Method Detail

get

public V get(K key)

getAll

public Map<K,V> getAll(Set<? extends K> keys)

containsKey

public boolean containsKey(K key)

loadAll

public void loadAll(Set<? extends K> keys,
                    boolean replaceExistingValues,
                    javax.cache.integration.CompletionListener completionListener)

put

public void put(K key,
                V value)

getAndPut

public V getAndPut(K key,
                   V value)

putAll

public void putAll(Map<? extends K,? extends V> map)

putIfAbsent

public boolean putIfAbsent(K key,
                           V value)

remove

public boolean remove(K key)

remove

public boolean remove(K key,
                      V oldValue)

getAndRemove

public V getAndRemove(K key)

replace

public boolean replace(K key,
                       V oldValue,
                       V newValue)

replace

public boolean replace(K key,
                       V value)

getAndReplace

public V getAndReplace(K key,
                       V value)

removeAll

public void removeAll(Set<? extends K> keys)

removeAll

public void removeAll()

clear

public void clear()

getConfiguration

public <C extends javax.cache.configuration.Configuration<K,V>> C getConfiguration(Class<C> clazz)

invoke

public <T> T invoke(K key,
                    javax.cache.processor.EntryProcessor<K,V,T> entryProcessor,
                    Object... arguments)
         throws javax.cache.processor.EntryProcessorException
Throws:
javax.cache.processor.EntryProcessorException

invokeAll

public <T> Map<K,javax.cache.processor.EntryProcessorResult<T>> invokeAll(Set<? extends K> keys,
                                                                          javax.cache.processor.EntryProcessor<K,V,T> entryProcessor,
                                                                          Object... arguments)

getName

public String getName()

getCacheManager

public javax.cache.CacheManager getCacheManager()

unwrap

public <T> T unwrap(Class<T> clazz)

registerCacheEntryListener

public void registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)

deregisterCacheEntryListener

public void deregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)

updateCacheListenerConfigOnOtherNodes

protected void updateCacheListenerConfigOnOtherNodes(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration,
                                                     boolean isRegister)

iterator

public Iterator<javax.cache.Cache.Entry<K,V>> iterator()

getAsync

public ICompletableFuture<V> getAsync(K key)
Specified by:
getAsync in interface ICache<K,V>

getAsync

public ICompletableFuture<V> getAsync(K key,
                                      javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
getAsync in interface ICache<K,V>

putAsync

public ICompletableFuture<Void> putAsync(K key,
                                         V value)
Specified by:
putAsync in interface ICache<K,V>

putAsync

public ICompletableFuture<Void> putAsync(K key,
                                         V value,
                                         javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
putAsync in interface ICache<K,V>

putIfAbsentAsync

public ICompletableFuture<Boolean> putIfAbsentAsync(K key,
                                                    V value)
Specified by:
putIfAbsentAsync in interface ICache<K,V>

putIfAbsentAsync

public ICompletableFuture<Boolean> putIfAbsentAsync(K key,
                                                    V value,
                                                    javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
putIfAbsentAsync in interface ICache<K,V>

getAndPutAsync

public ICompletableFuture<V> getAndPutAsync(K key,
                                            V value)
Specified by:
getAndPutAsync in interface ICache<K,V>

getAndPutAsync

public ICompletableFuture<V> getAndPutAsync(K key,
                                            V value,
                                            javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
getAndPutAsync in interface ICache<K,V>

removeAsync

public ICompletableFuture<Boolean> removeAsync(K key)
Specified by:
removeAsync in interface ICache<K,V>

removeAsync

public ICompletableFuture<Boolean> removeAsync(K key,
                                               V oldValue)
Specified by:
removeAsync in interface ICache<K,V>

getAndRemoveAsync

public ICompletableFuture<V> getAndRemoveAsync(K key)
Specified by:
getAndRemoveAsync in interface ICache<K,V>

replaceAsync

public ICompletableFuture<Boolean> replaceAsync(K key,
                                                V value)
Specified by:
replaceAsync in interface ICache<K,V>

replaceAsync

public ICompletableFuture<Boolean> replaceAsync(K key,
                                                V value,
                                                javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
replaceAsync in interface ICache<K,V>

replaceAsync

public ICompletableFuture<Boolean> replaceAsync(K key,
                                                V oldValue,
                                                V newValue)
Specified by:
replaceAsync in interface ICache<K,V>

replaceAsync

public ICompletableFuture<Boolean> replaceAsync(K key,
                                                V oldValue,
                                                V newValue,
                                                javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
replaceAsync in interface ICache<K,V>

getAndReplaceAsync

public ICompletableFuture<V> getAndReplaceAsync(K key,
                                                V value)
Specified by:
getAndReplaceAsync in interface ICache<K,V>

getAndReplaceAsync

public ICompletableFuture<V> getAndReplaceAsync(K key,
                                                V value,
                                                javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
getAndReplaceAsync in interface ICache<K,V>

get

public V get(K key,
             javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
get in interface ICache<K,V>

getAll

public Map<K,V> getAll(Set<? extends K> keys,
                       javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
getAll in interface ICache<K,V>

put

public void put(K key,
                V value,
                javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
put in interface ICache<K,V>

getAndPut

public V getAndPut(K key,
                   V value,
                   javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
getAndPut in interface ICache<K,V>

putAll

public void putAll(Map<? extends K,? extends V> map,
                   javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
putAll in interface ICache<K,V>

putIfAbsent

public boolean putIfAbsent(K key,
                           V value,
                           javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
putIfAbsent in interface ICache<K,V>

replace

public boolean replace(K key,
                       V oldValue,
                       V newValue,
                       javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
replace in interface ICache<K,V>

replace

public boolean replace(K key,
                       V value,
                       javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
replace in interface ICache<K,V>

getAndReplace

public V getAndReplace(K key,
                       V value,
                       javax.cache.expiry.ExpiryPolicy expiryPolicy)
Specified by:
getAndReplace in interface ICache<K,V>

size

public int size()
Specified by:
size in interface ICache<K,V>

getLocalCacheStatistics

public CacheStatistics getLocalCacheStatistics()
Specified by:
getLocalCacheStatistics in interface ICache<K,V>

invoke

protected <T> ICompletableFuture<T> invoke(ClientRequest req,
                                           Data keyData,
                                           boolean completionOperation)

getSafely

protected <T> T getSafely(Future<T> future)

removeAsyncInternal

protected <T> ICompletableFuture<T> removeAsyncInternal(K key,
                                                        V oldValue,
                                                        boolean hasOldValue,
                                                        boolean isGet,
                                                        boolean withCompletionEvent)

replaceAsyncInternal

protected <T> ICompletableFuture<T> replaceAsyncInternal(K key,
                                                         V oldValue,
                                                         V newValue,
                                                         javax.cache.expiry.ExpiryPolicy expiryPolicy,
                                                         boolean hasOldValue,
                                                         boolean isGet,
                                                         boolean withCompletionEvent)

putAsyncInternal

protected <T> ICompletableFuture<T> putAsyncInternal(K key,
                                                     V value,
                                                     javax.cache.expiry.ExpiryPolicy expiryPolicy,
                                                     boolean isGet,
                                                     boolean withCompletionEvent)

putIfAbsentAsyncInternal

protected ICompletableFuture<Boolean> putIfAbsentAsyncInternal(K key,
                                                               V value,
                                                               javax.cache.expiry.ExpiryPolicy expiryPolicy,
                                                               boolean withCompletionEvent)

removeAllInternal

protected void removeAllInternal(Set<? extends K> keys,
                                 boolean isRemoveAll)

clearInternal

protected void clearInternal()

storeInNearCache

protected void storeInNearCache(Data key,
                                Data valueData,
                                V value)

invalidateNearCache

protected void invalidateNearCache(Data key)

addListenerLocally

protected void addListenerLocally(String regId,
                                  javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)

removeListenerLocally

protected String removeListenerLocally(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)

closeListeners

protected void closeListeners()

countDownCompletionLatch

public void countDownCompletionLatch(int id)
Specified by:
countDownCompletionLatch in interface CacheSyncListenerCompleter

registerCompletionLatch

protected Integer registerCompletionLatch(int count)

deregisterCompletionLatch

protected void deregisterCompletionLatch(Integer countDownLatchId)

waitCompletionLatch

protected void waitCompletionLatch(Integer countDownLatchId)

waitCompletionLatch

protected void waitCompletionLatch(Integer countDownLatchId,
                                   int offset)

createHandler

protected EventHandler<Object> createHandler(CacheEventListenerAdaptor adaptor)

createCompletedFuture

protected ICompletableFuture createCompletedFuture(Object value)

ensureOpen

protected void ensureOpen()

close

public void close()

destroy

public void destroy()

isClosed

public boolean isClosed()

getNameWithPrefix

public String getNameWithPrefix()

toObject

protected <T> T toObject(Object data)

toData

protected Data toData(Object o)

invoke

protected <T> T invoke(ClientRequest req)

validateCacheLoader

protected void validateCacheLoader(javax.cache.integration.CompletionListener completionListener)

closeCacheLoader

protected void closeCacheLoader()

submitLoadAllTask

protected void submitLoadAllTask(CacheLoadAllRequest request,
                                 javax.cache.integration.CompletionListener completionListener)


Copyright © 2015 Hazelcast, Inc.. All Rights Reserved.