X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-common-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fapi%2Fdata%2FAsyncDataChangeListener.java;h=dca5200d392687e25493876f945e347d3e394bf4;hb=bef0749bb2517eaae6a501be501e16a7d3905045;hp=49f07bc52b4f8aecefab507121d8d91984f1f8d3;hpb=721b580748cb93b3dac952ff1f111d0ab0da0c79;p=controller.git diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/AsyncDataChangeListener.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/AsyncDataChangeListener.java index 49f07bc52b..dca5200d39 100644 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/AsyncDataChangeListener.java +++ b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/AsyncDataChangeListener.java @@ -11,13 +11,42 @@ import java.util.EventListener; import org.opendaylight.yangtools.concepts.Path; +/** + * Listener of data change events on particular subtree. + * + *

+ * User-supplied implementations of this listener interface MUST register via + * {@link AsyncDataBroker#registerDataChangeListener(LogicalDatastoreType, Path, AsyncDataChangeListener, AsyncDataBroker.DataChangeScope)} + * in order to start receiving data change events, which capture state changes + * in a subtree. + * + *

+ * Implementation Note: This interface is intended to be implemented + * by users of MD-SAL. + * + * @param

+ * Type of path (subtree identifier), which represents location in + * tree + * @param + * Type of data (payload), which represents data payload + */ public interface AsyncDataChangeListener

, D> extends EventListener { /** - * Note that this method may be invoked from a shared thread pool, so + * + * Invoked when there is data change for the particular path, which was used to + * register this listener. + *

+ * 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. + * + *

+ * Note 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. * - * @param change Data Change Event being delivered. + * @param change + * Data Change Event being delivered. */ void onDataChanged(AsyncDataChangeEvent change); }