eXo Kernel :: Cache Extension :: Memcached Implementation 2.5.0-GA

org.exoplatform.services.cache.impl.memcached
Class MCExoCache<K extends Serializable,V>

java.lang.Object
  extended by org.exoplatform.services.cache.impl.memcached.MCExoCache<K,V>
All Implemented Interfaces:
ExoCache<K,V>

public class MCExoCache<K extends Serializable,V>
extends Object
implements ExoCache<K,V>

An ExoCache implementation based on spymemcached.

Version:
$Id$
Author:
Nicolas Filotto

Field Summary
protected  net.spy.memcached.MemcachedClient cache
           
 
Constructor Summary
MCExoCache(ExoContainerContext ctx, ExoCacheConfig config, net.spy.memcached.MemcachedClient cache, long expirationTimeout)
           
 
Method Summary
 void addCacheListener(CacheListener<? super K,? super V> listener)
          
 void clearCache()
          
 V get(Serializable name)
          
 List<V> getCachedObjects()
          
 int getCacheHit()
          
 int getCacheMiss()
          
 int getCacheSize()
          
 long getExpirationTimeout()
           
 String getLabel()
          
 long getLiveTime()
           
 int getMaxSize()
           
 String getName()
          
 boolean isDistributed()
          
 boolean isLogEnabled()
          
 boolean isReplicated()
          
 void put(K key, V value)
          
 void putMap(Map<? extends K,? extends V> objs)
          
protected  void putOnly(String namespace, K key, V value)
          Only puts the data into the cache nothing more
 V remove(Serializable name)
          
 List<V> removeCachedObjects()
          
 void select(CachedObjectSelector<? super K,? super V> selector)
          
 void setDistributed(boolean distributed)
          
 void setExpirationTimeout(long expirationTimeout)
           
 void setLabel(String label)
          
 void setLiveTime(long period)
           
 void setLogEnabled(boolean logEnabled)
          
 void setMaxSize(int max)
           
 void setName(String name)
          
 void setReplicated(boolean replicated)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cache

protected final net.spy.memcached.MemcachedClient cache
Constructor Detail

MCExoCache

public MCExoCache(ExoContainerContext ctx,
                  ExoCacheConfig config,
                  net.spy.memcached.MemcachedClient cache,
                  long expirationTimeout)
Method Detail

addCacheListener

public void addCacheListener(CacheListener<? super K,? super V> listener)

Specified by:
addCacheListener in interface ExoCache<K extends Serializable,V>

clearCache

public void clearCache()

Specified by:
clearCache in interface ExoCache<K extends Serializable,V>

get

public V get(Serializable name)

Specified by:
get in interface ExoCache<K extends Serializable,V>

getCacheHit

public int getCacheHit()

Specified by:
getCacheHit in interface ExoCache<K extends Serializable,V>

getCacheMiss

public int getCacheMiss()

Specified by:
getCacheMiss in interface ExoCache<K extends Serializable,V>

getCacheSize

public int getCacheSize()

Specified by:
getCacheSize in interface ExoCache<K extends Serializable,V>

getCachedObjects

public List<V> getCachedObjects()

Specified by:
getCachedObjects in interface ExoCache<K extends Serializable,V>

getLabel

public String getLabel()

Specified by:
getLabel in interface ExoCache<K extends Serializable,V>

getName

public String getName()

Specified by:
getName in interface ExoCache<K extends Serializable,V>

isDistributed

public boolean isDistributed()


isLogEnabled

public boolean isLogEnabled()

Specified by:
isLogEnabled in interface ExoCache<K extends Serializable,V>

isReplicated

public boolean isReplicated()


put

public void put(K key,
                V value)
         throws IllegalArgumentException

Specified by:
put in interface ExoCache<K extends Serializable,V>
Throws:
IllegalArgumentException

putOnly

protected void putOnly(String namespace,
                       K key,
                       V value)
Only puts the data into the cache nothing more


putMap

public void putMap(Map<? extends K,? extends V> objs)
            throws IllegalArgumentException

Specified by:
putMap in interface ExoCache<K extends Serializable,V>
Throws:
IllegalArgumentException

remove

public V remove(Serializable name)
         throws IllegalArgumentException

Specified by:
remove in interface ExoCache<K extends Serializable,V>
Throws:
IllegalArgumentException

removeCachedObjects

public List<V> removeCachedObjects()

Specified by:
removeCachedObjects in interface ExoCache<K extends Serializable,V>

select

public void select(CachedObjectSelector<? super K,? super V> selector)
            throws Exception

Specified by:
select in interface ExoCache<K extends Serializable,V>
Throws:
Exception

setDistributed

public void setDistributed(boolean distributed)


setLabel

public void setLabel(String label)

Specified by:
setLabel in interface ExoCache<K extends Serializable,V>

setLogEnabled

public void setLogEnabled(boolean logEnabled)

Specified by:
setLogEnabled in interface ExoCache<K extends Serializable,V>

setName

public void setName(String name)

Specified by:
setName in interface ExoCache<K extends Serializable,V>

setReplicated

public void setReplicated(boolean replicated)


getExpirationTimeout

public long getExpirationTimeout()

setExpirationTimeout

public void setExpirationTimeout(long expirationTimeout)

setMaxSize

public void setMaxSize(int max)
Specified by:
setMaxSize in interface ExoCache<K extends Serializable,V>

setLiveTime

public void setLiveTime(long period)
Specified by:
setLiveTime in interface ExoCache<K extends Serializable,V>

getMaxSize

public int getMaxSize()
Specified by:
getMaxSize in interface ExoCache<K extends Serializable,V>

getLiveTime

public long getLiveTime()
Specified by:
getLiveTime in interface ExoCache<K extends Serializable,V>

eXo Kernel :: Cache Extension :: Memcached Implementation 2.5.0-GA

Copyright © 2014 eXo Platform SAS. All Rights Reserved.