org.eclipse.ecf.remoteservice.client
Interface IRemoteServiceClientContainerAdapter

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

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 Summary
 IRemoteServiceRegistration registerCallables(IRemoteCallable[] remoteCallables, java.util.Dictionary properties)
          Register remoteCallables for remote service client.
 IRemoteServiceRegistration registerCallables(java.lang.String[] serviceInterfaceNames, IRemoteCallable[][] remoteCallables, java.util.Dictionary properties)
           Register remoteCallables for given serviceInterfaceNames.
 void setParameterSerializer(IRemoteCallParameterSerializer serializer)
          Set the remote call parameter serializer.
 void setResponseDeserializer(IRemoteResponseDeserializer deserializer)
           
 
Methods inherited from interface org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter
addRemoteServiceListener, asyncGetRemoteServiceReferences, asyncGetRemoteServiceReferences, asyncGetRemoteServiceReferences, createRemoteFilter, getAllRemoteServiceReferences, getRemoteService, getRemoteServiceID, getRemoteServiceNamespace, getRemoteServiceReference, getRemoteServiceReferences, getRemoteServiceReferences, getRemoteServiceReferences, registerRemoteService, removeRemoteServiceListener, setConnectContextForAuthentication, ungetRemoteService
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Method Detail

registerCallables

IRemoteServiceRegistration registerCallables(java.lang.String[] serviceInterfaceNames,
                                             IRemoteCallable[][] remoteCallables,
                                             java.util.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:
remoteCallables - the IRemoteCallables to register. Each IRemoteCallable represents a specific method->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,
                                             java.util.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->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)