Application programming interfaces for managing synchronization state.
Package Specification
This package specifies the API for managing the synchronization state between
the local workspace resources and a corresponding variants of those resources.
The classes in this package can be used by Subscribers (see the org.eclipse.team.core.subscribers
package) or others. The classes are roughly divided into three categories:
- describing the synchronization state of a one or more resources,
- notifying interested parties of changes in the synchronization state.
- filtering a set of resource based on a sync state criteria
Describing the synchronization state of resources
The following classes are provided to accumulate (and possibly filter) the
synchronization state of one or more resources.
- SyncInfo: node which maps a local resource to a corresponding variant resource
(and a base resource for three-way compare) and descibes the synchronization
state of those resources (e.g. in-sync or incoming-change).
- SyncInfoSet: a set which contains the out-of-sync SyncInfo for multiple
local resources.
- SyncInfoTree: a specialized set optimized for hierarchical resource based
access (e.g. to obtain all out-of-sync children of a particular local resource).
Notifying interested parties of sync info set changes
Interested parties can register with a SyncInfoSet in order to
receive notification when a set changes.
- ISyncInfoSetChangeListener: implementors of this interface can be
registered with a SyncInfoSet in order to recieve notification when the
contents of the set change.
- ISyncInfoSetChangeEvent: the type of the events generated by a
SyncInfoSet
- ISyncInfoTreeChangeEvent: specialized ISyncInfoSetChangeEvent
generated by SyncInfoTree which includes notification of resource
subtree aditions and removals.
Sync info filtering
There are also some additional classes provided to help manage
SyncInfoSets
- SyncInfoFilter: a filter that can be used to test SyncInfo. Long
running tests are supported via an IProgressMonitor. SyncInfoSet has
API for selecting and rejecting SyncInfo based on a provided filter.
- FastSyncInfoFilter: a specialized filter that does not support
the ue of a progress monitor
Several common filters are provided as inner classes of the two
filter classes for doing synchronization state tests and filter
compounding (and, or, not).