diff --git a/mock/jrummikub/util/MockEvent.java b/mock/jrummikub/util/MockEvent.java index 2f0efe5..65aec9d 100644 --- a/mock/jrummikub/util/MockEvent.java +++ b/mock/jrummikub/util/MockEvent.java @@ -6,8 +6,15 @@ public class MockEvent implements IEvent { public HashSet listeners = new HashSet(); @Override - public void add(IListener listener) { + public Connection add(final IListener listener) { listeners.add(listener); + return new Connection() { + + @Override + public void remove() { + MockEvent.this.remove(listener); + } + }; } @Override diff --git a/mock/jrummikub/util/MockEvent1.java b/mock/jrummikub/util/MockEvent1.java index 74cae0f..94b0257 100644 --- a/mock/jrummikub/util/MockEvent1.java +++ b/mock/jrummikub/util/MockEvent1.java @@ -6,8 +6,15 @@ public class MockEvent1 implements IEvent1 { public HashSet> listeners = new HashSet>(); @Override - public void add(IListener1 listener) { + public Connection add(final IListener1 listener) { listeners.add(listener); + return new Connection() { + + @Override + public void remove() { + MockEvent1.this.remove(listener); + } + }; } @Override diff --git a/mock/jrummikub/util/MockEvent2.java b/mock/jrummikub/util/MockEvent2.java index 93e8228..5aa7b59 100644 --- a/mock/jrummikub/util/MockEvent2.java +++ b/mock/jrummikub/util/MockEvent2.java @@ -6,8 +6,15 @@ public class MockEvent2 implements IEvent2 { public HashSet> listeners = new HashSet>(); @Override - public void add(IListener2 listener) { + public Connection add(final IListener2 listener) { listeners.add(listener); + return new Connection() { + + @Override + public void remove() { + MockEvent2.this.remove(listener); + } + }; } @Override