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 longdefaultTimeoutstatic Object[]EMPTY_PARAMS
-
Constructor Summary
Constructors Constructor Description RemoteServiceHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidasyncExec(IRemoteService remoteService, String method, Object[] parameters, long timeout, IRemoteCallListener listener)Invoke given method asynchronously, and call listener upon successful completion.static voidasyncExec(IRemoteService remoteService, String method, Object[] parameters, IRemoteCallListener listener)Invoke given method asynchronously, and call listener upon successful completion.static org.eclipse.equinox.concurrent.future.IFuturefutureExec(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.IFuturefutureExec(IRemoteService remoteService, String method, Object[] parameters, long timeout)Invoke given method asynchronously, return an IFuture immediately that can be subsequently queried for completion.static longgetDefaultTimeout()static voidsetDefaultTimeout(long timeout)static ObjectsyncExec(IRemoteService remoteService, String method, Object[] parameters)Invoke given method synchronously, blocking the calling thread until a result is received or timeout.static ObjectsyncExec(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
-
-