Class 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
    • Method Detail

      • 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
      • 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