ImportRegistration
Date: 2016-06-25

org.osgi.service.remoteserviceadmin

## Interface ImportRegistration

-     @ProviderType
      public interface ImportRegistration

  An Import Registration associates an active proxy service to a remote endpoint. The Import Registration can be used to delete the proxy associated with an endpoint. It is created with the `RemoteServiceAdmin.importService(EndpointDescription)` method. When this Import Registration has been closed, all methods must return `null`.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close this Import Registration.
    `java.lang.Throwable` | `getException()` Return the exception for any error during the import process.
    `ImportReference` | `getImportReference()` Return the Import Reference for the imported service.
    `boolean` | `update(EndpointDescription endpoint)` Update the local service represented by this `ImportRegistration`.

- - ### Method Detail

    - #### getImportReference

          ImportReference getImportReference()

      Return the Import Reference for the imported service.
      Returns:
        The Import 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

          boolean update(EndpointDescription endpoint)

      Update the local service represented by this `ImportRegistration`. After this method returns the `EndpointDescription` returned via `getImportReference()` must have been updated.
      Parameters:
        `endpoint` - The updated endpoint
      Returns:
        `true` if the endpoint was successfully updated, `false` otherwise. If the update fails then the failure can be retrieved from `getException()`.
      Throws:
        `java.lang.IllegalStateException` - When this registration is closed, or if it was not properly initialized. See `getException()`.
        `java.lang.IllegalArgumentException` - When the supplied `EndpointDescription` does not represent the same endpoint as this `ImportRegistration`.
      Since:
        1.1

    - #### close

          void close()

      Close this Import Registration. This must close the connection to the endpoint and unregister the proxy. After this method returns, all other 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 import 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 Import 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.