package de.axone.cache.ng; import java.util.Collection; import java.util.HashSet; import java.util.LinkedList; import java.util.Set; import de.axone.cache.ng.CacheNG.Realm; /** * BackendCache which does not cache anything * * @author flo * * @param <K> * @param <O> */ public class CacheNoCache<K,O> implements CacheNG.Cache<K,O> { private final Realm<?,?> realm; public CacheNoCache( Realm<?,?> realm ){ this.realm = realm; } @Override public Set<K> keySet() { return new HashSet<K>(); } @Override public Collection<O> values() { return new LinkedList<O>(); } @Override public boolean isCached( K key ) { return false; } @Override public O fetch( K key ) { return null; } @Override public void put( K key, O value ) {} @Override public void invalidate( K key ) {} @Override public int size() { return 0; } @Override public String info() { return "no caching: " + realm.name(); } @Override public int capacity() { return 0; } @Override public CacheNG.Cache.Entry<O> fetchEntry( K key ) { return null; } @Override public void invalidateAll( boolean force ) {} @Override public String toString() { return info(); } @Override public double ratio() { // No caching so zero is correct return 0; } }