Class RefreshExclusion

java.lang.Object
org.eclipse.cdt.core.resources.RefreshExclusion
All Implemented Interfaces:
Cloneable

public abstract class RefreshExclusion extends Object implements Cloneable
A RefreshExclusion represents a rule for excluding certain resources from being refreshed. Clients should extend this class to provide support for their own custom exclusions. 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 Details

  • Constructor Details

    • RefreshExclusion

      public RefreshExclusion()
  • Method Details

    • loadData

      public static List<RefreshExclusion> loadData(ICStorageElement parentElement, RefreshExclusion parentExclusion, org.eclipse.core.resources.IResource parentResource, RefreshScopeManager manager) throws org.eclipse.core.runtime.CoreException
      Throws:
      org.eclipse.core.runtime.CoreException
    • addExclusionInstance

      public void addExclusionInstance(ExclusionInstance exclusionInstance)
      Adds an instance to the list of instances of this exclusion.
      Parameters:
      exclusionInstance -
    • addNestedExclusion

      public void addNestedExclusion(RefreshExclusion exclusion)
    • getContributorId

      public String getContributorId()
      Returns:
      a String corresponding to the ID of the RefreshExclusionContributor that was used to create this exclusion.
    • getExclusionInstances

      public List<ExclusionInstance> getExclusionInstances()
      Returns:
      an unmodifiable list of all the instance of this exclusion
    • getExclusionType

      public ExclusionType getExclusionType()
    • getName

      public abstract String getName()
      Returns:
      a String corresponding to the human-readable name for this exclusion.
    • getNestedExclusions

      public List<RefreshExclusion> getNestedExclusions()
      Returns:
      an unmodifiable list of exclusions to this exclusion.
    • getParentExclusion

      public RefreshExclusion getParentExclusion()
      If this is a nested exclusion, returns the exclusion which is the direct parent of this one.
      Returns:
      RefreshExclusion
    • getParentResource

      public org.eclipse.core.resources.IResource getParentResource()
      If this exclusion is a direct descendant of a resource, returns that resource. Otherwise, returns null;
      Returns:
      IResource
    • loadExtendedData

      protected void loadExtendedData(ICStorageElement grandchild)
    • persistData

      public void persistData(ICStorageElement parentElement)
    • persistExtendedData

      protected void persistExtendedData(ICStorageElement extensionElement)
    • removeExclusionInstance

      public void removeExclusionInstance(ExclusionInstance exclusionInstance)
      Removes an exclusion instance from the list of instances of this exclusion.
      Parameters:
      exclusionInstance -
    • removeNestedExclusion

      public void removeNestedExclusion(RefreshExclusion exclusion)
      Removes the given nested exclusion. The exclusion must be a direct child of this exclusion.
      Parameters:
      exclusion -
    • setContributorId

      public void setContributorId(String id)
    • setExclusionType

      public void setExclusionType(ExclusionType exclusionType)
    • setParentExclusion

      public void setParentExclusion(RefreshExclusion parent)
    • setParentResource

      public void setParentResource(org.eclipse.core.resources.IResource parentResource)
      Sets the parent resource of this exclusion.
      Parameters:
      parentResource - the parent resource to set
    • supportsExclusionInstances

      public abstract boolean supportsExclusionInstances()
      Returns:
      true if this exclusion supports exclusion instances
    • testExclusion

      public abstract boolean testExclusion(org.eclipse.core.resources.IResource resource)
      Tests a given resource to see if this exclusion applies to it.
      Parameters:
      resource - the resource to be tested.
      Returns:
      true if the resource triggers the exclusion, false otherwise (including if this exclusion does not apply).
    • testExclusionChain

      public boolean testExclusionChain(org.eclipse.core.resources.IResource resource)
      Tests this exclusion and recursively test all of its nested exclusions to determine whether this exclusion should be triggered or not.
      Parameters:
      resource - the resource to be tested
      Returns:
      true if the exclusion is triggered, false otherwise (including if this exclusion does not apply)
    • copyTo

      protected void copyTo(RefreshExclusion destination)
      Duplicate this refresh exclusion to the given one.
      Parameters:
      destination - - the refresh exclusion to be modified
      Since:
      5.4
    • clone

      public abstract Object clone()
      Overrides:
      clone in class Object