blob: 25d39ad6b187c7463854b66f334d8aa32ec3e7d2 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta content="text/html; charset=iso-8859-1"
http-equiv="Content-Type">
<meta content="IBM" name="Author">
<title>Package-level Javadoc</title>
</head>
<body>
Application programming interfaces for managing synchronization state.
<h2>Package Specification</h2>
<p>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: </p>
<ul>
<li>describing the synchronization state of a one or more resources,</li>
<li>notifying interested parties of changes in the synchronization state.</li>
<li>filtering a set of resource based on a sync state criteria</li>
</ul>
<h3>Describing the synchronization state of resources</h3>
<p>The following classes are provided to accumulate (and possibly filter) the
synchronization state of one or more resources.</p>
<ul>
<li>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).</li>
<li>SyncInfoSet: a set which contains the out-of-sync SyncInfo for multiple
local resources.</li>
<li>SyncInfoTree: a specialized set optimized for hierarchical resource based
access (e.g. to obtain all out-of-sync children of a particular local resource).</li>
</ul>
<h3>Notifying interested parties of sync info set changes</h3>
<p>Interested parties can register with a SyncInfoSet in order to
receive notification when a set changes.</p>
<ul>
<li>ISyncInfoSetChangeListener: implementors of this interface can be
registered with a SyncInfoSet in order to recieve notification when the
contents of the set change.</li>
<li>ISyncInfoSetChangeEvent: the type of the events generated by a
SyncInfoSet</li>
<li>ISyncInfoTreeChangeEvent: specialized ISyncInfoSetChangeEvent
generated by SyncInfoTree which includes notification of resource
subtree aditions and removals.</li>
</ul>
<h3>Sync info filtering</h3>
<p>There are also some additional classes provided to help manage
SyncInfoSets</p>
<ul>
<li>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.</li>
<li>FastSyncInfoFilter: a specialized filter that does not support
the ue of a progress monitor</li>
</ul>
<p>Several common filters are provided as inner classes of the two
filter classes for doing synchronization state tests and filter
compounding (and, or, not).</p>
<p>&nbsp;</p>
</body>
</html>