org.osgi.service.remoteserviceadmin
Interface ExportRegistration

All Known Implementing Classes:
RemoteServiceAdmin.ExportRegistration

@ProviderType
public interface ExportRegistration

An Export Registration associates a service to a local endpoint. The Export Registration can be used to delete the endpoint associated with an this registration. It is created with the RemoteServiceAdmin.exportService(ServiceReference,Map) method. When this Export Registration has been closed, all methods must return null.

ThreadSafe:

Method Summary
 void close()
          Delete the local endpoint and disconnect any remote distribution providers.
 java.lang.Throwable getException()
          Return the exception for any error during the export process.
 ExportReference getExportReference()
          Return the Export Reference for the exported service.
 EndpointDescription update(java.util.Map<java.lang.String,?> properties)
          Update the endpoint represented by this ExportRegistration and return an updated EndpointDescription.
 

Method Detail

getExportReference

ExportReference getExportReference()
Return the Export Reference for the exported service.

Returns:
The Export Reference for this registration, or null if this Import Registration is closed.
Throws:
java.lang.IllegalStateException - When this registration was not properly initialized. See getException().

update

EndpointDescription update(java.util.Map<java.lang.String,?> properties)
Update the endpoint represented by this ExportRegistration and return an updated EndpointDescription. If this method returns an updated EndpointDescription, then the object returned via getExportReference() must also have been updated to return this new object. If this method does not return an updated EndpointDescription then the object returned via getExportReference() should remain unchanged. When creating the updated EndpointDescription the ServiceReference originally passed to RemoteServiceAdmin.exportService(ServiceReference, Map) must be queried to pick up any changes to its service properties. If this argument is null then the original properties passed when creating this ExportRegistration should be used when constructing the updated EndpointDescription. Otherwise the new properties should be used, and replace the original properties for subsequent calls to the update method.

Parameters:
properties - properties to be merged with the current service properties for the ServiceReference represented by this ExportRegistration. If null is passed then the original properties passed to RemoteServiceAdmin.exportService(ServiceReference, Map) will be used.
Returns:
The updated EndpointDescription for this registration or null if there was a failure updating the endpoint. If a failure occurs then it can be accessed using getException().
Throws:
java.lang.IllegalStateException - If this registration is closed, or when this registration was not properly initialized. See getException().
Since:
1.1

close

void close()
Delete the local endpoint and disconnect any remote distribution providers. After this method returns, all methods must return null. This method has no effect when this registration has already been closed or is being closed.


getException

java.lang.Throwable getException()
Return the exception for any error during the export process. If the Remote Service Admin for some reasons is unable to properly initialize this registration, then it must return an exception from this method. If no error occurred, this method must return null. The error must be set before this Export Registration is returned. Asynchronously occurring errors must be reported to the log.

Returns:
The exception that occurred during the initialization of this registration or null if no exception occurred.