Interface NotificationService

  • All Superinterfaces:
    BindingAwareService, BindingService
    All Known Implementing Classes:
    BindingDOMNotificationServiceAdapter

    @Deprecated(forRemoval=true)
    public interface NotificationService
    extends BindingService
    Deprecated, for removal: This API element is subject to removal in a future version.
    Notification broker which allows clients to subscribe for and publish YANG-modeled notifications.

    Each YANG module which defines notifications results in a generated 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 NotificationListener interface and implementations are registered using registerNotificationListener(org.opendaylight.yangtools.yang.binding.NotificationListener) method.

    Dispatch Listener Example

    Lets assume we have following YANG model:

     module example {
          ...
    
          notification start {
              ...
          }
    
          notification stop {
               ...
          }
     }
     

    The generated interface will be: public interface ExampleListener extends NotificationListener { void onStart(Start notification); void onStop(Stop notification); } The following defines an implementation of the generated interface: public class MyExampleListener implements ExampleListener { public void onStart(Start notification) { // do something } public void onStop(Stop notification) { // do something } } The implementation is registered as follows: MyExampleListener listener = new MyExampleListener(); ListenerRegistration<NotificationListener> 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.

    • Method Detail

      • registerNotificationListener

        <T extends NotificationListenerListenerRegistration<T> registerNotificationListener​(T listener)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Registers a listener which implements a YANG-generated notification interface derived from NotificationListener. The listener is registered for all notifications present in the implemented interface.
        Parameters:
        listener - the listener implementation that will receive notifications.
        Returns:
        a ListenerRegistration instance that should be used to unregister the listener by invoking the ListenerRegistration.close() method when no longer needed.