Package org.eclipse.ecf.remoteservice.client

# Class AbstractRSAClientContainer

java.lang.Object
org.eclipse.ecf.core.AbstractContainer
org.eclipse.ecf.remoteservice.client.AbstractClientContainer
org.eclipse.ecf.remoteservice.client.AbstractRSAClientContainer

All Implemented Interfaces:
  `org.eclipse.core.runtime.IAdaptable`, `IContainer`, `IIdentifiable`, `IRemoteServiceClientContainerAdapter`, `IRemoteServiceConsumer`, `IRemoteServiceContainerAdapter`, `IRemoteServiceHost`, `IRSAConsumerContainerAdapter`

public abstract class AbstractRSAClientContainer extends AbstractClientContainer implements IRSAConsumerContainerAdapter
Abstract client container for use by RSA distribution providers. Implements IRSAConsumerContainerAdapter.

Since:
  8.9

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`AbstractRSAClientContainer.RSAClientRegistration`

## Field Summary

### Fields inherited from class org.eclipse.ecf.remoteservice.client.AbstractClientContainer

`alwaysSendDefaultParameters, connectContext, connectedID, connectLock, containerID, parameterSerializer, parameterSerializerLock, registry, remoteResponseDeserializer, remoteResponseDeserializerLock, remoteServiceFactory, remoteServiceListeners`

## Constructor Summary

Constructors
Constructor
Description
`AbstractRSAClientContainer(ID containerID)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`connectToEndpoint(ID connectTargetID)`
`protected IRemoteCallable[][]`
`createRegistrationCallables(ID targetID, String[] interfaces, Dictionary endpointDescriptionProperties)`
`protected Dictionary`
`createRegistrationProperties(Map<String,Object> endpointDescriptionProperties)`
`protected RemoteServiceClientRegistration`
`createRSAClientRegistration(ID targetID, String[] interfaces, Map<String,Object> endpointDescriptionProperties)`
`Namespace`
`getConnectNamespace()`
Get the Namespace for creating a targetID suitable for use as the first parameter in subsequent calls to `IContainer.connect(ID, IConnectContext)`.
`IRemoteServiceReference[]`
`importEndpoint(Map<String,Object> endpointDescriptionProperties)`
`protected String`
`prepareEndpointAddress(IRemoteCall call, IRemoteCallable callable)`
Prepare an endpoint address for the given call and callable.
`RemoteServiceClientRegistration`
`registerEndpoint(ID targetID, String[] interfaces, Map<String,Object> endpointDescriptionProperties)`
`boolean`
`setRemoteServiceCallPolicy(IRemoteServiceCallPolicy policy)`
Set the remote service call policy to enable authorization on remote service method calls

### Methods inherited from class org.eclipse.ecf.remoteservice.client.AbstractClientContainer

`addRemoteServiceListener, asyncGetRemoteServiceReferences, asyncGetRemoteServiceReferences, asyncGetRemoteServiceReferences, connect, createRemoteFilter, createRemoteService, createRestServiceRegistration, createRestServiceRegistration, createUriRequest, disconnect, dispose, getAllRemoteServiceReferences, getConnectContextForAuthentication, getConnectedID, getID, getParameterSerializer, getParameterSerializer, getRemoteCallTargetID, getRemoteService, getRemoteServiceID, getRemoteServiceNamespace, getRemoteServiceReference, getRemoteServiceReferences, getRemoteServiceReferences, getRemoteServiceReferences, getResponseDeserializer, getResponseDeserializer, logException, prepareCallParameters, prepareExtraParameters, prepareParameters, processResponse, registerCallables, registerCallables, registerCallables, registerRemoteService, removeRemoteServiceListener, serializeParameter, serializeParameter, setAlwaysSendDefaultParameters, setConnectContextForAuthentication, setParameterSerializer, setRemoteServiceFactory, setResponseDeserializer, ungetRemoteService`

### Methods inherited from class org.eclipse.ecf.core.AbstractContainer

`addListener, fireContainerEvent, getAdapter, getPasswordFromConnectContext, removeListener`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AbstractRSAClientContainer

public AbstractRSAClientContainer(ID containerID)

## Method Details

### setRemoteServiceCallPolicy

public boolean setRemoteServiceCallPolicy(IRemoteServiceCallPolicy policy)
Description copied from interface: `IRemoteServiceContainerAdapter`
Set the remote service call policy to enable authorization on remote service method calls

Specified by:
  `setRemoteServiceCallPolicy` in interface `IRemoteServiceContainerAdapter`
Parameters:
  `policy` - Implementation of `IRemoteServiceCallPolicy` containing authorization specific code
Returns:
  `true` if the underlying provider supports using the policy, `false` if it does not support using the policy.

### getConnectNamespace

public Namespace getConnectNamespace()
Description copied from interface: `IContainer`
Get the Namespace for creating a targetID suitable for use as the first parameter in subsequent calls to `IContainer.connect(ID, IConnectContext)`. If this method returns `null`, then it means that `null` is expected as a valid parameter in subsequent calls to `IContainer.connect(ID, IConnectContext)`. If this method returns a non-`null` Namespace, then the `targetID` parameter in `IContainer.connect(ID, IConnectContext)` must be non-`null` instance created of the returned Namespace.

Specified by:
  `getConnectNamespace` in interface `IContainer`
Returns:
  Namespace the namespace associated with subsequent calls to `IContainer.connect(ID, IConnectContext)`. If `null`, then the `targetID` instances passed to `IContainer.connect(ID, IConnectContext)` may be `null`. If not `null`, then `targetID` instances passed to `IContainer.connect(ID, IConnectContext)` must be instances of the returned Namespace.

### connectToEndpoint

protected void connectToEndpoint(ID connectTargetID) throws ContainerConnectException

Throws:
  `ContainerConnectException`

### createRegistrationCallables

protected IRemoteCallable[][] createRegistrationCallables(ID targetID, String[] interfaces, Dictionary endpointDescriptionProperties)

### createRegistrationProperties

protected Dictionary createRegistrationProperties(Map<String,Object> endpointDescriptionProperties)

### createRSAClientRegistration

protected RemoteServiceClientRegistration createRSAClientRegistration(ID targetID, String[] interfaces, Map<String,Object> endpointDescriptionProperties)

### registerEndpoint

public RemoteServiceClientRegistration registerEndpoint(ID targetID, String[] interfaces, Map<String,Object> endpointDescriptionProperties)

### importEndpoint

public IRemoteServiceReference[] importEndpoint(Map<String,Object> endpointDescriptionProperties) throws ContainerConnectException, InvalidSyntaxException

Specified by:
  `importEndpoint` in interface `IRSAConsumerContainerAdapter`
Throws:
  `ContainerConnectException`
  `InvalidSyntaxException`

### prepareEndpointAddress

protected String prepareEndpointAddress(IRemoteCall call, IRemoteCallable callable)
Description copied from class: `AbstractClientContainer`
Prepare an endpoint address for the given call and callable.

Specified by:
  `prepareEndpointAddress` in class `AbstractClientContainer`
Parameters:
  `call` - to create an endpoint for. Will not be `null`.
  `callable` - to create an endpoing for. Will not be `null`.
Returns:
  String that represents the endpoing for the given call and callable. May only return `null` if the given call should not be completed (i.e. there is no endpoint associated with the given call).