PluginManager

PluginManager

PluginManager keeps track of available plugins and helps the DART core find the plugins it needs to complete a job. For example, if a job requires that we packaged a bag into a tar file and then send it via FTP to some remote server, the plugin manager will find the plugins capable of writing tar files and talking to FTP servers.

Constructor

new PluginManager()

Source:

Methods

(static) canRead(fileExtension) → {Array.<Plugin>}

This returns a list of all plugins that can read the specified file extension. For example, canRead('.tar') returns a list of plugins that can read tar files. Use 'filesystem' if you're looking for plugins that can read from the file system.

Parameters:
Name Type Description
fileExtension string

A string specifying the extension of the file type you want to read. This should be all lowercase, such as '.tar', '.zip', etc.

Source:

(static) canWrite(fileExtension) → {Array.<Plugin>}

This returns a list of all plugins that can write the specified file extension. For example, canWrite('.tar') returns a list of plugins that can write tar files. Use 'filesystem' if you're looking for plugins that can write to the file system.

Parameters:
Name Type Description
fileExtension string

A string specifying the extension of the file type you want to write. This should be all lowercase, such as '.tar', '.zip', etc.

Source:

(static) findById() → {Plugin}

This returns the plugin with the specified id.

Source:

(static) getModuleCollection() → {Array.<Plugin>}

This returns a list of available plugins of the specified type. This function is primarily meant for internal use.

Source:

(static) implementsProtocol(protocol) → {Array.<Plugin>}

This returns a list of all plugins that implement the specified network protocol. For example, implementsProtocol('s3') returns a list of plugins that can talk to s3 servers.

Parameters:
Name Type Description
protocol string

A string specifying what network protocol you want to use. This should be all lowercase, such as 'ftp', 'sftp', 's3', etc.

Source:

(static) pluginProvides() → {Array.<Plugin>}

This returns a list of plugins that provide a certain service, such as being able to read a specified format or communicate via a specific network protocol. This function is used internally by the convenience functions canRead, canWrite, implementsProtocol, talksTo, and setsUp. You should generally use those functions instead of this one.

Source:

(static) talksTo(repoType) → {Array.<Plugin>}

This returns a list of all plugins that can talk to repositories of the specified type. For example, talksTo('fedora') returns a list of plugins that can talk to Fedora REST services.

Parameters:
Name Type Description
repoType string

A string specifying what kind of repository you want to talk to. This should be all lowercase, such as 'aptrust', 'fedora', etc.

Source:

(static) types() → {Array.<string>}

This returns a list of plugin types. E.g. 'FormatReader', 'FormatWriter', etc.

Source: