Remove DOMDataTreeCommitCohortRegistration
[mdsal.git] / dom / mdsal-dom-api / src / main / java / org / opendaylight / mdsal / dom / api / DOMMountPointService.java
index 665ede0a7d7eda569a01e3cad0ed0d7e653d3244..c5ba2a98f443b764a10d1e11ddc530981f87a2bc 100644 (file)
@@ -5,30 +5,33 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.mdsal.dom.api;
 
-import com.google.common.base.Optional;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import java.util.Optional;
 import org.opendaylight.yangtools.concepts.ObjectRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-
 
-public interface DOMMountPointService extends DOMService {
+public interface DOMMountPointService extends DOMService<DOMMountPointService, DOMMountPointService.Extension> {
+    /**
+     * Marker interface for an extension to {@link DOMMountPointService}.
+     */
+    interface Extension extends DOMService.Extension<DOMMountPointService, Extension> {
+        // Marker interface
+    }
 
     Optional<DOMMountPoint> getMountPoint(YangInstanceIdentifier path);
 
     DOMMountPointBuilder createMountPoint(YangInstanceIdentifier path);
 
-    ListenerRegistration<DOMMountPointListener> registerProvisionListener(DOMMountPointListener listener);
-
-    public interface DOMMountPointBuilder {
+    Registration registerProvisionListener(DOMMountPointListener listener);
 
-        <T extends DOMService> DOMMountPointBuilder addService(Class<T> type,T impl);
+    interface DOMMountPointBuilder {
 
-        DOMMountPointBuilder addInitialSchemaContext(SchemaContext ctx);
+        <T extends DOMService<T, E>, E extends DOMService.Extension<T, E>> DOMMountPointBuilder addService(
+            Class<T> type, T impl);
 
+        // FIXME: just Registration
         ObjectRegistration<DOMMountPoint> register();
     }
 }