AsyncWriteTransaction submit() with @CheckReturnValue
[controller.git] / opendaylight / md-sal / sal-common-api / src / main / java / org / opendaylight / controller / md / sal / common / api / data / AsyncDataChangeListener.java
index dca5200d392687e25493876f945e347d3e394bf4..3b956d7f93b9ccd1854a2f18aa6debc9e6d489b9 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.controller.md.sal.common.api.data;
 
 import java.util.EventListener;
-
 import org.opendaylight.yangtools.concepts.Path;
 
 /**
@@ -16,7 +15,8 @@ import org.opendaylight.yangtools.concepts.Path;
  *
  * <p>
  * User-supplied implementations of this listener interface MUST register via
- * {@link AsyncDataBroker#registerDataChangeListener(LogicalDatastoreType, Path, AsyncDataChangeListener, AsyncDataBroker.DataChangeScope)}
+ * {@link AsyncDataBroker#registerDataChangeListener(LogicalDatastoreType, Path, AsyncDataChangeListener,
+ *     AsyncDataBroker.DataChangeScope)}
  * in order to start receiving data change events, which capture state changes
  * in a subtree.
  *
@@ -30,20 +30,26 @@ import org.opendaylight.yangtools.concepts.Path;
  * @param <D>
  *            Type of data (payload), which represents data payload
  */
+@Deprecated
 public interface AsyncDataChangeListener<P extends Path<P>, D> extends EventListener {
     /**
-     *
      * Invoked when there is data change for the particular path, which was used to
      * register this listener.
+     *
      * <p>
      * This method may be also invoked during registration of the listener if
      * there is any preexisting data in the conceptual data tree for supplied path.
      * This initial event will contain all preexisting data as created.
      *
      * <p>
-     * <b>Note</b> that this method may be invoked from a shared thread pool, so
-     * implementations SHOULD NOT perform CPU-intensive operations and they
-     * definitely MUST NOT invoke any potentially blocking operations.
+     * <b>Note</b>: This method may be invoked from a shared thread pool.
+     * <ul>
+     * <li>Implementations <b>SHOULD NOT</b> perform CPU-intensive operations on the calling thread.
+     * <li>Implementations <b>MUST NOT block the calling thread</b> - to do so could lead to deadlock
+     * </ul>
+     * scenarios.
+     *
+     *<br>
      *
      * @param change
      *            Data Change Event being delivered.