]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.databoard/src/org/simantics/databoard/channel/CommandChannel.java
Improved Bindings.getBinding(Class) caching for Datatype.class
[simantics/platform.git] / bundles / org.simantics.databoard / src / org / simantics / databoard / channel / CommandChannel.java
1 package org.simantics.databoard.channel;
2
3 import java.util.Collection;
4
5 import org.simantics.databoard.binding.mutable.Variant;
6
7 /**
8  * Command channel is a request-response channel. All operations are asynchronous.
9  * This interface is intended to be used by channel clients.   
10  * For each callable command there is a commandId and specified datatype for request and error.
11  *
12  * @author Toni Kalajainen <toni.kalajainen@iki.fi>
13  */
14 public interface CommandChannel {
15         
16         /**
17          * Invoke a service request. A asynchronous result object is returned 
18          * at-once. <p> 
19          * 
20          * @param commandId command identifier
21          * @param request the request object
22          * @return asynchrouns result object
23          */
24         AsyncRequest invoke( Variant commandId, Variant request );
25         
26         /**
27          * Get all callable commands of the channel.
28          * This result is list of command specifications. For each command there is
29          * unique identification, result type and error type.  
30          * 
31          * @return commands
32          */
33         Collection<CommandSpec> getCommands();
34         
35 }