Class RefreshScopeManager


  • public class RefreshScopeManager
    extends java.lang.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 Detail

      • EXCLUSION_FACTORY

        public static final java.lang.Object EXCLUSION_FACTORY
      • REFRESH_SCOPE_STORAGE_NAME

        public static final java.lang.String REFRESH_SCOPE_STORAGE_NAME
        See Also:
        Constant Field Values
      • RESOURCE_ELEMENT_NAME

        public static final java.lang.String RESOURCE_ELEMENT_NAME
        See Also:
        Constant Field Values
      • RESOURCE_TYPE_ATTRIBUTE_NAME

        public static final java.lang.String RESOURCE_TYPE_ATTRIBUTE_NAME
        See Also:
        Constant Field Values
      • VERSION_ELEMENT_NAME

        public static final java.lang.String VERSION_ELEMENT_NAME
        See Also:
        Constant Field Values
      • VERSION_NUMBER_ATTRIBUTE_NAME

        public static final java.lang.String VERSION_NUMBER_ATTRIBUTE_NAME
        See Also:
        Constant Field Values
      • WORKSPACE_PATH_ATTRIBUTE_NAME

        public static final java.lang.String WORKSPACE_PATH_ATTRIBUTE_NAME
        See Also:
        Constant Field Values
      • CONFIGURATION_ELEMENT

        public static final java.lang.String CONFIGURATION_ELEMENT
        Since:
        5.4
        See Also:
        Constant Field Values
      • CONFIGURATION_ELEMENT_NAME

        public static final java.lang.String CONFIGURATION_ELEMENT_NAME
        Since:
        5.4
        See Also:
        Constant Field Values
    • Method Detail

      • addExclusion

        public void addExclusion​(org.eclipse.core.resources.IProject project,
                                 java.lang.String configName,
                                 org.eclipse.core.resources.IResource resource,
                                 RefreshExclusion exclusion)
        Since:
        5.4
      • addResourceToRefresh

        public void addResourceToRefresh​(org.eclipse.core.resources.IProject project,
                                         java.lang.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,
                                    java.lang.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,
                                            java.lang.String configName,
                                            org.eclipse.core.resources.IResource resource)
        Since:
        5.4
      • getExclusionForClassName

        public RefreshExclusion getExclusionForClassName​(java.lang.String className)
      • getInstanceForClassName

        public ExclusionInstance getInstanceForClassName​(java.lang.String className)
      • getConfigurationToResourcesMap

        public java.util.HashMap<java.lang.String,​java.util.HashMap<org.eclipse.core.resources.IResource,​java.util.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,
                                                                                java.lang.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,
                                                                                      java.lang.String configName)
        Since:
        5.4
      • getResourcesToRefresh

        public java.util.List<org.eclipse.core.resources.IResource> getResourcesToRefresh​(org.eclipse.core.resources.IProject project,
                                                                                          java.lang.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,
                                     java.lang.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,
                                        java.util.HashMap<org.eclipse.core.resources.IResource,​java.util.List<RefreshExclusion>> resourceMap)
        Since:
        5.4
      • removeExclusion

        public void removeExclusion​(org.eclipse.core.resources.IProject project,
                                    java.lang.String configName,
                                    org.eclipse.core.resources.IResource resource,
                                    RefreshExclusion exclusion)
        Since:
        5.4
      • setExclusions

        public void setExclusions​(org.eclipse.core.resources.IProject project,
                                  java.lang.String configName,
                                  org.eclipse.core.resources.IResource resource,
                                  java.util.List<RefreshExclusion> newExclusions)
        Since:
        5.4
      • getExclusions

        public java.util.List<RefreshExclusion> getExclusions​(org.eclipse.core.resources.IProject project,
                                                              java.lang.String configName,
                                                              org.eclipse.core.resources.IResource resource)
        Since:
        5.4
      • setResourcesToExclusionsMap

        public void setResourcesToExclusionsMap​(org.eclipse.core.resources.IProject project,
                                                java.lang.String configName,
                                                java.util.HashMap<org.eclipse.core.resources.IResource,​java.util.List<RefreshExclusion>> source_resourceMap)
        Since:
        5.4
      • shouldResourceBeRefreshed

        public boolean shouldResourceBeRefreshed​(java.lang.String configName,
                                                 org.eclipse.core.resources.IResource resource)
        Since:
        5.4