C - The callback type.T - The notification sender type. Typically this is the containing class.A - Opaque argument used to pass additional data beyond an int.public class CallbackRegistry<C,T,A>
extends java.lang.Object
implements java.lang.Cloneable
A subclass of CallbackRegistry.NotifierCallback must be passed to
the constructor to define how notifications should be called. That implementation
does the actual notification on the listener.
This class supports only callbacks with at most two parameters.
Typically, these are the notification originator and a parameter, but these may
be used as required. If more than two parameters are required or primitive types
must be used, A should be some kind of containing structure that
the subclass may reuse between notifications.
| Modifier and Type | Class and Description |
|---|---|
static class |
CallbackRegistry.NotifierCallback<C,T,A>
Class used to notify events from CallbackRegistry.
|
| Constructor and Description |
|---|
CallbackRegistry(CallbackRegistry.NotifierCallback<C,T,A> notifier)
Creates an EventRegistry that notifies the event with notifier.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(C callback)
Add a callback to be notified.
|
void |
clear()
Removes all callbacks from the list.
|
CallbackRegistry<C,T,A> |
clone() |
java.util.ArrayList<C> |
copyListeners()
Makes a copy of the registered callbacks and returns it.
|
boolean |
isEmpty()
Returns true if there are no registered callbacks or false otherwise.
|
void |
notifyCallbacks(T sender,
int arg,
A arg2)
Notify all callbacks.
|
void |
remove(C callback)
Remove a callback.
|
public CallbackRegistry(CallbackRegistry.NotifierCallback<C,T,A> notifier)
notifier - The class to use to notify events.public void notifyCallbacks(T sender, int arg, A arg2)
sender - The originator. This is an opaque parameter passed to
CallbackRegistry.NotifierCallback#onNotifyCallback(Object, Object, int, A)arg - An opaque parameter passed to
CallbackRegistry.NotifierCallback#onNotifyCallback(Object, Object, int, A)arg2 - An opaque parameter passed to
CallbackRegistry.NotifierCallback#onNotifyCallback(Object, Object, int, A)public void add(C callback)
callback - The callback to add.public void remove(C callback)
callback - The callback to remove.public java.util.ArrayList<C> copyListeners()
public boolean isEmpty()
public void clear()
public CallbackRegistry<C,T,A> clone()
clone in class java.lang.Object