org.eclipse.cdt.core.index.export

## Interface IExportProjectProvider

All Known Implementing Classes:
  AbstractExportProjectProvider, ExternalExportProjectProvider

    public interface IExportProjectProvider

An IExportProjectProvider provides a configured ICProject suitable set up for indexing. It is used via the org.eclipse.cdt.core.GeneratePDOM application.
In general, ISV's may have very specific configuration requirements, and it is expected that they subclass `AbstractExportProjectProvider` or `ExternalExportProjectProvider` in order to do so.
If your requirements are very simple, then `ExternalExportProjectProvider` may be sufficient for direct usage.

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

### Method Summary

All Methods Instance Methods Abstract Methods
`ICProject` `createProject()` Creates, configures and returns a project for the indexer to index.
`Map<String,String>` `getExportProperties()` Get a String to String map of properties to store with the index content.
`IIndexLocationConverter` `getLocationConverter(ICProject cproject)` The location converter to use on export.
`void` `setApplicationArguments(String[] arguments)` This method will be called by the export framework before any other method in this class.

### Method Detail

#### setApplicationArguments

    void setApplicationArguments(String[] arguments)

This method will be called by the export framework before any other method in this class. It passes the application argument received by the export application

Parameters:
  `arguments` - the application arguments
See Also:
  `Platform.getApplicationArgs()`

#### createProject

    ICProject createProject()
                     throws org.eclipse.core.runtime.CoreException

Creates, configures and returns a project for the indexer to index. This routine should not itself index the project, as a reindex will be performed by the framework. May not return null.

Throws:
  `org.eclipse.core.runtime.CoreException`

#### getLocationConverter

    IIndexLocationConverter getLocationConverter(ICProject cproject)

The location converter to use on export. This converter will be called to convert IIndexFileLocation's to an external form. The external form is implementation dependent.

Parameters:
  `cproject` -
See Also:
  `URIRelativeLocationConverter`, `ResourceContainerRelativeLocationConverter`

#### getExportProperties

    Map<String,String> getExportProperties()

Get a String to String map of properties to store with the index content. The export framework may ignore this if the index format does not support this. The PDOM format does support properties.

Returns:
  a Map of String typed key value pairs representing ISV specific properties. This may return null.