📄 swarmcache.java
字号:
//$Id: SwarmCache.java,v 1.6 2005/03/16 06:01:17 oneovthafew Exp $package org.hibernate.cache;import net.sf.swarmcache.ObjectCache;import java.io.Serializable;import java.util.Map;/** * @author Jason Carreira, Gavin King */public class SwarmCache implements Cache { private final ObjectCache cache; private final String regionName; public SwarmCache(ObjectCache cache, String regionName) { this.cache = cache; this.regionName = regionName; } /** * Get an item from the cache * @param key * @return the cached object or <tt>null</tt> * @throws CacheException */ public Object get(Object key) throws CacheException { if (key instanceof Serializable) { return cache.get( (Serializable) key ); } else { throw new CacheException("Keys must implement Serializable"); } } /** * Add an item to the cache * @param key * @param value * @throws CacheException */ public void update(Object key, Object value) throws CacheException { put(key, value); } /** * Add an item to the cache * @param key * @param value * @throws CacheException */ public void put(Object key, Object value) throws CacheException { if (key instanceof Serializable) { cache.put( (Serializable) key, value ); } else { throw new CacheException("Keys must implement Serializable"); } } /** * Remove an item from the cache */ public void remove(Object key) throws CacheException { if (key instanceof Serializable) { cache.clear( (Serializable) key ); } else { throw new CacheException("Keys must implement Serializable"); } } /** * Clear the cache */ public void clear() throws CacheException { cache.clearAll(); } /** * Clean up */ public void destroy() throws CacheException { cache.clearAll(); } /** * If this is a clustered cache, lock the item */ public void lock(Object key) throws CacheException { throw new UnsupportedOperationException("SwarmCache does not support locking (use nonstrict-read-write)"); } /** * If this is a clustered cache, unlock the item */ public void unlock(Object key) throws CacheException { throw new UnsupportedOperationException("SwarmCache does not support locking (use nonstrict-read-write)"); } /** * Generate a (coarse) timestamp */ public long nextTimestamp() { return System.currentTimeMillis() / 100; } /** * Get a reasonable "lock timeout" */ public int getTimeout() { return 600; } public String getRegionName() { return regionName; } public long getSizeInMemory() { return -1; } public long getElementCountInMemory() { return -1; } public long getElementCountOnDisk() { return -1; } public Map toMap() { throw new UnsupportedOperationException(); } public String toString() { return "SwarmCache(" + regionName + ')'; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -