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=b8a896e6dfc47374f99efee157683dc8a7ef8860;hp=0d21f7dd02f1b0200a5c1ee0a452365ee3190257;hpb=6a192f0eeedc302ae0b506d04f9d79b34406aef5;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 0d21f7dd02..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 @@ -7,51 +7,44 @@ */ 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 javax.annotation.Nonnull; -import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; +import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; /** - * Interface implemented by DOMStore implementations which allow registration - * of {@link DOMDataTreeChangeListener} instances. + * Interface implemented by DOMStore implementations which allow registration of {@link DOMDataTreeChangeListener} + * instances. */ 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. + * Registers a {@link DOMDataTreeChangeListener} to receive notifications when data changes under a given path in + * the conceptual data tree. See + * {@link DataTreeChangeExtension#registerTreeChangeListener(DOMDataTreeIdentifier, DOMDataTreeChangeListener)} for + * full semantics. * - *
- * This method returns a {@link ListenerRegistration} object. To - * "unregister" your listener for changes call the {@link 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.
+ * @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.
+ */
+ @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 Listener registration object, which may be used to unregister
- * your listener using {@link ListenerRegistration#close()} to stop
- * delivery of change events.
+ * @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
*/
- @Nonnull