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
`static long` `defaultTimeout`
`static Object[]` `EMPTY_PARAMS`

### Constructor Summary

Constructors
Constructor and Description
`RemoteServiceHelper()`

### Method Summary

All Methods Static Methods Concrete Methods
`static void` `asyncExec(IRemoteService remoteService, String method, Object[] parameters, IRemoteCallListener listener)` Invoke given method asynchronously, and call listener upon successful completion.
`static void` `asyncExec(IRemoteService remoteService, String method, Object[] parameters, long timeout, 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 Detail

#### defaultTimeout

    public static long defaultTimeout

#### EMPTY_PARAMS

    public static Object[] EMPTY_PARAMS

### Constructor Detail

#### RemoteServiceHelper

    public RemoteServiceHelper()

### 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 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