org.eclipse.team.core.mapping

## Interface ISynchronizationScopeParticipant

    public interface ISynchronizationScopeParticipant

A scope participant is responsible for ensuring that the resources contained within an `ISynchronizationScope` that overlap with the participant's model provider stay up-to-date with the model elements (represented as `ResourceMapping` instances) contained in the scope.

Clients may implement this interface.

Since:
  3.2
See Also:
  `ResourceMapping`, `ISynchronizationScopeManager`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `dispose()` Callback from the scope manager when the scope is no longer needed.
`ResourceMapping[]` `handleContextChange(ISynchronizationScope scope, IResource[] resources, IProject[] projects)` Callback that the manager makes to participants when the state of resources that are contained in the resource mapping context of the manager change.

### Method Detail

#### handleContextChange

    ResourceMapping[] handleContextChange(ISynchronizationScope scope,
                                          IResource[] resources,
                                          IProject[] projects)

Callback that the manager makes to participants when the state of resources that are contained in the resource mapping context of the manager change. This method will only be invoked when the context of the manager is a `RemoteResourceMappingContext` and the state of one or more resources changes w.r.t. the context. It is the responsibility of the participant to react to local changes that affect the resources in the scope by calling `ISynchronizationScope.refresh(ResourceMapping[])`.

Parameters:
  `scope` - the scope
  `resources` - the changed resources
  `projects` - projects that were either added or removed
Returns:
  the resource mappings that need to be refreshed.

#### dispose

    void dispose()

Callback from the scope manager when the scope is no longer needed. This si done to give participants a chance to remove a registered `IResourceChangeListener` or any other listeners.