Update to MD-SAL APIs
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / sal / binding / spi / RpcRoutingTable.java
index f2d38256c9cf61687fd269abf52ae8188745b7d2..4d9d51b13300664a109d87eae0d8dcf9ff13cdfa 100644 (file)
@@ -1,38 +1,52 @@
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * 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.controller.sal.binding.spi;
 
 import java.util.Map;
 
+import org.opendaylight.controller.md.sal.common.api.routing.MutableRoutingTable;
 import org.opendaylight.yangtools.yang.binding.BaseIdentity;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.RpcService;
 
-public interface RpcRoutingTable<C extends BaseIdentity,S extends RpcService> {
+public interface RpcRoutingTable<C extends BaseIdentity, S extends RpcService> extends
+        MutableRoutingTable<Class<? extends C>, InstanceIdentifier<?>, S> {
+
+    Class<C> getIdentifier();
 
-    Class<C> getContextIdentifier();
-    
     /**
-     * Updates route for particular path to specified instance of {@link RpcService}. 
+     * Updates route for particular path to specified instance of
+     * {@link RpcService}.
      * 
-     * @param path Path for which RpcService routing is to be updated
-     * @param service Instance of RpcService which is responsible for processing Rpc Requests.
+     * @param path
+     *            Path for which RpcService routing is to be updated
+     * @param service
+     *            Instance of RpcService which is responsible for processing Rpc
+     *            Requests.
      */
-    void updateRoute(InstanceIdentifier path,S service);
-    
+    void updateRoute(InstanceIdentifier<?> path, S service);
+
     /**
      * Deletes a route for particular path
      * 
-     * @param path Path for which 
+     * @param path
+     *            Path for which
      */
-    void deleteRoute(InstanceIdentifier path);
-    
+    void removeRoute(InstanceIdentifier<?> path);
+
     /**
      * 
      */
-    S getService(InstanceIdentifier nodeInstance);
-    
+    S getRoute(InstanceIdentifier<?> nodeInstance);
+
     /**
      * 
      * @return
      */
-    Map<InstanceIdentifier,S> getRoutes();
+    Map<InstanceIdentifier<?>, S> getRoutes();
 }