28 lines
504 B
Java
28 lines
504 B
Java
package common;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.function.Consumer;
|
|
|
|
public class Signal1<T> {
|
|
private final List<Consumer<T>> handlers;
|
|
|
|
public Signal1() {
|
|
this.handlers = new ArrayList<>();
|
|
}
|
|
|
|
public void connect(Consumer<T> handler) {
|
|
this.handlers.add(handler);
|
|
}
|
|
|
|
public void disconnect(Consumer<T> handler) {
|
|
this.handlers.remove(handler);
|
|
}
|
|
|
|
public void emit(T arg) {
|
|
for (Consumer<T> handler : this.handlers) {
|
|
handler.accept(arg);
|
|
}
|
|
}
|
|
}
|