org.eclipse.cdt.core.settings.model.extension.impl

## Class CDefaultConfigurationDataProvider

- java.lang.Object
- - org.eclipse.cdt.core.settings.model.extension.CConfigurationDataProvider
  - - org.eclipse.cdt.core.settings.model.extension.impl.CDefaultConfigurationDataProvider

Direct Known Subclasses:
  UserAndDiscoveredEntryConfigurationDataProvider

    public class CDefaultConfigurationDataProvider
    extends CConfigurationDataProvider

### Constructor Summary

Constructors
Constructor and Description
`CDefaultConfigurationDataProvider()`

### Method Summary

All Methods Instance Methods Concrete Methods

`CConfigurationData`

`applyConfiguration(ICConfigurationDescription cfgDescription, ICConfigurationDescription baseCfgDescription, CConfigurationData baseData, org.eclipse.core.runtime.IProgressMonitor monitor)`
The method is called in case the implementer does NOT override method `CConfigurationDataProvider.applyConfiguration(ICConfigurationDescription, ICConfigurationDescription, CConfigurationData, IModificationContext, IProgressMonitor)`.

`CConfigurationData` `createConfiguration(ICConfigurationDescription cfgDescription, ICConfigurationDescription baseCfgDescription, CConfigurationData baseData, boolean clone, org.eclipse.core.runtime.IProgressMonitor monitor)` Requests the Configuration Data to be created for the given ConfigurationDescription.
`protected CConfigurationData` `createPreferenceConfig(CDataFactory factory)`
`protected CDataFactory` `getDataFactory()`
`protected CDataSerializer` `getDataSerializer()`
`protected ICStorageElement` `getStorageElement(ICConfigurationDescription cfgDescription, boolean create)`
`protected String` `getStorageId()`
`CConfigurationData` `loadConfiguration(ICConfigurationDescription cfgDescription, org.eclipse.core.runtime.IProgressMonitor monitor)` Requests the Configuration Data to be loaded for the given ConfigurationDescription.
`void` `removeConfiguration(ICConfigurationDescription cfgDescription, CConfigurationData data, org.eclipse.core.runtime.IProgressMonitor monitor)` Called to notify the provider that the configuration is removed.

### Methods inherited from class org.eclipse.cdt.core.settings.model.extension.CConfigurationDataProvider

`applyConfiguration, dataCached`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### CDefaultConfigurationDataProvider

    public CDefaultConfigurationDataProvider()

### Method Detail

#### applyConfiguration

    public CConfigurationData applyConfiguration(ICConfigurationDescription cfgDescription,
                                                 ICConfigurationDescription baseCfgDescription,
                                                 CConfigurationData baseData,
                                                 org.eclipse.core.runtime.IProgressMonitor monitor)
                                          throws org.eclipse.core.runtime.CoreException

Description copied from class: `CConfigurationDataProvider`
The method is called in case the implementer does NOT override method `CConfigurationDataProvider.applyConfiguration(ICConfigurationDescription, ICConfigurationDescription, CConfigurationData, IModificationContext, IProgressMonitor)`.

Overrides:
  `applyConfiguration` in class `CConfigurationDataProvider`
Parameters:
  `cfgDescription` - - configuration description where the configuration data are being applied to.
  `baseCfgDescription` - - configuration description of the configuration data being applied.
  `baseData` - - configuration data being applied.
Throws:
  `org.eclipse.core.runtime.CoreException`

#### createConfiguration

    public CConfigurationData createConfiguration(ICConfigurationDescription cfgDescription,
                                                  ICConfigurationDescription baseCfgDescription,
                                                  CConfigurationData baseData,
                                                  boolean clone,
                                                  org.eclipse.core.runtime.IProgressMonitor monitor)
                                           throws org.eclipse.core.runtime.CoreException

Description copied from class: `CConfigurationDataProvider`
Requests the Configuration Data to be created for the given ConfigurationDescription. The method can be called in several cases:
1. When the new configuration is being created based upon the already existing one via ICProjectDescription.createConfiguration method call.
2. When the configuration copy (clone) is being created for the copy description.

Specified by:
  `createConfiguration` in class `CConfigurationDataProvider`
Parameters:
  `cfgDescription` - - configuration description for the configuration data being created.
  `baseCfgDescription` - - configuration description for the configuration data the new data to be based upon.
  `baseData` - - configuration data the new data to be based upon.
  `clone` - - `true` indicates that the configuration copy (clone) is being created for the copy description.
  `monitor` - - progress monitor.
Returns:
  `false` indicates that the new configuration is being created based upon the already existing one via ICProjectDescription.createConfiguration method call, `true` otherwise.
Throws:
  `org.eclipse.core.runtime.CoreException`

#### loadConfiguration

    public CConfigurationData loadConfiguration(ICConfigurationDescription cfgDescription,
                                                org.eclipse.core.runtime.IProgressMonitor monitor)
                                         throws org.eclipse.core.runtime.CoreException

Description copied from class: `CConfigurationDataProvider`
Requests the Configuration Data to be loaded for the given ConfigurationDescription. The method can be called in following cases:
1. Loading configuration from external data source such as .cproject.
2. Loading preference configuration defined in Preferences -> C/C++ -> New project Wizard -> Makefile Project.

Specified by:
  `loadConfiguration` in class `CConfigurationDataProvider`
Parameters:
  `cfgDescription` - - configuration description being loaded.
  `monitor` - - progress monitor.
Throws:
  `org.eclipse.core.runtime.CoreException`

#### removeConfiguration

    public void removeConfiguration(ICConfigurationDescription cfgDescription,
                                    CConfigurationData data,
                                    org.eclipse.core.runtime.IProgressMonitor monitor)

Description copied from class: `CConfigurationDataProvider`
Called to notify the provider that the configuration is removed.

Specified by:
  `removeConfiguration` in class `CConfigurationDataProvider`
Parameters:
  `cfgDescription` - - configuration description being removed.
  `data` - - configuration data.
  `monitor` - - progress monitor.

#### getDataFactory

    protected CDataFactory getDataFactory()

#### getDataSerializer

    protected CDataSerializer getDataSerializer()

#### getStorageId

    protected String getStorageId()

#### getStorageElement

    protected ICStorageElement getStorageElement(ICConfigurationDescription cfgDescription,
                                                 boolean create)
                                          throws org.eclipse.core.runtime.CoreException

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

#### createPreferenceConfig

    protected CConfigurationData createPreferenceConfig(CDataFactory factory)