Interface ISynchronizationScopeManager

All Known Implementing Classes:
SubscriberScopeManager, SynchronizationScopeManager

public interface ISynchronizationScopeManager
A scope manager is responsible for ensuring that the resources contained within an ISynchronizationScope stay up-to-date with the model elements (represented as ResourceMapping instances) contained in the scope. The task of keeping a scope up-to-date is accomplished by obtaining ISynchronizationScopeParticipant instances for each model that has elements contained in the scope.
Since:
3.2
See Also:
Restriction:
This interface is not intended to be implemented by clients. Clients can instead subclass SynchronizationScopeManager
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Method to be invoked when the scope of this manager is no longer needed.
    Return the scope that is managed by this manager.
    void
    Build the scope that is used to determine the complete set of resource mappings, and hence resources, that an operation should be performed on.
    boolean
    Return whether the scope has been initialized.
    Refresh the scope of this manager for the given mappings.
  • Method Details

    • getScope

      Return the scope that is managed by this manager.
      Returns:
      the scope that is managed by this manager
    • isInitialized

      boolean isInitialized()
      Return whether the scope has been initialized.
      Returns:
      whether the scope has been initialized.
    • initialize

      void initialize(IProgressMonitor monitor) throws CoreException
      Build the scope that is used to determine the complete set of resource mappings, and hence resources, that an operation should be performed on.

      This method obtains a lock on the workspace root to avoid workspace changes while calculating the scope.

      Parameters:
      monitor - a progress monitor when building the scope
      Throws:
      CoreException - if an error occurs
    • refresh

      ResourceTraversal[] refresh(ResourceMapping[] mappings, IProgressMonitor monitor) throws CoreException
      Refresh the scope of this manager for the given mappings. Changes in the scope will be reported as a property change event fired from the scope. Clients should call this method when a change in the workspace or a change issued from this manager have resulted in a change in the resources that should be included in the scope.
      Parameters:
      mappings - the mappings to be refreshed
      monitor - a progress monitor
      Returns:
      a set of traversals that cover the given mappings
      Throws:
      CoreException - if an error occurs
    • dispose

      void dispose()
      Method to be invoked when the scope of this manager is no longer needed. It is typically the responsibility of the client that creates a scope manager to dispose it.