Interface IRemoteServiceClientContainerAdapter

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable, IRemoteServiceConsumer, IRemoteServiceContainerAdapter, IRemoteServiceHost
All Known Implementing Classes:
AbstractClientContainer, AbstractRestClientContainer, AbstractRSAClientContainer, RestClientContainer

public interface IRemoteServiceClientContainerAdapter extends IRemoteServiceContainerAdapter
Remote service client container adapter. This container adapter provides remote service clients the ability to register callables. At runtime when actual remote calls are attempted, the associated callable is looked up in the RemoteServiceClientRegistry. If present, the remote call can be completed, if not present in the registry, the call is not completed.
Since:
4.0
  • Method Details

    • registerCallables

      IRemoteServiceRegistration registerCallables(String[] serviceInterfaceNames, IRemoteCallable[][] remoteCallables, Dictionary properties)

      Register remoteCallables for given serviceInterfaceNames. This method allows providers to register IRemoteCallable instances and associate an array of IRemoteCallables with each given serviceInterfaceName, so that subsequent lookup operations result in appropriate remote service registrations. The IRemoteCallable instances should correspond to methods within the particular service interface class.

      Note that the number of serviceInterfaceNames (i.e. the length of the given String[]) must be equal to the number of rows of the remoteCallable two-dimensional array.

      For example, suppose we have a service interface "org.eclipse.ecf.IFoo":

       public interface IFoo {
           public String getFoo();
       }
       
      We can define for this service inteface the following two dimensional array of callables:
       IRemoteCallable[][] callables = new IRemoteCallable[] { new RemoteCallable("foo","foo/bar/resourcePath",null,requestType) }};
       
      and then register with this method:
       IRemoteServiceRegistration reg = this.registerRemoteCallable(new String[] { "org.eclipse.ecf.IFoo" }, callables, null);
       
      Parameters:
      serviceInterfaceNames - service interface names
      remoteCallables - the IRemoteCallables to register. Each IRemoteCallable represents a specific method to resourcePath mapping. Must not be null.
      properties - any service properties to associate with the given registration.
      Returns:
      IRemoteServiceRegistration to use to unregister the remote service. Will not be null.
    • registerCallables

      IRemoteServiceRegistration registerCallables(IRemoteCallable[] remoteCallables, Dictionary properties)
      Register remoteCallables for remote service client. This method allows providers to register IRemoteCallable instances, so that subsequent lookup operations result in appropriate remote service registrations.
      Parameters:
      remoteCallables - the IRemoteCallables to register. Each IRemoteCallable represents a specific method to resourcePath mapping. Must not be null.
      properties - any service properties to associate with the given registration.
      Returns:
      IRemoteServiceRegistration to use to unregister the remote service. Will not be null.
    • setParameterSerializer

      void setParameterSerializer(IRemoteCallParameterSerializer serializer)
      Set the remote call parameter serializer.
      Parameters:
      serializer - the remote call parameter serializer to set for this container. May be null.
    • setResponseDeserializer

      void setResponseDeserializer(IRemoteResponseDeserializer deserializer)