I have a List of event listeners in my code:
private List<EventListener> listeners = new ArrayList<EventListener>();
listeners.add(new EventListener() {
@Override
public void someEvent(String arg1, MyClass arg2) {
// ...
}
@Override
public void someOtherEvent(AnotherClass arg1, int arg2) {
// ...
}
}
Currently, I am calling the listeners using a for loop:
for (EventListener listener : listeners) {
listener.someEvent("Hello world", (MyClass) myObject);
}
I would like to call it using a single method, like this:
fireEvent("someEvent", "Hello world", (MyClass) myObject);
Or possibly an array or something for the event arguments.
One way to do this would be to create some sort of event object, but I don't particularly want to do this as it seems messy (someone tell me if I'm wrong here; I'm inexperienced with Java). Is there a way to create a fireEvent similar to above? EventListener is an interface, if that helps.