Package org.eclipse.ecf.remoteservice

## Interface IRemoteServiceContainer

All Known Implementing Classes:
  `RemoteServiceContainer`

    public interface IRemoteServiceContainer

Remote service container that provides access to underlying IContainer and remote service container adapter.

Since:
  3.0

### Method Summary

All Methods Instance Methods Abstract Methods
`IContainer` `getContainer()` Get the container instance for this remote service container.
`IRemoteServiceContainerAdapter` `getContainerAdapter()` Get the container adapter for this remote service container.
`IRemoteService` `getRemoteService​(String serviceInterfaceClass)` Get the remote service for given serviceInterface class.
`IRemoteService` `getRemoteService​(String targetLocation, String serviceInterfaceClass)` Get the remote service for given targetLocation and given serviceInterface class.
`IRemoteService` `getRemoteService​(String targetLocation, String serviceInterfaceClass, String filter)` Get the remote service for given targetLocation and given serviceInterface class.

### Method Detail

#### getContainer

    IContainer getContainer()

Get the container instance for this remote service container. Will not return `null`.

Returns:
  IContainer for this remote service container. Will not return `null`.

#### getContainerAdapter

    IRemoteServiceContainerAdapter getContainerAdapter()

Get the container adapter for this remote service container. Will not return `null`

Returns:
  IRemoteServiceContainerAdapter that is the adapter for the container returned from `getContainer()`.

#### getRemoteService

    IRemoteService getRemoteService​(String targetLocation,
                                    String serviceInterfaceClass,
                                    String filter)
                             throws ContainerConnectException,
                                    InvalidSyntaxException

Get the remote service for given targetLocation and given serviceInterface class.

Parameters:
  `targetLocation` - the targetLocation to connect to. See `IRemoteServiceContainerAdapter.getRemoteServiceReferences(org.eclipse.ecf.core.identity.ID, String, String)`. May be `null`.
  `serviceInterfaceClass` - the service to find. Must not be `null`.
  `filter` - the `IRemoteFilter` to use for finding the desired remote service.
Returns:
  IRemoteService the remote service. May be `null` if the desired remote service is not available.
Throws:
  `ContainerConnectException` - thrown if underlying container cannot connect to get remote service.
  `InvalidSyntaxException` - thrown if the filter does not have correct syntax.

#### getRemoteService

    IRemoteService getRemoteService​(String targetLocation,
                                    String serviceInterfaceClass)
                             throws ContainerConnectException

Get the remote service for given targetLocation and given serviceInterface class.

Parameters:
  `targetLocation` - the targetLocation to connect to. See `IRemoteServiceContainerAdapter.getRemoteServiceReferences(org.eclipse.ecf.core.identity.ID, String, String)`. May be `null`.
  `serviceInterfaceClass` - the service to find. Must not be `null`.
Returns:
  IRemoteService the remote service. May be `null` if the desired remote service is not available.
Throws:
  `ContainerConnectException` - thrown if underlying container cannot connect to get remote service.

#### getRemoteService

    IRemoteService getRemoteService​(String serviceInterfaceClass)

Get the remote service for given serviceInterface class.

Parameters:
  `serviceInterfaceClass` - the service to find. Must not be `null`.
Returns:
  IRemoteService the remote service. May be `null` if the desired remote service is not available.