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