Fix javadocs and enable doclint
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / md / sal / dom / api / DOMNotificationService.java
index 6bce9c447add70d54e85168045a0e10ee3a24bab..33f009a91fab7dd2a6af9225d17e84419112d719 100644 (file)
@@ -9,13 +9,15 @@ package org.opendaylight.controller.md.sal.dom.api;
 
 import java.util.Collection;
 import javax.annotation.Nonnull;
+import org.opendaylight.controller.sal.core.api.BrokerService;
+import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 
 /**
  * A {@link DOMService} which allows its users to subscribe to receive
  * {@link DOMNotification}s.
  */
-public interface DOMNotificationService {
+public interface DOMNotificationService extends DOMService, BrokerService {
     /**
      * Register a {@link DOMNotificationListener} to receive a set of notifications. As with
      * other ListenerRegistration-based interfaces, registering an instance multiple times
@@ -24,13 +26,13 @@ public interface DOMNotificationService {
      * @param listener Notification instance to register
      * @param types Notification types which should be delivered to the listener. Duplicate
      *              entries are processed only once, null entries are ignored.
-     * @return Registration handle. Invoking {@link DOMNotificationListenerRegistration#close()}
+     * @return Registration handle. Invoking {@link ListenerRegistration#close()}
      *         will stop the delivery of notifications to the listener
      * @throws IllegalArgumentException if types is empty or contains an invalid element, such as
      *         null or a SchemaPath which does not represent a valid {@link DOMNotification} type.
      * @throws NullPointerException if either of the arguments is null
      */
-    DOMNotificationListenerRegistration registerNotificationListener(@Nonnull DOMNotificationListener listener, @Nonnull Collection<SchemaPath> types);
+    <T extends DOMNotificationListener> ListenerRegistration<T> registerNotificationListener(@Nonnull T listener, @Nonnull Collection<SchemaPath> types);
 
     /**
      * Register a {@link DOMNotificationListener} to receive a set of notifications. As with
@@ -40,12 +42,12 @@ public interface DOMNotificationService {
      * @param listener Notification instance to register
      * @param types Notification types which should be delivered to the listener. Duplicate
      *              entries are processed only once, null entries are ignored.
-     * @return Registration handle. Invoking {@link DOMNotificationListenerRegistration#close()}
+     * @return Registration handle. Invoking {@link ListenerRegistration#close()}
      *         will stop the delivery of notifications to the listener
      * @throws IllegalArgumentException if types is empty or contains an invalid element, such as
      *         null or a SchemaPath which does not represent a valid {@link DOMNotification} type.
      * @throws NullPointerException if listener is null
      */
     // FIXME: Java 8: provide a default implementation of this method.
-    DOMNotificationListenerRegistration registerNotificationListener(@Nonnull DOMNotificationListener listener, SchemaPath... types);
+    <T extends DOMNotificationListener> ListenerRegistration<T> registerNotificationListener(@Nonnull T listener, SchemaPath... types);
 }