package de.axone.cache.ng;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import de.axone.cache.ng.CacheNG.Cache;
public abstract class AbstractCache<K,O>
extends AbstractCacheEventProvider<K,O>
implements CacheNG.CacheEventListener<K> {
public abstract Cache.Entry<O> fetchEntry( K key );
public @Nullable O fetch( @Nonnull K key ){
Cache.Entry<O> entry = fetchEntry( key );
if( entry == null ) return null;
return entry.data();
}
public void invalidate( K key ){
listenersInvalidate( key );
invalidateEvent( key );
}
public void invalidateAll( boolean force ){
listenersInvalidateAll( force );
invalidateAllEvent( force );
}
}