@Test public void testRemoveByGroup() { Ehcache cache = createTestCache(); putGroupTestSuite(3,4,cache); assertEquals("There should be 4 elements, 2 groups, and one master group", 4+2+1, cache.getSize()); Set removedKeys = cache.removeByGroup(GROUP_KEY_DIV2, false); assertEquals("There should be 2 elements, 1 group, and one master group", 2+1+1, cache.getSize()); assertFalse(cache.isKeyInCache(GROUP_KEY_DIV2)); assertFalse(cache.isKeyInCache(ELEMENT_KEY4)); assertFalse(cache.isKeyInCache(ELEMENT_KEY6)); assertEqualSets(new String[] {ELEMENT_KEY4, ELEMENT_KEY6}, removedKeys); testGroupElement(cache, GROUP_KEY_DIV3, new String[] {ELEMENT_KEY3}, false); testGroupElement(cache, cache.getMasterGroupKey(), new String[] {GROUP_KEY_DIV3}, true); assertTrue(cache.isKeyInCache(ELEMENT_KEY5)); }
public final Set removeByGroup(Object groupKey, boolean doNotNotifyCacheReplicators) throws IllegalStateException, CacheException { Set proposedRemovals = getKeysForGroup(groupKey); if (proposedRemovals == null) { return null; } proposedRemovals = new HashSet(proposedRemovals); Set actualRemovals = new HashSet(); for (Object key : proposedRemovals) { boolean removed = remove(key, doNotNotifyCacheReplicators); if (removed) { actualRemovals.add(key); } } return actualRemovals; }
Cache implements Ehcache { public final Set removeByGroup(Object groupKey, boolean doNotNotifyCacheReplicators) throws IllegalStateException, CacheException { Set proposedRemovals = getKeysForGroup(groupKey); if (proposedRemovals == null) { return null; } proposedRemovals = new HashSet(proposedRemovals); Set actualRemovals = new HashSet(); for (Object key : proposedRemovals) { boolean removed = remove(key, doNotNotifyCacheReplicators); if (removed) { actualRemovals.add(key); } } return actualRemovals; } }
Cache implements Ehcache { public final Set removeByGroup(Object groupKey, boolean doNotNotifyCacheReplicators) throws IllegalStateException, CacheException { Set proposedRemovals = getKeysForGroup(groupKey); if (proposedRemovals == null) { return null; } proposedRemovals = new HashSet(proposedRemovals); Set actualRemovals = new HashSet(); for (Object key : proposedRemovals) { boolean removed = remove(key, doNotNotifyCacheReplicators); if (removed) { actualRemovals.add(key); } } return actualRemovals; } Cache(String name, int maxElementsInMemory, boolean overflowToDisk,
                 boolean eternal, long timeToLiveSeconds, long timeToIdleSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 boolean overflowToDisk,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB); }
Cache implements Ehcache { public final Set removeByGroup(Object groupKey, boolean doNotNotifyCacheReplicators) throws IllegalStateException, CacheException { Set proposedRemovals = getKeysForGroup(groupKey); if (proposedRemovals == null) { return null; } proposedRemovals = new HashSet(proposedRemovals); Set actualRemovals = new HashSet(); for (Object key : proposedRemovals) { boolean removed = remove(key, doNotNotifyCacheReplicators); if (removed) { actualRemovals.add(key); } } return actualRemovals; } Cache(String name, int maxElementsInMemory, boolean overflowToDisk,
                 boolean eternal, long timeToLiveSeconds, long timeToIdleSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 boolean overflowToDisk,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB); void initialise(); void bootstrap(); final void put(Element element); final void put(Element element, boolean doNotNotifyCacheReplicators); final void putQuiet(Element element); final Element get(Serializable key); final Element get(Object key); Element getWithLoader(Object key, CacheLoader loader, Object loaderArgument); void load(final Object key); Map getAllWithLoader(Collection keys, Object loaderArgument); void loadAll(final Collection keys, final Object argument); final Element getQuiet(Serializable key); final Element getQuiet(Object key); final List getKeys(); final List getKeysWithExpiryCheck(); final List getKeysNoDuplicateCheck(); final boolean remove(Serializable key); final boolean remove(Object key); final boolean remove(Serializable key, boolean doNotNotifyCacheReplicators); final boolean remove(Object key, boolean doNotNotifyCacheReplicators); final boolean removeQuiet(Serializable key); final boolean removeQuiet(Object key); void removeAll(); void removeAll(boolean doNotNotifyCacheReplicators); synchronized void dispose(); CacheConfiguration getCacheConfiguration(); final synchronized void flush(); final int getSize(); final long calculateInMemorySize(); final long getMemoryStoreSize(); final int getDiskStoreSize(); final Status getStatus(); final String getName(); final void setName(String name); final String toString(); final boolean isExpired(Element element); final Object clone(); final RegisteredEventListeners getCacheEventNotificationService(); final boolean isElementInMemory(Serializable key); final boolean isElementInMemory(Object key); final boolean isElementOnDisk(Serializable key); final boolean isElementOnDisk(Object key); final String getGuid(); final CacheManager getCacheManager(); void clearStatistics(); int getStatisticsAccuracy(); void setStatisticsAccuracy(int statisticsAccuracy); void evictExpiredElements(); boolean isKeyInCache(Object key); boolean isValueInCache(Object value); Statistics getStatistics(); void setCacheManager(CacheManager cacheManager); BootstrapCacheLoader getBootstrapCacheLoader(); void setBootstrapCacheLoader(BootstrapCacheLoader bootstrapCacheLoader); void setDiskStorePath(String diskStorePath); boolean equals(Object object); int hashCode(); void registerCacheExtension(CacheExtension cacheExtension); List<CacheExtension> getRegisteredCacheExtensions(); void unregisterCacheExtension(CacheExtension cacheExtension); float getAverageGetTime(); void setCacheExceptionHandler(CacheExceptionHandler cacheExceptionHandler); CacheExceptionHandler getCacheExceptionHandler(); void registerCacheLoader(CacheLoader cacheLoader); void unregisterCacheLoader(CacheLoader cacheLoader); List<CacheLoader> getRegisteredCacheLoaders(); boolean isDisabled(); void setDisabled(boolean disabled); Policy getMemoryStoreEvictionPolicy(); void setMemoryStoreEvictionPolicy(Policy policy); String getMasterGroupKey(); void setMasterGroupKey(String masterGroupKey); final Set getKeysForGroup(Object groupKey); final Set removeByGroup(Object groupKey, boolean doNotNotifyCacheReplicators); }
