Implemented Connection creation in event classes
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@151 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
53824198db
commit
5c94d4f9a0
3 changed files with 24 additions and 6 deletions
|
@ -7,9 +7,15 @@ public class Event implements IEvent {
|
|||
private HashSet<IListener> listeners = new HashSet<IListener>();
|
||||
|
||||
@Override
|
||||
public Connection add(IListener listener) {
|
||||
public Connection add(final IListener listener) {
|
||||
listeners.add(listener);
|
||||
return null;
|
||||
return new Connection() {
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
Event.this.remove(listener);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -12,9 +12,15 @@ public class Event1<T> implements IEvent1<T> {
|
|||
private HashSet<IListener1<T>> listeners = new HashSet<IListener1<T>>();
|
||||
|
||||
@Override
|
||||
public Connection add(IListener1<T> listener) {
|
||||
public Connection add(final IListener1<T> listener) {
|
||||
listeners.add(listener);
|
||||
return null;
|
||||
return new Connection() {
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
Event1.this.remove(listener);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -14,9 +14,15 @@ public class Event2<T1, T2> implements IEvent2<T1, T2> {
|
|||
private HashSet<IListener2<T1, T2>> listeners = new HashSet<IListener2<T1, T2>>();
|
||||
|
||||
@Override
|
||||
public Connection add(IListener2<T1, T2> listener) {
|
||||
public Connection add(final IListener2<T1, T2> listener) {
|
||||
listeners.add(listener);
|
||||
return null;
|
||||
return new Connection() {
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
Event2.this.remove(listener);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Reference in a new issue