X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=dom%2Fmdsal-dom-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fspi%2Fstore%2FDOMStoreTreeChangePublisher.java;h=bbf7c184e353d192966490051c79020fe9661d34;hb=refs%2Fchanges%2F16%2F107916%2F8;hp=7ddfcf7ab9db432c9272c4b136c094acbdae57b1;hpb=d2c0f28aef06857cbe7fcfb96a7745055b290db4;p=mdsal.git diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/DOMStoreTreeChangePublisher.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/DOMStoreTreeChangePublisher.java index 7ddfcf7ab9..bbf7c184e3 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/DOMStoreTreeChangePublisher.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/DOMStoreTreeChangePublisher.java @@ -8,7 +8,9 @@ package org.opendaylight.mdsal.dom.spi.store; import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.mdsal.dom.api.DOMDataBroker.DataTreeChangeExtension; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; +import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -19,30 +21,9 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; public interface DOMStoreTreeChangePublisher { /** * Registers a {@link 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 - * {@link 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 {@link Registration} object. To "unregister" your listener for changes call the - * {@link Registration#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. + * the conceptual data tree. See + * {@link DataTreeChangeExtension#registerTreeChangeListener(DOMDataTreeIdentifier, DOMDataTreeChangeListener)} for + * full semantics. * * @param treeId Data tree identifier of the subtree which should be watched for changes. * @param listener Listener instance which is being registered @@ -51,4 +32,19 @@ public interface DOMStoreTreeChangePublisher { */ @NonNull Registration registerTreeChangeListener(@NonNull YangInstanceIdentifier treeId, @NonNull DOMDataTreeChangeListener listener); + + /** + * Registers a {@link DOMDataTreeChangeListener} to receive notifications when data changes under a given path in + * the conceptual data tree. See {@link DataTreeChangeExtension#registerLegacyTreeChangeListener( + * DOMDataTreeIdentifier, DOMDataTreeChangeListener)} for full semantics. + * + * @param treeId Data tree identifier of the subtree which should be watched for changes. + * @param listener Listener instance which is being registered + * @return A {@link Registration} registration object, which may be used to unregister your listener using + * {@link Registration#close()} to stop delivery of change events. + * @deprecated Legacy support class + */ + @Deprecated(since = "13.0.0", forRemoval = true) + @NonNull Registration registerLegacyTreeChangeListener(@NonNull YangInstanceIdentifier treeId, + @NonNull DOMDataTreeChangeListener listener); }