Package org.eclipse.ecf.remoteservice
Class RemoteServiceHelper
java.lang.Object
org.eclipse.ecf.remoteservice.RemoteServiceHelper
Helper class for making it easier to call a remote service with method name and optional parameters.
- Since:
- 3.0
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
asyncExec
(IRemoteService remoteService, String method, Object[] parameters, long timeout, IRemoteCallListener listener) Invoke given method asynchronously, and call listener upon successful completion.static void
asyncExec
(IRemoteService remoteService, String method, Object[] parameters, IRemoteCallListener listener) Invoke given method asynchronously, and call listener upon successful completion.static org.eclipse.equinox.concurrent.future.IFuture
futureExec
(IRemoteService remoteService, String method, Object[] parameters) Invoke given method asynchronously, return an IFuture immediately that can be subsequently queried for completion.static org.eclipse.equinox.concurrent.future.IFuture
futureExec
(IRemoteService remoteService, String method, Object[] parameters, long timeout) Invoke given method asynchronously, return an IFuture immediately that can be subsequently queried for completion.static long
static void
setDefaultTimeout
(long timeout) static Object
syncExec
(IRemoteService remoteService, String method, Object[] parameters) Invoke given method synchronously, blocking the calling thread until a result is received or timeout.static Object
syncExec
(IRemoteService remoteService, String method, Object[] parameters, long timeout) Invoke given method synchronously, blocking the calling thread until a result is received or timeout.
-
Field Details
-
defaultTimeout
public static long defaultTimeout -
EMPTY_PARAMS
-
-
Constructor Details
-
RemoteServiceHelper
public RemoteServiceHelper()
-
-
Method Details
-
getDefaultTimeout
public static long getDefaultTimeout() -
setDefaultTimeout
public static void setDefaultTimeout(long timeout) -
asyncExec
public static void asyncExec(IRemoteService remoteService, String method, Object[] parameters, IRemoteCallListener listener) Invoke given method asynchronously, and call listener upon successful completion. Uses default timeout.- Parameters:
remoteService
- the IRemoteService to invoke. Must not benull
.method
- the method to invoke. Must not benull
.parameters
- the parameters associated with the method to invoke. May benull
(no parameters).listener
- the listener to call back when remote call initiated and completed. Must not benull
.
-
asyncExec
public static void asyncExec(IRemoteService remoteService, String method, Object[] parameters, long timeout, IRemoteCallListener listener) Invoke given method asynchronously, and call listener upon successful completion.- Parameters:
remoteService
- the IRemoteService to invoke. Must not benull
.method
- the method to invoke. Must not benull
.parameters
- the parameters associated with the method to invoke. May benull
(no parameters).timeout
- the timeout (in ms) for the remote call.listener
- the listener to call back when remote call initiated and completed. Must not benull
.
-
futureExec
public static org.eclipse.equinox.concurrent.future.IFuture futureExec(IRemoteService remoteService, String method, Object[] parameters, long timeout) Invoke given method asynchronously, return an IFuture immediately that can be subsequently queried for completion.- Parameters:
remoteService
- the IRemoteService to invoke. Must not benull
.method
- the method to invoke. Must not benull
.parameters
- the parameters associated with the method to invoke. May benull
(no parameters).timeout
- the timeout (in ms) for the remote call.- Returns:
- IFuture the future created
-
futureExec
public static org.eclipse.equinox.concurrent.future.IFuture futureExec(IRemoteService remoteService, String method, Object[] parameters) Invoke given method asynchronously, return an IFuture immediately that can be subsequently queried for completion. Uses default timeout.- Parameters:
remoteService
- the IRemoteService to invoke. Must not benull
.method
- the method to invoke. Must not benull
.parameters
- the parameters associated with the method to invoke. May benull
(no parameters).- Returns:
- IFuture the future created
-
syncExec
public static Object syncExec(IRemoteService remoteService, String method, Object[] parameters, long timeout) throws ECFException Invoke given method synchronously, blocking the calling thread until a result is received or timeout.- Parameters:
remoteService
- the IRemoteService to invoke. Must not benull
.method
- the method to invoke. Must not benull
.parameters
- the parameters associated with the method to invoke. May benull
(no parameters).timeout
- the timeout (in ms) for the remote call.- Returns:
- Object the result of this synchronous execution
- Throws:
ECFException
- if some problem with execution
-
syncExec
public static Object syncExec(IRemoteService remoteService, String method, Object[] parameters) throws ECFException Invoke given method synchronously, blocking the calling thread until a result is received or timeout. Uses default timeout.- Parameters:
remoteService
- the IRemoteService to invoke. Must not benull
.method
- the method to invoke. Must not benull
.parameters
- the parameters associated with the method to invoke. May benull
(no parameters).- Returns:
- Object the result of this synchronous execution
- Throws:
ECFException
- if some problem with execution
-