001
014
015 package com.liferay.portal.kernel.cache;
016
017 import java.util.Collections;
018 import java.util.Set;
019 import java.util.concurrent.CopyOnWriteArraySet;
020
021
024 public class AggregatedCacheManagerListener implements CacheManagerListener {
025
026 public boolean addCacheListener(CacheManagerListener cacheManagerListener) {
027 if (cacheManagerListener == null) {
028 return false;
029 }
030
031 return _cacheManagerListeners.add(cacheManagerListener);
032 }
033
034 public void clearAll() {
035 _cacheManagerListeners.clear();
036 }
037
038 @Override
039 public void dispose() throws PortalCacheException {
040 for (CacheManagerListener cacheManagerListener :
041 _cacheManagerListeners) {
042
043 cacheManagerListener.dispose();
044 }
045 }
046
047 public Set<CacheManagerListener> getCacheManagerListeners() {
048 return Collections.unmodifiableSet(_cacheManagerListeners);
049 }
050
051 @Override
052 public void init() throws PortalCacheException {
053 for (CacheManagerListener cacheManagerListener :
054 _cacheManagerListeners) {
055
056 cacheManagerListener.init();
057 }
058 }
059
060 @Override
061 public void notifyCacheAdded(String name) {
062 for (CacheManagerListener cacheManagerListener :
063 _cacheManagerListeners) {
064
065 cacheManagerListener.notifyCacheAdded(name);
066 }
067 }
068
069 @Override
070 public void notifyCacheRemoved(String name) {
071 for (CacheManagerListener cacheManagerListener :
072 _cacheManagerListeners) {
073
074 cacheManagerListener.notifyCacheRemoved(name);
075 }
076 }
077
078 public boolean removeCacheListener(
079 CacheManagerListener cacheManagerListener) {
080
081 if (cacheManagerListener == null) {
082 return false;
083 }
084
085 return _cacheManagerListeners.remove(cacheManagerListener);
086 }
087
088 private final Set<CacheManagerListener> _cacheManagerListeners =
089 new CopyOnWriteArraySet<CacheManagerListener>();
090
091 }