package jrummikub.util; import java.util.HashSet; /** * Mock class for Event2s * * @param <T1> * first event type * @param <T2> * second event type */ public class MockEvent2<T1, T2> implements IEvent2<T1, T2> { /** */ public HashSet<IListener2<T1, T2>> listeners = new HashSet<IListener2<T1, T2>>(); @Override public Connection add(final IListener2<T1, T2> listener) { listeners.add(listener); return new Connection() { @Override public void remove() { MockEvent2.this.remove(listener); } }; } @Override public void remove(IListener2<T1, T2> listener) { listeners.remove(listener); } /** * @param value1 * the first event parameter * @param value2 * the second event parameter */ public void emit(T1 value1, T2 value2) { for (IListener2<T1, T2> listener : listeners) { listener.handle(value1, value2); } } }