Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Spaces/Spi/ProviderSpi"

< Spaces‎ | Spi
(Space Provider)
(Space Provider)
Line 13: Line 13:
 
* ISpace
 
* ISpace
  
The ISpaceProvider's main responsibility is to create an instance of an ISpace given an URI that addresses a space. In order to do this, the implementor of ISpaceProvider must specify a name for the <i>providerScheme</i> to use. The <i>providerScheme</i> is part of the URI, and is used as a key by the core spaces implementation to match a URI with an implementation of ISpaceProvider.
+
The '''ISpaceProvider's''' main responsibility is to create an instance of an ISpace given an URI that addresses a space. In order to do this, the implementor of ISpaceProvider must specify a name for the <i>providerScheme</i> to use. The <i>providerScheme</i> is part of the URI, and is used as a key by the core spaces implementation to match a URI with an implementation of ISpaceProvider.
 +
 
 +
The '''ISpace''' main responsibility is to translate the space URI into:
 +
* EFS IFileStore references for (one or both):
 +
** A flat "files" area (i.e. no nested folders, just a place to store "a list of files"
 +
** A structured area (i.e. a standard type filesystem with folders and files)
 +
* A Source Code Repository address (A SVN or CVS URI)
 +
 
 +
The main work is to provide an implementation of an Eclipse File System (if one does not already exist). This means implementing the interfaces IFileSystem, IFileStore, IFileInfo and related interfaces.

Revision as of 20:11, 18 January 2008

How can Eclipse Spaces be extended?

It is possible to extend Eclipse Spaces in the following ways:

  • Adding a Space Provider - this is done when there is a need to add a new way of accessing a space
  • Adding UI specific for a Space Provider implementation
  • Adding a Publishing Operation - this is done when a new way of writing artifacts into a space is needed
  • Adding UI specific for a Publishing Operation

These are described in more detail below

Space Provider

A Space Provider's main responsibility is to implement the following two interaces in the org.eclipse.spaces.core.provider.spi package:

  • ISpaceProvider
  • ISpace

The ISpaceProvider's main responsibility is to create an instance of an ISpace given an URI that addresses a space. In order to do this, the implementor of ISpaceProvider must specify a name for the providerScheme to use. The providerScheme is part of the URI, and is used as a key by the core spaces implementation to match a URI with an implementation of ISpaceProvider.

The ISpace main responsibility is to translate the space URI into:

  • EFS IFileStore references for (one or both):
    • A flat "files" area (i.e. no nested folders, just a place to store "a list of files"
    • A structured area (i.e. a standard type filesystem with folders and files)
  • A Source Code Repository address (A SVN or CVS URI)

The main work is to provide an implementation of an Eclipse File System (if one does not already exist). This means implementing the interfaces IFileSystem, IFileStore, IFileInfo and related interfaces.

Back to the top