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=dd66aa67f8a78451e9c31b851987455678306ea7;hpb=9c34ce103df5efac991297dc25a64c9b8d6019f3;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 dd66aa67f8..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; *
  • Dispatch listener - listener, which implements {ModelName}Listener interface, * which has dispatch methods for each defined notification. Methods are invoked based on notification type (class). *
  • + * * *

    Generic Listener

    + * *

    * 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; * * *

    Dispatch Listener

    + * *

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

    Dispatch Listener Example

    * - *
    Dispatch Listener Example
    *

    * 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,18 +90,18 @@ import org.opendaylight.yangtools.yang.binding.Notification;
      *          // do something
      *      }
      *  }
    - * 
    + * } * The implementation is registered as follows: - *
    + * {@code
      *  MyExampleListener listener = new MyExampleListener();
      *  ListenerRegistration reg = service.registerNotificationListener( listener );
    - * 
    + * } * The 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.controller.md.sal.binding.api.NotificationService} instead. + * @deprecated Please use {@link org.opendaylight.mdsal.binding.api.NotificationService} instead. */ -@Deprecated +@Deprecated(forRemoval = true) public interface NotificationService extends BindingAwareService { /** * Registers a generic listener implementation for a specified notification type.