org.eclipse.cdt.core.resources

## Class RefreshScopeManager

- java.lang.Object
- - org.eclipse.cdt.core.resources.RefreshScopeManager

    public class RefreshScopeManager
    extends Object

The RefreshScopeManager provides access to settings pertaining to refreshes performed during a build. Each project may have a set of resources associated with it that are the set of resources to be refreshed. An exclusion mechanism exists that allows for one to specify arbitrarily complicated, nested logic that determines whether or not a given resource is refreshed according to previously specified rules. EXPERIMENTAL. This class or 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 CDT team.

Since:
  5.3

### Field Summary

Fields
`static String` `CONFIGURATION_ELEMENT`
`static String` `CONFIGURATION_ELEMENT_NAME`
`static String` `EXCLUSION_CLASS`
`static Object` `EXCLUSION_FACTORY`
`static String` `EXTENSION_ID`
`static String` `FACTORY_CLASS`
`static String` `FILE_VALUE`
`static String` `FOLDER_VALUE`
`static String` `INSTANCE_CLASS`
`static String` `OTHER_VALUE`
`static String` `PROJECT_VALUE`
`static String` `REFRESH_SCOPE_STORAGE_NAME`
`static String` `RESOURCE_ELEMENT_NAME`
`static String` `RESOURCE_TYPE_ATTRIBUTE_NAME`
`static String` `VERSION_ELEMENT_NAME`
`static String` `VERSION_NUMBER_ATTRIBUTE_NAME`
`static String` `WORKSPACE_PATH_ATTRIBUTE_NAME`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `addExclusion(org.eclipse.core.resources.IProject project, String configName, org.eclipse.core.resources.IResource resource, RefreshExclusion exclusion)`
`void` `addResourceToRefresh(org.eclipse.core.resources.IProject project, String configName, org.eclipse.core.resources.IResource resource)`
`void` `clearAllData()`
`void` `clearExclusions(org.eclipse.core.resources.IProject project, String configName, org.eclipse.core.resources.IResource resource)`
`void` `clearResourcesToRefresh(org.eclipse.core.resources.IProject project)`
`void` `deleteResourceToRefresh(org.eclipse.core.resources.IProject project, String configName, org.eclipse.core.resources.IResource resource)`
`HashMap<String,HashMap<org.eclipse.core.resources.IResource,List<RefreshExclusion>>>` `getConfigurationToResourcesMap(org.eclipse.core.resources.IProject project)`
`RefreshExclusion` `getExclusionForClassName(String className)`
`List<RefreshExclusion>` `getExclusions(org.eclipse.core.resources.IProject project, String configName, org.eclipse.core.resources.IResource resource)`
`RefreshExclusionFactory` `getFactoryForClassName(String className)`
`static RefreshScopeManager` `getInstance()`
`ExclusionInstance` `getInstanceForClassName(String className)`
`org.eclipse.core.resources.IWorkspaceRunnable` `getRefreshRunnable(org.eclipse.core.resources.IProject project)` Refresh the given project using the refresh setting for the active configuration
`org.eclipse.core.resources.IWorkspaceRunnable` `getRefreshRunnable(org.eclipse.core.resources.IProject project, String configName)` Refresh the given project using the refresh setting for the configuration with the given name
`org.eclipse.core.runtime.jobs.ISchedulingRule` `getRefreshSchedulingRule(org.eclipse.core.resources.IProject project, String configName)`
`List<org.eclipse.core.resources.IResource>` `getResourcesToRefresh(org.eclipse.core.resources.IProject project, String configName)`
`int` `getVersion()`
`void` `loadExtensions()`
`void` `loadResourceData(org.eclipse.core.resources.IWorkspaceRoot workspaceRoot, org.eclipse.core.resources.IProject project, String configName, ICStorageElement[] children)`
`void` `loadSettings()`
`void` `loadSettings(org.eclipse.core.resources.IWorkspaceRoot workspaceRoot, org.eclipse.core.resources.IProject project)`
`void` `persistDataResource(ICStorageElement storageElement, org.eclipse.core.resources.IResource resource, HashMap<org.eclipse.core.resources.IResource,List<RefreshExclusion>> resourceMap)`
`void` `persistSettings(ICProjectDescription projectDescription)`
`void` `removeExclusion(org.eclipse.core.resources.IProject project, String configName, org.eclipse.core.resources.IResource resource, RefreshExclusion exclusion)`
`void` `setExclusions(org.eclipse.core.resources.IProject project, String configName, org.eclipse.core.resources.IResource resource, List<RefreshExclusion> newExclusions)`
`void` `setResourcesToExclusionsMap(org.eclipse.core.resources.IProject project, String configName, HashMap<org.eclipse.core.resources.IResource,List<RefreshExclusion>> source_resourceMap)`
`boolean` `shouldResourceBeRefreshed(String configName, org.eclipse.core.resources.IResource resource)`

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

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

