T
- The type of listener contained in this list.public class ListenerList<T> extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
ListenerList.EventFirerer<T>
This is a function that can be invoked for every listener.
|
static class |
ListenerList.TracingListenerList<T>
This is a special
ListenerList that traces calls to the add/remove methods. |
private static class |
ListenerList.UncheckedListenerList<T> |
private static class |
ListenerList.WeakListener<T> |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.CopyOnWriteArrayList<T> |
listeners |
private java.util.concurrent.CopyOnWriteArrayList<ListenerList.WeakListener<T>> |
weakListeners |
Modifier | Constructor and Description |
---|---|
protected |
ListenerList() |
Modifier and Type | Method and Description |
---|---|
void |
addListener(T listener)
Adds a listener.
|
void |
addWeakListener(T listener)
Adds a listener.
|
private boolean |
containsListener(T listener) |
static <T> ListenerList<T> |
create()
Create a new listener list
|
static <T> ListenerList<T> |
createUnchecked()
Creates a new listener list that does not fail if listeners are added or removed twice.
|
private boolean |
ensureNotInList(T listener) |
protected void |
failAdd(T listener) |
protected void |
failRemove(T listener) |
void |
fireEvent(ListenerList.EventFirerer<T> eventFirerer)
Fires an event to every listener.
|
boolean |
hasListeners()
Check if any listeners are registered.
|
void |
removeListener(T listener)
Removes a listener.
|
private final java.util.concurrent.CopyOnWriteArrayList<ListenerList.WeakListener<T>> weakListeners
protected ListenerList()
public void addWeakListener(T listener)
listener
- The listener.public void addListener(T listener)
listener
- The listener to add.private boolean ensureNotInList(T listener)
private boolean containsListener(T listener)
public void removeListener(T listener)
listener
- The listener to remove.java.lang.IllegalArgumentException
- if the listener was not registered beforeprotected void failRemove(T listener)
public boolean hasListeners()
true
if any are registered.public void fireEvent(ListenerList.EventFirerer<T> eventFirerer)
eventFirerer
- The firerer to invoke the event method of the listener.public static <T> ListenerList<T> create()
T
- The listener type the list should hold.public static <T> ListenerList<T> createUnchecked()
Use of this list is discouraged. You should always use create()
in new implementations and check your listeners.
T
- The listener type