Replace SchemaPath with SchemaNodeIdentifier.Absolute/QName
[mdsal.git] / dom / mdsal-dom-api / src / main / java / org / opendaylight / mdsal / dom / api / DOMRpcService.java
index fe02e06a8f278b8c10cd891f104a4028bf520656..1fac49526a0a1045c22da5b064a57fac2490c949 100644 (file)
@@ -9,10 +9,9 @@ package org.opendaylight.mdsal.dom.api;
 
 import com.google.common.util.concurrent.ListenableFuture;
 import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 
 /**
  * A {@link DOMService} which allows clients to invoke RPCs. The conceptual model of this service is that of a dynamic
@@ -25,20 +24,20 @@ public interface DOMRpcService extends DOMService {
      * Initiate invocation of an RPC. This method is guaranteed to not block on any external
      * resources.
      *
-     * @param type SchemaPath of the RPC to be invoked
+     * @param type QName of the RPC to be invoked
      * @param input Input arguments, null if the RPC does not take any.
      * @return A {@link ListenableFuture} which will return either a result structure, or report a subclass
      *         of {@link DOMRpcException} reporting a transport error.
      */
-    // FIXME: 4.0.0: do not allow null input
-    @NonNull ListenableFuture<DOMRpcResult> invokeRpc(@NonNull SchemaPath type, @Nullable NormalizedNode<?, ?> input);
+    @NonNull ListenableFuture<? extends DOMRpcResult> invokeRpc(@NonNull QName type,
+            @NonNull NormalizedNode<?, ?> input);
 
     /**
      * Register a {@link DOMRpcAvailabilityListener} with this service to receive notifications
      * about RPC implementations becoming (un)available. The listener will be invoked with the
      * current implementations reported and will be kept uptodate as implementations come and go.
      * Users should note that using a listener does not necessarily mean that
-     * {@link #invokeRpc(SchemaPath, NormalizedNode)} will not report a failure due to
+     * {@link #invokeRpc(QName, NormalizedNode)} will not report a failure due to
      * {@link DOMRpcImplementationNotAvailableException} and need to be ready to handle it.
      * Implementations are encouraged to take reasonable precautions to prevent this scenario from
      * occurring.