java.util.Collection<ExportRegistration> |
exportService(org.osgi.framework.ServiceReference<?> reference,
java.util.Map<java.lang.String,?> properties)
exportService
java.util.Collection<ExportRegistration> exportService(org.osgi.framework.ServiceReference<?> reference,
java.util.Map<java.lang.String,?> properties)
- Export a service to a given Endpoint. The Remote Service Admin must
create an Endpoint from the given description that can be used by other
Distribution Providers to connect to this Remote Service Admin and use
the exported service.
The property keys of a Service Reference are case insensitive while the
property keys of the specified
properties map are case sensitive.
A property key in the specified properties map must therefore
override any case variant property key in the properties of the specified
Service Reference.
If the caller does not have the appropriate
EndpointPermission[endpoint,EXPORT] for an Endpoint, and the Java
Runtime Environment supports permissions, then the
getException method on the
corresponding returned ExportRegistration will return a
SecurityException .
- Parameters:
reference - The Service Reference to export.properties - The properties to create a local Endpoint that can be
implemented by this Remote Service Admin. If this is null ,
the Endpoint will be determined by the properties on the service.
The properties are the same as given for an exported service. They
override any properties in the specified Service Reference (case
insensitive). The properties objectClass and
service.id , in any case variant, are ignored. Those
properties in the Service Reference cannot be overridden. This
parameter can be null , this should be treated as an empty
map.
- Returns:
- A
Collection of ExportRegistration s for the
specified Service Reference and properties. Multiple Export
Registrations may be returned because a single service can be
exported to multiple Endpoints depending on the available
configuration type properties and the intents that they support.
The result is never null but may be empty if this Remove
Service Admin does not recognize any of the configuration types,
or if they Remote Service Admin cannot support the relevant
intents.
- Throws:
java.lang.IllegalArgumentException - If any of the properties for this
configuration type has a value that is not syntactically correct,
or if the service properties and the overlaid properties do not
contain a RemoteConstants.SERVICE_EXPORTED_INTERFACES
entry. This means that implementations must not ignore invalid
values for property names that they recognize.
importService
ImportRegistration importService(EndpointDescription endpoint)
- Import a service from an Endpoint. The Remote Service Admin must use the
given Endpoint to create a proxy. This method can return
null if
the service could not be imported.
- Parameters:
endpoint - The Endpoint Description to be used for import.
- Returns:
- An Import Registration that combines the Endpoint Description and
the Service Reference or
null if the Endpoint could not
be imported.
- Throws:
java.lang.SecurityException - If the caller does not have the appropriate
EndpointPermission[endpoint,IMPORT] for the Endpoint, and
the Java Runtime Environment supports permissions.
getExportedServices
java.util.Collection<ExportReference> getExportedServices()
- Return the currently active Export References.
If the caller does not have the appropriate
EndpointPermission[endpoint,READ] for an Endpoint, and the Java
Runtime Environment supports permissions, then returned collection will
not contain a reference to the exported Endpoint.
- Returns:
- A
Collection of ExportReference s that are
currently active.
getImportedEndpoints
java.util.Collection<ImportReference> getImportedEndpoints()
- Return the currently active Import References.
If the caller does not have the appropriate
EndpointPermission[endpoint,READ] for an Endpoint, and the Java
Runtime Environment supports permissions, then returned collection will
not contain a reference to the imported Endpoint.
- Returns:
- A
Collection of ImportReference s that are
currently active.
|