@Beta public interface NotificationService extends BindingService
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.mdsal.binding.javav2.spec.runtime.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.
YANG 1.1: in case of notification tied to data note (container, list):
module example {
...
container cont {
notification notify {
...
}
...
}
}
The generated interface will be:
public interface ExampleListener extends NotificationListener {
void onContNotify(Notify notification);
}
| Modifier and Type | Method and Description |
|---|---|
<T extends NotificationListener> |
registerNotificationListener(T listener)
Registers a listener which implements a YANG-generated notification interface derived from
NotificationListener. |
<T extends NotificationListener> org.opendaylight.yangtools.concepts.ListenerRegistration<T> registerNotificationListener(T listener)
NotificationListener. The listener is registered for all notifications present in
the implemented interface.
T - listener typelistener - the listener implementation that will receive notifications.ListenerRegistration instance that should be used to unregister the listener
by invoking the ListenerRegistration.close() method when no longer needed.Copyright © 2018 OpenDaylight. All rights reserved.