Cache implements Ehcache { public final Set removeByGroup(Object groupKey, boolean doNotNotifyCacheReplicators) throws IllegalStateException, CacheException { Set proposedRemovals = getKeysForGroup(groupKey); if (proposedRemovals == null) { return null; } proposedRemovals = new HashSet(proposedRemovals); Set actualRemovals = new HashSet(); for (Object key : proposedRemovals) { boolean removed = remove(key, doNotNotifyCacheReplicators); if (removed) { actualRemovals.add(key); } } return actualRemovals; } Cache(String name, int maxElementsInMemory, boolean overflowToDisk,
                 boolean eternal, long timeToLiveSeconds, long timeToIdleSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 boolean overflowToDisk,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB); void initialise(); void bootstrap(); final void put(Element element); final void put(Element element, boolean doNotNotifyCacheReplicators); final void putQuiet(Element element); final Element get(Serializable key); final Element get(Object key); Element getWithLoader(Object key, CacheLoader loader, Object loaderArgument); void load(final Object key); Map getAllWithLoader(Collection keys, Object loaderArgument); void loadAll(final Collection keys, final Object argument); final Element getQuiet(Serializable key); final Element getQuiet(Object key); final List getKeys(); final List getKeysWithExpiryCheck(); final List getKeysNoDuplicateCheck(); final boolean remove(Serializable key); final boolean remove(Object key); final boolean remove(Serializable key, boolean doNotNotifyCacheReplicators); final boolean remove(Object key, boolean doNotNotifyCacheReplicators); final boolean removeQuiet(Serializable key); final boolean removeQuiet(Object key); void removeAll(); void removeAll(boolean doNotNotifyCacheReplicators); synchronized void dispose(); CacheConfiguration getCacheConfiguration(); final synchronized void flush(); final int getSize(); final long calculateInMemorySize(); final long getMemoryStoreSize(); final int getDiskStoreSize(); final Status getStatus(); final String getName(); final void setName(String name); final String toString(); final boolean isExpired(Element element); final Object clone(); final RegisteredEventListeners getCacheEventNotificationService(); final boolean isElementInMemory(Serializable key); final boolean isElementInMemory(Object key); final boolean isElementOnDisk(Serializable key); final boolean isElementOnDisk(Object key); final String getGuid(); final CacheManager getCacheManager(); void clearStatistics(); int getStatisticsAccuracy(); void setStatisticsAccuracy(int statisticsAccuracy); void evictExpiredElements(); boolean isKeyInCache(Object key); boolean isValueInCache(Object value); Statistics getStatistics(); void setCacheManager(CacheManager cacheManager); BootstrapCacheLoader getBootstrapCacheLoader(); void setBootstrapCacheLoader(BootstrapCacheLoader bootstrapCacheLoader); void setDiskStorePath(String diskStorePath); boolean equals(Object object); int hashCode(); void registerCacheExtension(CacheExtension cacheExtension); List<CacheExtension> getRegisteredCacheExtensions(); void unregisterCacheExtension(CacheExtension cacheExtension); float getAverageGetTime(); void setCacheExceptionHandler(CacheExceptionHandler cacheExceptionHandler); CacheExceptionHandler getCacheExceptionHandler(); void registerCacheLoader(CacheLoader cacheLoader); void unregisterCacheLoader(CacheLoader cacheLoader); List<CacheLoader> getRegisteredCacheLoaders(); boolean isDisabled(); void setDisabled(boolean disabled); Policy getMemoryStoreEvictionPolicy(); void setMemoryStoreEvictionPolicy(Policy policy); String getMasterGroupKey(); void setMasterGroupKey(String masterGroupKey); final Set getKeysForGroup(Object groupKey); final Set removeByGroup(Object groupKey, boolean doNotNotifyCacheReplicators); static final String DEFAULT_CACHE_NAME; static final String NET_SF_EHCACHE_DISABLED; static final long DEFAULT_EXPIRY_THREAD_INTERVAL_SECONDS; }