I am .Net developer. i want to know that is there any event handling mechanism in Java for Events Handling like C#.
what i want to do is i want to raise/fire an even
They are simple to use and convenient. i missed them in java so wrote a small utility class that mimics the very basics of C# Event
.
+=
operator, instead call .addListener((x) -> ...)
.broadcast()
Online Demo - https://repl.it/DvEo/2
Event.java
import java.util.HashSet;
import java.util.Set;
import java.util.function.Consumer;
public class Event {
private Set> listeners = new HashSet();
public void addListener(Consumer listener) {
listeners.add(listener);
}
public void broadcast(EventArgs args) {
listeners.forEach(x -> x.accept(args));
}
}
com.google.common.collect.Sets.newConcurrentHashSet()
for thread safetyEventArgs.java
public class EventArgs {
}