*/
package org.opendaylight.controller.sal.binding.api;
-import org.opendaylight.controller.md.sal.common.api.notify.NotificationSubscriptionService;
-import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.Notification;
public interface NotificationService extends BindingAwareService {
-
- @Deprecated
- <T extends Notification> void addNotificationListener(Class<T> notificationType, NotificationListener<T> listener);
-
- @Deprecated
- void addNotificationListener(org.opendaylight.yangtools.yang.binding.NotificationListener listener);
-
- @Deprecated
- void removeNotificationListener(org.opendaylight.yangtools.yang.binding.NotificationListener listener);
-
- @Deprecated
- <T extends Notification> void removeNotificationListener(Class<T> notificationType, NotificationListener<T> listener);
-
- <T extends Notification> Registration<NotificationListener<T>> registerNotificationListener(
+ /**
+ * Register a generic listener for specified notification type only.
+ *
+ * @param notificationType
+ * @param listener
+ * @return Registration for listener. To unregister listener invoke {@link ListenerRegistration#close()} method.
+ */
+ <T extends Notification> ListenerRegistration<NotificationListener<T>> registerNotificationListener(
Class<T> notificationType, NotificationListener<T> listener);
-
- Registration<org.opendaylight.yangtools.yang.binding.NotificationListener> registerNotificationListener(
+ /**
+ * Register a listener which implements generated notification interfaces derived from
+ * {@link org.opendaylight.yangtools.yang.binding.NotificationListener}.
+ * Listener is registered for all notifications present in implemented interfaces.
+ *
+ * @param listener
+ * @return Registration for listener. To unregister listener invoke {@link ListenerRegistration#close()} method.
+ */
+ ListenerRegistration<org.opendaylight.yangtools.yang.binding.NotificationListener> registerNotificationListener(
org.opendaylight.yangtools.yang.binding.NotificationListener listener);
}