MountPlugin
Date: 2016-06-25

org.osgi.service.dmt.spi

## Interface MountPlugin

-     public interface MountPlugin

  This interface can be optionally implemented by a `DataPlugin` or `ExecPlugin` in order to get information about its absolute mount points in the overall DMT.

  This is especially interesting, if the plugin is mapped to the tree as part of a list. In such a case the id for this particular data plugin is determined by the DmtAdmin after the registration of the plugin and therefore unknown to the plugin in advance.

  This is not a service interface, the Data or Exec Plugin does not also have to register this interface as a service, the Dmt Admin should use an `instanceof` to detect that a Plugin is also a Mount Plugin.

  Since:
    2.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `mountPointAdded(MountPoint mountPoint)` Provides the `MountPoint` describing the path where the plugin is mapped in the overall DMT.
    `void` | `mountPointRemoved(MountPoint mountPoint)` Informs the plugin that the provided `MountPoint` objects have been removed from the mapping.

- - ### Method Detail

    - #### mountPointAdded

          void mountPointAdded(MountPoint mountPoint)

      Provides the `MountPoint` describing the path where the plugin is mapped in the overall DMT. The given mountPoint is withdrawn with the `mountPointRemoved(MountPoint)` method. Corresponding mount points must compare equal and have an appropriate hash code.
      Parameters:
        `mountPoint` - the newly mapped mount point

    - #### mountPointRemoved

          void mountPointRemoved(MountPoint mountPoint)

      Informs the plugin that the provided `MountPoint` objects have been removed from the mapping. The given mountPoint is withdrawn method. Mount points must compare equal and have an appropriate hash code with the given Mount Point in `mountPointAdded(MountPoint)`.

      NOTE: attempts to invoke the `postEvent` method on the provided `MountPoint` must be ignored.

      Parameters:
        `mountPoint` - The unmapped mount point array of `MountPoint` objects that have been removed from the mapping