package org.opendaylight.controller.sal.core.api.mount;
-import java.util.concurrent.Future;
-
import org.opendaylight.controller.sal.core.api.data.DataBrokerService;
import org.opendaylight.controller.sal.core.api.notify.NotificationService;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.CompositeNode;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import com.google.common.util.concurrent.ListenableFuture;
+
+/**
+ * Interface representing a single mount instance and represents a way for
+ * clients to access underlying data, RPCs and notifications.
+ */
public interface MountInstance extends //
NotificationService, //
DataBrokerService {
- Future<RpcResult<CompositeNode>> rpc(QName type, CompositeNode input);
+ /**
+ * Invoke an RPC on the system underlying the mount instance.
+ *
+ * @param type RPC type
+ * @param input RPC input arguments
+ * @return Future representing execution of the RPC.
+ */
+ ListenableFuture<RpcResult<CompositeNode>> rpc(QName type, CompositeNode input);
+ /**
+ * Get {@link SchemaContext} of the system underlying the mount instance.
+ *
+ * @return A schema context.
+ */
SchemaContext getSchemaContext();
}