@Test public void testCloneFailures() throws Exception { Cache cache = new Cache("testGetMemoryStore", 10, false, false, 100, 200); manager.addCache(cache); try { cache.clone(); fail("Should have thrown CloneNotSupportedException"); } catch (CloneNotSupportedException e) { } }
public final Object clone() throws CloneNotSupportedException { if (!(memoryStore == null && diskStore == null)) { throw new CloneNotSupportedException("Cannot clone an initialized cache."); } Cache copy = (Cache) super.clone(); copy.configuration = (CacheConfiguration) configuration.clone(); copy.guid = createGuid(); RegisteredEventListeners registeredEventListenersFromCopy = copy.getCacheEventNotificationService(); if (registeredEventListenersFromCopy == null || registeredEventListenersFromCopy.getCacheEventListeners().size() == 0) { copy.registeredEventListeners = new RegisteredEventListeners(copy); } else { copy.registeredEventListeners = new RegisteredEventListeners(copy); Set cacheEventListeners = registeredEventListeners.getCacheEventListeners(); for (Object cacheEventListener1 : cacheEventListeners) { CacheEventListener cacheEventListener = (CacheEventListener) cacheEventListener1; CacheEventListener cacheEventListenerClone = (CacheEventListener) cacheEventListener.clone(); copy.registeredEventListeners.registerListener(cacheEventListenerClone); } } copy.registeredCacheExtensions = new CopyOnWriteArrayList<CacheExtension>(); for (CacheExtension registeredCacheExtension : registeredCacheExtensions) { copy.registerCacheExtension(registeredCacheExtension.clone(copy)); } copy.registeredCacheLoaders = new CopyOnWriteArrayList<CacheLoader>(); for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { copy.registerCacheLoader(registeredCacheLoader.clone(copy)); } if (bootstrapCacheLoader != null) { BootstrapCacheLoader bootstrapCacheLoaderClone = (BootstrapCacheLoader) bootstrapCacheLoader.clone(); copy.setBootstrapCacheLoader(bootstrapCacheLoaderClone); } return copy; }
Cache implements Ehcache { public final Object clone() throws CloneNotSupportedException { if (!(memoryStore == null && diskStore == null)) { throw new CloneNotSupportedException("Cannot clone an initialized cache."); } Cache copy = (Cache) super.clone(); copy.configuration = (CacheConfiguration) configuration.clone(); copy.guid = createGuid(); RegisteredEventListeners registeredEventListenersFromCopy = copy.getCacheEventNotificationService(); if (registeredEventListenersFromCopy == null || registeredEventListenersFromCopy.getCacheEventListeners().size() == 0) { copy.registeredEventListeners = new RegisteredEventListeners(copy); } else { copy.registeredEventListeners = new RegisteredEventListeners(copy); Set cacheEventListeners = registeredEventListeners.getCacheEventListeners(); for (Object cacheEventListener1 : cacheEventListeners) { CacheEventListener cacheEventListener = (CacheEventListener) cacheEventListener1; CacheEventListener cacheEventListenerClone = (CacheEventListener) cacheEventListener.clone(); copy.registeredEventListeners.registerListener(cacheEventListenerClone); } } copy.registeredCacheExtensions = new CopyOnWriteArrayList<CacheExtension>(); for (CacheExtension registeredCacheExtension : registeredCacheExtensions) { copy.registerCacheExtension(registeredCacheExtension.clone(copy)); } copy.registeredCacheLoaders = new CopyOnWriteArrayList<CacheLoader>(); for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { copy.registerCacheLoader(registeredCacheLoader.clone(copy)); } if (bootstrapCacheLoader != null) { BootstrapCacheLoader bootstrapCacheLoaderClone = (BootstrapCacheLoader) bootstrapCacheLoader.clone(); copy.setBootstrapCacheLoader(bootstrapCacheLoaderClone); } return copy; } }
Cache implements Ehcache { public final Object clone() throws CloneNotSupportedException { if (!(memoryStore == null && diskStore == null)) { throw new CloneNotSupportedException("Cannot clone an initialized cache."); } Cache copy = (Cache) super.clone(); copy.configuration = (CacheConfiguration) configuration.clone(); copy.guid = createGuid(); RegisteredEventListeners registeredEventListenersFromCopy = copy.getCacheEventNotificationService(); if (registeredEventListenersFromCopy == null || registeredEventListenersFromCopy.getCacheEventListeners().size() == 0) { copy.registeredEventListeners = new RegisteredEventListeners(copy); } else { copy.registeredEventListeners = new RegisteredEventListeners(copy); Set cacheEventListeners = registeredEventListeners.getCacheEventListeners(); for (Object cacheEventListener1 : cacheEventListeners) { CacheEventListener cacheEventListener = (CacheEventListener) cacheEventListener1; CacheEventListener cacheEventListenerClone = (CacheEventListener) cacheEventListener.clone(); copy.registeredEventListeners.registerListener(cacheEventListenerClone); } } copy.registeredCacheExtensions = new CopyOnWriteArrayList<CacheExtension>(); for (CacheExtension registeredCacheExtension : registeredCacheExtensions) { copy.registerCacheExtension(registeredCacheExtension.clone(copy)); } copy.registeredCacheLoaders = new CopyOnWriteArrayList<CacheLoader>(); for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { copy.registerCacheLoader(registeredCacheLoader.clone(copy)); } if (bootstrapCacheLoader != null) { BootstrapCacheLoader bootstrapCacheLoaderClone = (BootstrapCacheLoader) bootstrapCacheLoader.clone(); copy.setBootstrapCacheLoader(bootstrapCacheLoaderClone); } return copy; } 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 Object clone() throws CloneNotSupportedException { if (!(memoryStore == null && diskStore == null)) { throw new CloneNotSupportedException("Cannot clone an initialized cache."); } Cache copy = (Cache) super.clone(); copy.configuration = (CacheConfiguration) configuration.clone(); copy.guid = createGuid(); RegisteredEventListeners registeredEventListenersFromCopy = copy.getCacheEventNotificationService(); if (registeredEventListenersFromCopy == null || registeredEventListenersFromCopy.getCacheEventListeners().size() == 0) { copy.registeredEventListeners = new RegisteredEventListeners(copy); } else { copy.registeredEventListeners = new RegisteredEventListeners(copy); Set cacheEventListeners = registeredEventListeners.getCacheEventListeners(); for (Object cacheEventListener1 : cacheEventListeners) { CacheEventListener cacheEventListener = (CacheEventListener) cacheEventListener1; CacheEventListener cacheEventListenerClone = (CacheEventListener) cacheEventListener.clone(); copy.registeredEventListeners.registerListener(cacheEventListenerClone); } } copy.registeredCacheExtensions = new CopyOnWriteArrayList<CacheExtension>(); for (CacheExtension registeredCacheExtension : registeredCacheExtensions) { copy.registerCacheExtension(registeredCacheExtension.clone(copy)); } copy.registeredCacheLoaders = new CopyOnWriteArrayList<CacheLoader>(); for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { copy.registerCacheLoader(registeredCacheLoader.clone(copy)); } if (bootstrapCacheLoader != null) { BootstrapCacheLoader bootstrapCacheLoaderClone = (BootstrapCacheLoader) bootstrapCacheLoader.clone(); copy.setBootstrapCacheLoader(bootstrapCacheLoaderClone); } return copy; } 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 Object clone() throws CloneNotSupportedException { if (!(memoryStore == null && diskStore == null)) { throw new CloneNotSupportedException("Cannot clone an initialized cache."); } Cache copy = (Cache) super.clone(); copy.configuration = (CacheConfiguration) configuration.clone(); copy.guid = createGuid(); RegisteredEventListeners registeredEventListenersFromCopy = copy.getCacheEventNotificationService(); if (registeredEventListenersFromCopy == null || registeredEventListenersFromCopy.getCacheEventListeners().size() == 0) { copy.registeredEventListeners = new RegisteredEventListeners(copy); } else { copy.registeredEventListeners = new RegisteredEventListeners(copy); Set cacheEventListeners = registeredEventListeners.getCacheEventListeners(); for (Object cacheEventListener1 : cacheEventListeners) { CacheEventListener cacheEventListener = (CacheEventListener) cacheEventListener1; CacheEventListener cacheEventListenerClone = (CacheEventListener) cacheEventListener.clone(); copy.registeredEventListeners.registerListener(cacheEventListenerClone); } } copy.registeredCacheExtensions = new CopyOnWriteArrayList<CacheExtension>(); for (CacheExtension registeredCacheExtension : registeredCacheExtensions) { copy.registerCacheExtension(registeredCacheExtension.clone(copy)); } copy.registeredCacheLoaders = new CopyOnWriteArrayList<CacheLoader>(); for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { copy.registerCacheLoader(registeredCacheLoader.clone(copy)); } if (bootstrapCacheLoader != null) { BootstrapCacheLoader bootstrapCacheLoaderClone = (BootstrapCacheLoader) bootstrapCacheLoader.clone(); copy.setBootstrapCacheLoader(bootstrapCacheLoaderClone); } return copy; } 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; }