Interface DataTreeChangeService

All Superinterfaces:
BindingService
All Known Subinterfaces:
DataBroker
All Known Implementing Classes:
BindingDOMDataBrokerAdapter, DataBrokerFailuresImpl, ForwardingDataBroker, OSGiDataBroker

public interface DataTreeChangeService extends BindingService
A BindingService which allows users to register for changes to a subtree.
  • Method Details

    • registerDataTreeChangeListener

      <T extends DataObject, L extends DataTreeChangeListener<T>> @NonNull ListenerRegistration<L> registerDataTreeChangeListener(@NonNull DataTreeIdentifier<T> treeId, @NonNull L listener)
      Registers a DataTreeChangeListener to receive notifications when data changes under a given path in the conceptual data tree.

      You are able to register for notifications for any node or subtree which can be represented using DataTreeIdentifier.

      You are able to register for data change notifications for a subtree or leaf even if it does not exist. You will receive notification once that node is created.

      If there is any pre-existing data in the data tree for the path for which you are registering, you will receive an initial data change event, which will contain all pre-existing data, marked as created.

      This method returns a ListenerRegistration object. To "unregister" your listener for changes call the ListenerRegistration.close() method on the returned object.

      You MUST explicitly unregister your listener when you no longer want to receive notifications. This is especially true in OSGi environments, where failure to do so during bundle shutdown can lead to stale listeners being still registered.

      Parameters:
      treeId - Data tree identifier of the subtree which should be watched for changes.
      listener - Listener instance which is being registered
      Returns:
      Listener registration object, which may be used to unregister your listener using ListenerRegistration.close() to stop delivery of change events.