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

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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### defaultTimeout

public static long defaultTimeout

### EMPTY_PARAMS

public static Object[] 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 be `null`.
  `method` - the method to invoke. Must not be `null`.
  `parameters` - the parameters associated with the method to invoke. May be `null` (no parameters).
  `listener` - the listener to call back when remote call initiated and completed. Must not be `null`.

### 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 be `null`.
  `method` - the method to invoke. Must not be `null`.
  `parameters` - the parameters associated with the method to invoke. May be `null` (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 be `null`.

### 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 be `null`.
  `method` - the method to invoke. Must not be `null`.
  `parameters` - the parameters associated with the method to invoke. May be `null` (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 be `null`.
  `method` - the method to invoke. Must not be `null`.
  `parameters` - the parameters associated with the method to invoke. May be `null` (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 be `null`.
  `method` - the method to invoke. Must not be `null`.
  `parameters` - the parameters associated with the method to invoke. May be `null` (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 be `null`.
  `method` - the method to invoke. Must not be `null`.
  `parameters` - the parameters associated with the method to invoke. May be `null` (no parameters).
Returns:
  Object the result of this synchronous execution
Throws:
  `ECFException` - if some problem with execution