package freenet.store; import java.io.IOException; import freenet.node.stats.StoreAccessStats; import freenet.node.useralerts.UserAlertManager; import freenet.support.Ticker; public class ProxyFreenetStore<T extends StorableBlock> implements FreenetStore<T> { protected final FreenetStore<T> backDatastore; public ProxyFreenetStore(FreenetStore<T> backDatastore) { this.backDatastore = backDatastore; } @Override public long getBloomFalsePositive() { return backDatastore.getBloomFalsePositive(); } @Override public long getMaxKeys() { return backDatastore.getMaxKeys(); } @Override public long hits() { return backDatastore.hits(); } @Override public long keyCount() { return backDatastore.keyCount(); } @Override public long misses() { return backDatastore.misses(); } @Override public void setMaxKeys(long maxStoreKeys, boolean shrinkNow) throws IOException { backDatastore.setMaxKeys(maxStoreKeys, shrinkNow); } @Override public long writes() { return backDatastore.writes(); } @Override public StoreAccessStats getSessionAccessStats() { return backDatastore.getSessionAccessStats(); } @Override public StoreAccessStats getTotalAccessStats() { return backDatastore.getTotalAccessStats(); } @Override public void setUserAlertManager(UserAlertManager userAlertManager) { this.backDatastore.setUserAlertManager(userAlertManager); } @Override public FreenetStore<T> getUnderlyingStore() { return this.backDatastore; } @Override public T fetch(byte[] routingKey, byte[] fullKey, boolean dontPromote, boolean canReadClientCache, boolean canReadSlashdotCache, boolean ignoreOldBlocks, BlockMetadata meta) throws IOException { return backDatastore.fetch(routingKey, fullKey, dontPromote, canReadClientCache, canReadSlashdotCache, ignoreOldBlocks, meta); } @Override public void put(T block, byte[] data, byte[] header, boolean overwrite, boolean oldBlock) throws IOException, KeyCollisionException { backDatastore.put(block, data, header, overwrite, oldBlock); } @Override public boolean probablyInStore(byte[] routingKey) { return backDatastore.probablyInStore(routingKey); } @Override public boolean start(Ticker ticker, boolean longStart) throws IOException { return backDatastore.start(ticker, longStart); } @Override public void close() { backDatastore.close(); } }