From 5e7c489921f3141e62f229646d7f16c7b691be3d Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sun, 1 May 2011 00:18:55 +0200 Subject: Add 2-argument events git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@43 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/util/Event2.java | 23 +++++++++++++++++++++++ src/jrummikub/util/IEvent2.java | 6 ++++++ src/jrummikub/util/IListener2.java | 5 +++++ 3 files changed, 34 insertions(+) create mode 100644 src/jrummikub/util/Event2.java create mode 100644 src/jrummikub/util/IEvent2.java create mode 100644 src/jrummikub/util/IListener2.java (limited to 'src/jrummikub') diff --git a/src/jrummikub/util/Event2.java b/src/jrummikub/util/Event2.java new file mode 100644 index 0000000..19d2d58 --- /dev/null +++ b/src/jrummikub/util/Event2.java @@ -0,0 +1,23 @@ +package jrummikub.util; + +import java.util.HashSet; + +public class Event2 implements IEvent2 { +private HashSet> listeners = new HashSet>(); + + @Override + public void add(IListener2 listener) { + listeners.add(listener); + } + + @Override + public void remove(IListener2 listener) { + listeners.remove(listener); + } + + public void fire(T1 value1, T2 value2) { + for (IListener2 listener : listeners) { + listener.fire(value1, value2); + } + } +} diff --git a/src/jrummikub/util/IEvent2.java b/src/jrummikub/util/IEvent2.java new file mode 100644 index 0000000..f677a2d --- /dev/null +++ b/src/jrummikub/util/IEvent2.java @@ -0,0 +1,6 @@ +package jrummikub.util; + +public interface IEvent2 { + public void add(IListener2 listener); + public void remove(IListener2 listener); +} diff --git a/src/jrummikub/util/IListener2.java b/src/jrummikub/util/IListener2.java new file mode 100644 index 0000000..b1832c1 --- /dev/null +++ b/src/jrummikub/util/IListener2.java @@ -0,0 +1,5 @@ +package jrummikub.util; + +public interface IListener2 { + public void fire(T1 value1, T2 value2); +} -- cgit v1.2.3