package de.axone.cache.ng;
import java.util.LinkedList;
import java.util.List;
import de.axone.cache.ng.CacheNG.CacheEventListener;
import de.axone.cache.ng.CacheNG.CacheEventProvider;
public class AbstractCacheEventProvider<K,O> implements CacheEventProvider<K> {
private List<CacheEventListener<K>> listeners;
@Override
public void registerListener( CacheEventListener<K> listener ) {
if( listeners == null ) listeners = new LinkedList<>();
listeners.add( listener );
}
@Override
public void listenersInvalidate( K key ) {
if( listeners != null ) for( CacheEventListener<K> listener : listeners ){
listener.invalidateEvent( key );
}
}
@Override
public void listenersInvalidateAll( boolean force ) {
if( listeners != null ) for( CacheEventListener<K> listener : listeners ){
listener.invalidateAllEvent( force );
}
}
}