### Field Detail

#### EXCLUSION_CLASS

    public static final String EXCLUSION_CLASS

See Also:
  Constant Field Values

#### EXCLUSION_FACTORY

    public static final Object EXCLUSION_FACTORY

#### EXTENSION_ID

    public static final String EXTENSION_ID

See Also:
  Constant Field Values

#### FACTORY_CLASS

    public static final String FACTORY_CLASS

See Also:
  Constant Field Values

#### FILE_VALUE

    public static final String FILE_VALUE

See Also:
  Constant Field Values

#### FOLDER_VALUE

    public static final String FOLDER_VALUE

See Also:
  Constant Field Values

#### INSTANCE_CLASS

    public static final String INSTANCE_CLASS

See Also:
  Constant Field Values

#### OTHER_VALUE

    public static final String OTHER_VALUE

See Also:
  Constant Field Values

#### PROJECT_VALUE

    public static final String PROJECT_VALUE

See Also:
  Constant Field Values

#### REFRESH_SCOPE_STORAGE_NAME

    public static final String REFRESH_SCOPE_STORAGE_NAME

See Also:
  Constant Field Values

#### RESOURCE_ELEMENT_NAME

    public static final String RESOURCE_ELEMENT_NAME

See Also:
  Constant Field Values

#### RESOURCE_TYPE_ATTRIBUTE_NAME

    public static final String RESOURCE_TYPE_ATTRIBUTE_NAME

See Also:
  Constant Field Values

#### VERSION_ELEMENT_NAME

    public static final String VERSION_ELEMENT_NAME

See Also:
  Constant Field Values

#### VERSION_NUMBER_ATTRIBUTE_NAME

    public static final String VERSION_NUMBER_ATTRIBUTE_NAME

See Also:
  Constant Field Values

#### WORKSPACE_PATH_ATTRIBUTE_NAME

    public static final String WORKSPACE_PATH_ATTRIBUTE_NAME

See Also:
  Constant Field Values

#### CONFIGURATION_ELEMENT

    public static final String CONFIGURATION_ELEMENT

Since:
  5.4
See Also:
  Constant Field Values

#### CONFIGURATION_ELEMENT_NAME

    public static final String CONFIGURATION_ELEMENT_NAME

Since:
  5.4
See Also:
  Constant Field Values

### Method Detail

#### getInstance

    public static RefreshScopeManager getInstance()

#### addExclusion

    public void addExclusion(org.eclipse.core.resources.IProject project,
                             String configName,
                             org.eclipse.core.resources.IResource resource,
                             RefreshExclusion exclusion)

Since:
  5.4

#### addResourceToRefresh

    public void addResourceToRefresh(org.eclipse.core.resources.IProject project,
                                     String configName,
                                     org.eclipse.core.resources.IResource resource)

Since:
  5.4

#### clearAllData

    public void clearAllData()

#### clearExclusions

    public void clearExclusions(org.eclipse.core.resources.IProject project,
                                String configName,
                                org.eclipse.core.resources.IResource resource)

Since:
  5.4

#### clearResourcesToRefresh

    public void clearResourcesToRefresh(org.eclipse.core.resources.IProject project)

#### deleteResourceToRefresh

    public void deleteResourceToRefresh(org.eclipse.core.resources.IProject project,
                                        String configName,
                                        org.eclipse.core.resources.IResource resource)

