Package org.eclipse.team.core.importing.provisional

# Interface IBundleImporterDelegate

All Known Subinterfaces:
  `IBundleImporter`

All Known Implementing Classes:
  `BundleImporterDelegate`

public interface IBundleImporterDelegate
A bundle importer delegate is contributed by a bundle importer extension and is capable of importing projects into the workspace from a repository based on bundle manifest entries.

Following is an example extension:

     <extension point="org.eclipse.team.core.bundleImporters">
      <importer
       id="com.example.ExampleIdentifier"
       class="com.example.ExampleBundleImporterDelegate">
      </importer>
     </extension>

Clients contributing bundle importer extensions are intended to implement this interface. They can also subclass `BundleImporterDelegate`.

EXPERIMENTAL. This interface has been added as part of a work in progress. There is no guarantee that this API will work or that it will remain the same. Please do not use this API without consulting with the Team team.

Since:
  3.6
Restriction:
  This interface is not intended to be extended by clients.

## Method Summary

Modifier and Type
Method
Description
`IProject[]`
`performImport(ScmUrlImportDescription[] descriptions, IProgressMonitor monitor)`
Imports bundles into the workspace creating a project for each import description.
`ScmUrlImportDescription[]`
`validateImport(Map[] manifests)`
Returns an array of objects describing how each given bundle (manifest headers and values) can be imported into a workspace project.

## Method Details

### validateImport

ScmUrlImportDescription[] validateImport(Map[] manifests)
Returns an array of objects describing how each given bundle (manifest headers and values) can be imported into a workspace project. A `null` entry in the returned array indicates the corresponding bundle cannot be imported by this delegate.

Parameters:
  `manifests` - array of maps containing manifest headers and values of the associated bundles
Returns:
  array of bundle import descriptions that may contain `null` entries

### performImport

IProject[] performImport(ScmUrlImportDescription[] descriptions, IProgressMonitor monitor) throws CoreException
Imports bundles into the workspace creating a project for each import description. Reports progress to the given monitor, if not `null`.

Parameters:
  `descriptions` - description of bundles to import
  `monitor` - progress monitor or `null`
Returns:
  collection of projects created in the workspace or `null` if none
Throws:
  `CoreException` - if unable to import projects