public abstract class AbstractRestClientContainer extends AbstractClientContainer
| Modifier and Type | Class and Description |
|---|---|
protected class |
AbstractRestClientContainer.RestRemoteServiceClientRegistration |
| Modifier and Type | Field and Description |
|---|---|
static String |
SLASH |
alwaysSendDefaultParameters, connectContext, connectedID, connectLock, containerID, parameterSerializer, parameterSerializerLock, registry, remoteResponseDeserializer, remoteResponseDeserializerLock, remoteServiceFactory, remoteServiceListeners| Constructor and Description |
|---|
AbstractRestClientContainer(RestID containerID) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract IRemoteService |
createRemoteService(RemoteServiceClientRegistration registration)
Create a remote service for a given remote service registration.
|
protected RemoteServiceClientRegistration |
createRestServiceRegistration(IRemoteCallable[] callables,
Dictionary properties) |
protected RemoteServiceClientRegistration |
createRestServiceRegistration(String[] clazzes,
IRemoteCallable[][] callables,
Dictionary properties) |
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[] |
getRemoteServiceReferences(ID target,
ID[] idFilter,
String clazz,
String filter)
Returns an array of
IRemoteServiceReference objects. |
IRemoteServiceReference[] |
getRemoteServiceReferences(ID target,
String clazz,
String filter)
Returns an array of
IRemoteServiceReference objects. |
protected String |
prepareBaseUri(IRemoteCall call,
IRemoteCallable callable) |
String |
prepareEndpointAddress(IRemoteCall call,
IRemoteCallable callable)
Prepare an endpoint address for the given call and callable.
|
protected String |
prepareResourcePath(IRemoteCall call,
IRemoteCallable callable) |
boolean |
setRemoteServiceCallPolicy(IRemoteServiceCallPolicy policy)
Set the remote service call policy to enable authorization on remote service method calls
|
protected String |
substituteParameters(String path,
Object[] parameters) |
protected ID |
transformTarget(ID originalTarget,
String filter) |
addRemoteServiceListener, asyncGetRemoteServiceReferences, asyncGetRemoteServiceReferences, asyncGetRemoteServiceReferences, connect, createRemoteFilter, createUriRequest, disconnect, dispose, getAllRemoteServiceReferences, getConnectContextForAuthentication, getConnectedID, getID, getParameterSerializer, getParameterSerializer, getRemoteCallTargetID, getRemoteService, getRemoteServiceID, getRemoteServiceNamespace, getRemoteServiceReference, getRemoteServiceReferences, getResponseDeserializer, getResponseDeserializer, logException, prepareCallParameters, prepareExtraParameters, prepareParameters, processResponse, registerCallables, registerCallables, registerCallables, registerRemoteService, removeRemoteServiceListener, serializeParameter, serializeParameter, setAlwaysSendDefaultParameters, setConnectContextForAuthentication, setParameterSerializer, setRemoteServiceFactory, setResponseDeserializer, ungetRemoteServiceaddListener, fireContainerEvent, getAdapter, getPasswordFromConnectContext, removeListenerpublic static final String SLASH
public AbstractRestClientContainer(RestID containerID)
public boolean setRemoteServiceCallPolicy(IRemoteServiceCallPolicy policy)
IRemoteServiceContainerAdapterpolicy - Implementation of IRemoteServiceCallPolicy containing authorization specific codetrue if the underlying provider supports using the policy, false if
it does not support using the policy.public Namespace getConnectNamespace()
IContainerIContainer.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.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.protected abstract IRemoteService createRemoteService(RemoteServiceClientRegistration registration)
AbstractClientContainercreateRemoteService in class AbstractClientContainerregistration - the remote service client registration associated with the service
being imported. Will not be null.public IRemoteServiceReference[] getRemoteServiceReferences(ID target, ID[] idFilter, String clazz, String filter) throws InvalidSyntaxException, ContainerConnectException
IRemoteServiceContainerAdapterIRemoteServiceReference objects. The
returned array of IRemoteServiceReference objects contains
services that were registered under the specified class and match the
specified idFilter, and filter criteria.
Note this method assumes that the enclosing container has previously
been connected, and uses the idFilter to filter among targets within the
previously connected set of container IDs. To request connection as
part of reference lookup, see IRemoteServiceContainerAdapter.getRemoteServiceReferences(ID, String, String).
The list is valid at the time of the call to this method, however since the Framework is a very dynamic environment, services can be modified or unregistered at anytime.
target is a remote container to connect to. If null, no connection attempt is made.
idFilter is used to select a registered services that were
registered by a given set of containers with id in idFilter. Only
services exposed by a container with id in idFilter will be returned. If idFilter is null, all containers are
considered to match the filter.
filter is used to select the registered service whose
properties objects contain keys and values which satisfy the filter. See
Filter for a description of the filter string syntax.
If filter is null, all registered services
are considered to match the filter. If filter cannot be
parsed, an InvalidSyntaxException will be thrown with a human
readable message where the filter became unparsable.
getRemoteServiceReferences in interface IRemoteServiceConsumergetRemoteServiceReferences in interface IRemoteServiceContainerAdaptergetRemoteServiceReferences in class AbstractClientContainertarget - a target container to connect to if enclosing container is not already
connected. May be null.idFilter - an array of ID instances that will restrict the search for
matching container ids If null, all remote containers will be
considered in search for matching IRemoteServiceReference
instances. May be null.clazz - the fully qualified name of the interface class that describes
the desired service. Must not be null.filter - The filter criteria. May be null.null if no services are found that match the search.InvalidSyntaxException - If filter contains an invalid filter string that cannot be parsed.ContainerConnectException - if container cannot connectpublic IRemoteServiceReference[] getRemoteServiceReferences(ID target, String clazz, String filter) throws InvalidSyntaxException, ContainerConnectException
IRemoteServiceContainerAdapter
Returns an array of IRemoteServiceReference objects. The
returned array of IRemoteServiceReference objects contains
services that were registered under the specified class and match the
specified idFilter, and filter criteria.
The list is valid at the time of the call to this method, however since the Framework is a very dynamic environment, services can be modified or unregistered at anytime.
target is a remote container to connect to.
filter is used to select the registered service whose
properties objects contain keys and values which satisfy the filter. See
Filter for a description of the filter string syntax.
If filter is null, all registered services
are considered to match the filter. If filter cannot be
parsed, an InvalidSyntaxException will be thrown with a human
readable message where the filter became unparsable.
getRemoteServiceReferences in interface IRemoteServiceConsumergetRemoteServiceReferences in interface IRemoteServiceContainerAdaptergetRemoteServiceReferences in class AbstractClientContainertarget - an target to connect to if enclosing container is not already
connected. May be null.clazz - the fully qualified name of the interface class that describes
the desired service. Must not be null.filter - The filter criteria. May be null.null if no services are found that match the search.InvalidSyntaxException - If filter contains an invalid filter string that cannot be parsed.ContainerConnectException - if container cannot connectprotected ID transformTarget(ID originalTarget, String filter) throws InvalidSyntaxException
InvalidSyntaxExceptionprotected String prepareBaseUri(IRemoteCall call, IRemoteCallable callable)
protected String prepareResourcePath(IRemoteCall call, IRemoteCallable callable)
public String prepareEndpointAddress(IRemoteCall call, IRemoteCallable callable)
AbstractClientContainerprepareEndpointAddress in class AbstractClientContainercall - to create an endpoint for. Will not be null.callable - to create an endpoing for. Will not be null.null if the
given call should not be completed (i.e. there is no endpoint associated with the given call).protected RemoteServiceClientRegistration createRestServiceRegistration(String[] clazzes, IRemoteCallable[][] callables, Dictionary properties)
createRestServiceRegistration in class AbstractClientContainerprotected RemoteServiceClientRegistration createRestServiceRegistration(IRemoteCallable[] callables, Dictionary properties)
createRestServiceRegistration in class AbstractClientContainerCopyright © 2004–2020 Eclipse Foundation. All rights reserved.