public interface IDiscoveredEndpointDescriptionFactory
DiscoveredEndpointDescription
s. A discovered
endpoint description factory is used by a EndpointDescriptionLocator
to convert a service info (discovered by the locator) into a discovered
endpoint description (instance of DiscoveredEndpointDescription). This
discovered endpoint description is then used by the
EndpointDescriptionLocator
to notify endpoint description listeners
as per section 122.6 of the OSGi Enterprise
Specification OSGi enterprise specification.
If no other instances of this service have been registered, a default
instance of DiscoveredEndpointDescriptionFactory
will be used by the
EndpointDescriptionLocator
. Note that this default instance is
registered with the lowest possible priority, so that if other
IDiscoveredEndpointDescriptionFactory
instances are registered, they
will be preferred/used over the default. This means that those wishing to
customize/control this process of converting IServiceInfo
s to
DiscoveredEndpointDescription
must
create their own implementation of
IDiscoveredEndpointDescriptionFactory
and register it with the OSGi service registry with a priority
({org.osgi.framework.Constants#SERVICE_RANKING}) higher than
Integer.MIN_VALUE
Then at runtime, when needed by the EndpointDescriptionLocator
, the
new discovered endpoint description factory will be used.
IServiceInfoFactory
Modifier and Type | Method and Description |
---|---|
DiscoveredEndpointDescription |
createDiscoveredEndpointDescription(IDiscoveryLocator locator,
IServiceInfo discoveredServiceInfo)
Create an EndpointDescription for a discovered remote service.
|
void |
removeAllDiscoveredEndpointDescriptions()
Remove all DiscoveredEndpointDescription from this factory.
|
boolean |
removeDiscoveredEndpointDescription(EndpointDescription endpointDescription)
Remove the DiscoveredEndpointDescription associated with the given
endpointDescription.
|
DiscoveredEndpointDescription |
removeDiscoveredEndpointDescription(IDiscoveryLocator locator,
IServiceID serviceID)
Remove an EndpointDescription for a previously discovered remote service.
|
DiscoveredEndpointDescription createDiscoveredEndpointDescription(IDiscoveryLocator locator, IServiceInfo discoveredServiceInfo)
null
if no notification should occur.locator
- the locator responsible for the discoveredServiceInfo. Must
not be null
.discoveredServiceInfo
- the discovered service info. Must not be null
.null
is returned, no notification should be
performed by the calling code.DiscoveredEndpointDescription removeDiscoveredEndpointDescription(IDiscoveryLocator locator, IServiceID serviceID)
null
if no notification should occur.locator
- the locator responsible for the discoveredServiceInfo. Must
not be null
.serviceID
- the discovered service ID. Must not be null
.null
is returned, no notification should be performed by the calling
code.boolean removeDiscoveredEndpointDescription(EndpointDescription endpointDescription)
endpointDescription
- that was previously associated with a
DiscoveredEndpointDescription (via
createDiscoveredEndpointDescription(IDiscoveryLocator, IServiceInfo)
to be removed. Must not be null
.true
if actually removed, false
if
nothing was removed.void removeAllDiscoveredEndpointDescriptions()
Copyright © 2017 Eclipse Foundation. All rights reserved.