public abstract class AbstractDOMStoreTreeChangePublisher extends AbstractRegistrationTree<AbstractDOMDataTreeChangeListenerRegistration<?>> implements DOMStoreTreeChangePublisher
DOMStoreTreeChangePublisher
implementations.Constructor and Description |
---|
AbstractDOMStoreTreeChangePublisher() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
notifyListener(@NonNull AbstractDOMDataTreeChangeListenerRegistration<?> registration,
@NonNull Collection<org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate> changes)
Callback for subclass to notify a specified registration of a list of candidates.
|
protected boolean |
processCandidateTree(@NonNull org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate candidate)
Process a candidate tree with respect to registered listeners.
|
<L extends DOMDataTreeChangeListener> |
registerTreeChangeListener(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier treeId,
L listener)
Registers a
DOMDataTreeChangeListener to receive
notifications when data changes under a given path in the conceptual data
tree. |
protected abstract void |
registrationRemoved(@NonNull AbstractDOMDataTreeChangeListenerRegistration<?> registration)
Callback notifying the subclass that the specified registration is being
closed and it's user no longer
wishes to receive notifications.
|
addRegistration, findNodeFor, releaseLock, removeRegistration, takeLock, takeSnapshot
protected abstract void notifyListener(@NonNull AbstractDOMDataTreeChangeListenerRegistration<?> registration, @NonNull Collection<org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate> changes)
processCandidateTree(DataTreeCandidate)
.registration
- the registration to notifychanges
- the list of DataTreeCandidate changesprotected abstract void registrationRemoved(@NonNull AbstractDOMDataTreeChangeListenerRegistration<?> registration)
ListenerRegistration.close()
method is executing. Subclasses can use this callback to properly
remove any delayed notifications pending
towards the registration.registration
- Registration which is being closedprotected final boolean processCandidateTree(@NonNull org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate candidate)
candidate
- candidate three which needs to be processedpublic <L extends DOMDataTreeChangeListener> AbstractDOMDataTreeChangeListenerRegistration<L> registerTreeChangeListener(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier treeId, L listener)
DOMStoreTreeChangePublisher
DOMDataTreeChangeListener
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 YangInstanceIdentifier
.
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 data tree on path for which you are registering, you will receive initial data change event, which will contain all pre-existing data, marked as created. If the data at the supplied path does not exist, you will also receive initial data change event, which will contain empty data tree modification, marked as unmodified.
This method returns a ListenerRegistration
object. To
"unregister" your listener for changes call the ListenerRegistration.close()
method on this 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.
registerTreeChangeListener
in interface DOMStoreTreeChangePublisher
treeId
- Data tree identifier of the subtree which should be watched for changes.listener
- Listener instance which is being registeredListenerRegistration.close()
to stop delivery of change events.Copyright © 2019 OpenDaylight. All rights reserved.