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 toonNotifyCallback(Object, Object, int, Object) | 
| arg | int: An opaque parameter passed toonNotifyCallback(Object, Object, int, Object) | 
| arg2 | A: An opaque parameter passed toonNotifyCallback(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 2025-02-10 UTC.
