Action.java 504 B

1234567891011121314151617181920
  1. package util;
  2. import java.util.HashSet;
  3. import java.util.Set;
  4. import java.util.function.Consumer;
  5. public class Action<T> {
  6. private Set<Consumer<T>> listeners = new HashSet<Consumer<T>>();
  7. public void addListener(Consumer<T> listener) {
  8. listeners.add(listener);
  9. }
  10. public void removeListener(Consumer<T> listener) {
  11. listeners.remove(listener);
  12. }
  13. public void broadcast(T argument) {
  14. listeners.forEach(x -> x.accept(argument));
  15. }
  16. }