com.atlassian.plugin.loaders.classloading
Interface Scanner


public interface Scanner

Monitors some hypothetical space for deployed plugins. Due to limitations in the plugin system, plugins must at some point be represented as files, so for situations where plugins are not files (i.e. database-stored plugins) the scanner is responsible for copying them to the filesystem before they are used)

Since:
2.1.0

Method Summary
 java.util.Collection<DeploymentUnit> getDeploymentUnits()
          Gets all deployment units currently being tracked by the scanner.
 void remove(DeploymentUnit unit)
          Remove the specified deployment unit in such a way as it will not be picked up by subsequent scans, even if the system is restarted.
 void reset()
          Reset the scanner.
 java.util.Collection<DeploymentUnit> scan()
          Scan for new deployment units.
 

Method Detail

scan

java.util.Collection<DeploymentUnit> scan()
Scan for new deployment units. On the first scan, all deployment units that the scanner can find will be returned. Subsequent scans will only return deployment units that are new since the last scan (or call to reset() or clear())

Returns:
all new deployment units since the last scan

getDeploymentUnits

java.util.Collection<DeploymentUnit> getDeploymentUnits()
Gets all deployment units currently being tracked by the scanner. This will not trigger a scan, meaning that plugins that have been added since the last scan will not be returned.

Returns:
a collection of all deployment units currently being tracked by the scanner.

reset

void reset()
Reset the scanner. This causes it to forget all state about which plugins have (or haven't) been loaded.


remove

void remove(DeploymentUnit unit)
            throws PluginException
Remove the specified deployment unit in such a way as it will not be picked up by subsequent scans, even if the system is restarted.

Parameters:
unit - the deployment unit to remove
Throws:
PluginException - if the unit has not been properly removed: i.e. a restart would mean the unit would be reloaded.


Copyright © 2009 Atlassian Pty Ltd. All Rights Reserved.