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. It is typically a static instance
that can be reused for all similar CallbackRegistries.
This class supports only callbacks with at most three parameters.
Typically, these are the notification originator and a parameter, with another to
indicate which method to call, but these may be used as required. If more than
three parameters are required or primitive types other than the single int provided
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> |
copyCallbacks()
Makes a copy of the registered callbacks and returns it.
|
void |
copyCallbacks(java.util.List<C> callbacks)
Modifies
callbacks to contain all callbacks in the CallbackRegistry. |
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, Object)
arg
- An opaque parameter passed to
CallbackRegistry.NotifierCallback.onNotifyCallback(Object, Object, int, Object)
arg2
- An opaque parameter passed to
CallbackRegistry.NotifierCallback.onNotifyCallback(Object, Object, int, Object)
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> copyCallbacks()
public void copyCallbacks(java.util.List<C> callbacks)
callbacks
to contain all callbacks in the CallbackRegistry.callbacks
- modified to contain all callbacks registered to receive events.public boolean isEmpty()
public void clear()
public CallbackRegistry<C,T,A> clone()
clone
in class java.lang.Object