package org.infinispan.counter.util; import org.infinispan.counter.SyncWeakCounter; import org.infinispan.counter.api.CounterListener; import org.infinispan.counter.api.Handle; import org.infinispan.counter.api.WeakCounter; /** * @author Pedro Ruivo * @since 9.0 */ public class WeakTestCounter implements TestCounter { private final SyncWeakCounter syncCounter; private final WeakCounter counter; public WeakTestCounter(WeakCounter counter) { this.counter = counter; this.syncCounter = new SyncWeakCounter(counter); } @Override public <T extends CounterListener> Handle<T> addListener(T listener) { return counter.addListener(listener); } @Override public void increment() { syncCounter.increment(); } @Override public void add(long delta) { syncCounter.add(delta); } @Override public void decrement() { syncCounter.decrement(); } @Override public long getValue() { return syncCounter.getValue(); } @Override public void reset() { syncCounter.reset(); } }