Since:
  5.4

#### getExclusionForClassName

    public RefreshExclusion getExclusionForClassName(String className)

#### getFactoryForClassName

    public RefreshExclusionFactory getFactoryForClassName(String className)

#### getInstanceForClassName

    public ExclusionInstance getInstanceForClassName(String className)

#### getConfigurationToResourcesMap

    public HashMap<String,HashMap<org.eclipse.core.resources.IResource,List<RefreshExclusion>>> getConfigurationToResourcesMap(org.eclipse.core.resources.IProject project)

Since:
  5.4

#### getRefreshRunnable

    public org.eclipse.core.resources.IWorkspaceRunnable getRefreshRunnable(org.eclipse.core.resources.IProject project)

Refresh the given project using the refresh setting for the active configuration

Parameters:
  `project` -
Returns:
  the refresh runnable for the given project

#### getRefreshRunnable

    public org.eclipse.core.resources.IWorkspaceRunnable getRefreshRunnable(org.eclipse.core.resources.IProject project,
                                                                            String configName)

Refresh the given project using the refresh setting for the configuration with the given name

Parameters:
  `project` -
  `configName` -
Returns:
  the refresh runnable for the given project
Since:
  5.4

#### getRefreshSchedulingRule

    public org.eclipse.core.runtime.jobs.ISchedulingRule getRefreshSchedulingRule(org.eclipse.core.resources.IProject project,
                                                                                  String configName)

Since:
  5.4

#### getResourcesToRefresh

    public List<org.eclipse.core.resources.IResource> getResourcesToRefresh(org.eclipse.core.resources.IProject project,
                                                                            String configName)

Since:
  5.4

#### getVersion

    public int getVersion()

#### loadExtensions

    public void loadExtensions()

#### loadSettings

    public void loadSettings()
                      throws org.eclipse.core.runtime.CoreException

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

#### loadSettings

    public void loadSettings(org.eclipse.core.resources.IWorkspaceRoot workspaceRoot,
                             org.eclipse.core.resources.IProject project)
                      throws org.eclipse.core.runtime.CoreException

Parameters:
  `workspaceRoot` -
  `project` -
Throws:
  `org.eclipse.core.runtime.CoreException`

#### loadResourceData

    public void loadResourceData(org.eclipse.core.resources.IWorkspaceRoot workspaceRoot,
                                 org.eclipse.core.resources.IProject project,
                                 String configName,
                                 ICStorageElement[] children)

Since:
  5.4

#### persistSettings

    public void persistSettings(ICProjectDescription projectDescription)
                         throws org.eclipse.core.runtime.CoreException

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

#### persistDataResource

    public void persistDataResource(ICStorageElement storageElement,
                                    org.eclipse.core.resources.IResource resource,
                                    HashMap<org.eclipse.core.resources.IResource,List<RefreshExclusion>> resourceMap)

Since:
  5.4

#### removeExclusion

    public void removeExclusion(org.eclipse.core.resources.IProject project,
                                String configName,
                                org.eclipse.core.resources.IResource resource,
                                RefreshExclusion exclusion)

Since:
  5.4

#### setExclusions

    public void setExclusions(org.eclipse.core.resources.IProject project,
                              String configName,
                              org.eclipse.core.resources.IResource resource,
                              List<RefreshExclusion> newExclusions)

Since:
  5.4

#### getExclusions

    public List<RefreshExclusion> getExclusions(org.eclipse.core.resources.IProject project,
                                                String configName,
                                                org.eclipse.core.resources.IResource resource)

Since:
  5.4

#### setResourcesToExclusionsMap

    public void setResourcesToExclusionsMap(org.eclipse.core.resources.IProject project,
                                            String configName,
                                            HashMap<org.eclipse.core.resources.IResource,List<RefreshExclusion>> source_resourceMap)

Since:
  5.4

#### shouldResourceBeRefreshed

    public boolean shouldResourceBeRefreshed(String configName,
                                             org.eclipse.core.resources.IResource resource)

Since:
  5.4