Package org.eclipse.ecf.remoteservice
Class RemoteServiceHelper
- java.lang.Object
-
- org.eclipse.ecf.remoteservice.RemoteServiceHelper
-
public class RemoteServiceHelper extends Object
Helper class for making it easier to call a remote service with method name and optional parameters.- Since:
- 3.0
-
-
Field Summary
Fields Modifier and Type Field Description static long
defaultTimeout
static Object[]
EMPTY_PARAMS
-
Constructor Summary
Constructors Constructor Description RemoteServiceHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static 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
getDefaultTimeout()
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 Detail
-
defaultTimeout
public static long defaultTimeout
-
EMPTY_PARAMS
public static Object[] EMPTY_PARAMS
-
-
Method Detail
-
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
-
-