CallbackRegistry
public
class
CallbackRegistry
extends Object
implements
Cloneable
java.lang.Object | |
↳ | android.databinding.CallbackRegistry<C, T, A> |
Known Direct Subclasses |
A utility for storing and notifying callbacks. This class supports reentrant modification of the callbacks during notification without adversely disrupting notifications. A common pattern for callbacks is to receive a notification and then remove themselves. This class handles this behavior with constant memory under most circumstances.
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.
Summary
Nested classes | |
---|---|
class |
CallbackRegistry.NotifierCallback<C, T, A>
Class used to notify events from CallbackRegistry. |
Public constructors | |
---|---|
CallbackRegistry(NotifierCallback<C, T, A> notifier)
Creates an EventRegistry that notifies the event with notifier. |
Public methods | |
---|---|
void
|
add(C callback)
Add a callback to be notified. |
void
|
clear()
Removes all callbacks from the list. |
CallbackRegistry<C, T, A>
|
clone()
|
ArrayList<C>
|
copyCallbacks()
Makes a copy of the registered callbacks and returns it. |
void
|
copyCallbacks(List<C> callbacks)
Modifies |
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. |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
Public constructors
CallbackRegistry
CallbackRegistry (NotifierCallback<C, T, A> notifier)
Creates an EventRegistry that notifies the event with notifier.
Parameters | |
---|---|
notifier |
NotifierCallback : The class to use to notify events.
|
Public methods
add
void add (C callback)
Add a callback to be notified. If the callback is already in the list, another won't be added. This does not affect current notifications.
Parameters | |
---|---|
callback |
C : The callback to add.
|
clear
void clear ()
Removes all callbacks from the list.
clone
CallbackRegistry<C, T, A> clone ()
Returns | |
---|---|
CallbackRegistry<C, T, A> |
A copy of the CallbackRegistry with all callbacks listening to both instances. |
copyCallbacks
ArrayList<C> copyCallbacks ()
Makes a copy of the registered callbacks and returns it.
Returns | |
---|---|
ArrayList<C> |
a copy of the registered callbacks. |
copyCallbacks
void copyCallbacks (List<C> callbacks)
Modifies callbacks
to contain all callbacks in the CallbackRegistry.
Parameters | |
---|---|
callbacks |
List : modified to contain all callbacks registered to receive events.
|
isEmpty
boolean isEmpty ()
Returns true if there are no registered callbacks or false otherwise.
Returns | |
---|---|
boolean |
true if there are no registered callbacks or false otherwise. |
notifyCallbacks
void notifyCallbacks (T sender, int arg, A arg2)
Notify all callbacks.
Parameters | |
---|---|
sender |
T : The originator. This is an opaque parameter passed to
onNotifyCallback(Object, Object, int, Object) |
arg |
int : An opaque parameter passed to
onNotifyCallback(Object, Object, int, Object) |
arg2 |
A : An opaque parameter passed to
onNotifyCallback(Object, Object, int, Object)
|
remove
void remove (C callback)
Remove a callback. This callback won't be notified after this call completes.
Parameters | |
---|---|
callback |
C : The callback to remove.
|
Annotations
Interfaces
Classes
- BaseObservable
- CallbackRegistry
- CallbackRegistry.NotifierCallback
- DataBindingUtil
- ListChangeRegistry
- MapChangeRegistry
- MergedDataBinderMapper
- Observable.OnPropertyChangedCallback
- ObservableArrayList
- ObservableArrayMap
- ObservableBoolean
- ObservableByte
- ObservableChar
- ObservableDouble
- ObservableField
- ObservableFloat
- ObservableInt
- ObservableList.OnListChangedCallback
- ObservableLong
- ObservableMap.OnMapChangedCallback
- ObservableParcelable
- ObservableShort
- OnRebindCallback
- PropertyChangeRegistry
- ViewDataBinding
- ViewStubProxy
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-04-11 UTC.