X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fapi%2FNotificationService.java;h=c7b125719fdadc60b48c7c5ba195b6888770e406;hb=aaea3e9a92ae9d6fac04c4a065db4b35cbca9ed0;hp=335f55bcbbade9ce84898eafee05ff146ef2d382;hpb=eee61ea351b6179d2862dce6875bdc25dd0fb272;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/NotificationService.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/NotificationService.java index 335f55bcbb..c7b125719f 100644 --- a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/NotificationService.java +++ b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/NotificationService.java @@ -20,15 +20,19 @@ import org.opendaylight.yangtools.yang.binding.Notification; *
{ModelName}Listener
interface,
* which has dispatch methods for each defined notification. Methods are invoked based on notification type (class).
*
* A generic listener implements the {@link NotificationListener} interface which has one callback method
* onNotification
that is invoked for any notification type the listener is subscribed to.
+ *
*
* A generic listener is subscribed using the {@link #registerNotificationListener(Class, NotificationListener)} * method by which you specify the type of notification to receive. A generic listener may be registered for * multiple notification types via multiple subscriptions. + * *
* Generic listeners allow for a more flexible approach, allowing you to subscribe for just * one type of notification from a YANG model. You could also have a general subscription @@ -38,20 +42,22 @@ import org.opendaylight.yangtools.yang.binding.Notification; * * *
* A dispatch listener implements a YANG-generated module interface {ModuleName}Listener
* which handles all the notifications defined in the YANG model. Each notification type translates to
* a specific method of the form on{NotificationType}
on the generated interface.
* The generated interface also extends the
* {@link org.opendaylight.yangtools.yang.binding.NotificationListener} interface and implementations
- * are registered using {@link #registerNotificationListener(org.opendaylight.yangtools.yang.binding.NotificationListener)}
- * method.
+ * are registered using
+ * {@link #registerNotificationListener(org.opendaylight.yangtools.yang.binding.NotificationListener)} method.
+ *
+ *
* Lets assume we have following YANG model: * - *
+ * {@code * module example { * ... * @@ -63,17 +69,18 @@ import org.opendaylight.yangtools.yang.binding.Notification; * ... * } * } - *+ * } * + *
* The generated interface will be: - *
+ * {@code * public interface ExampleListener extends NotificationListener { * void onStart(Start notification); * void onStop(Stop notification); * } - *+ * } * The following defines an implementation of the generated interface: - *
+ * {@code * public class MyExampleListener implements ExampleListener { * public void onStart(Start notification) { * // do something @@ -83,15 +90,18 @@ import org.opendaylight.yangtools.yang.binding.Notification; * // do something * } * } - *+ * } * The implementation is registered as follows: - *
+ * {@code * MyExampleListener listener = new MyExampleListener(); * ListenerRegistration+ * } * Thereg = service.registerNotificationListener( listener ); - *
onStart
method will be invoked when someone publishes a Start
notification and
* the onStop
method will be invoked when someone publishes a Stop
notification.
+ *
+ * @deprecated Please use {@link org.opendaylight.mdsal.binding.api.NotificationService} instead.
*/
+@Deprecated(forRemoval = true)
public interface NotificationService extends BindingAwareService {
/**
* Registers a generic listener implementation for a specified notification type.