# Uses of Package
org.eclipse.team.core.variants

Packages that use org.eclipse.team.core.variants
org.eclipse.team.core.subscribers: Application programming interfaces for generating and refreshing synchronization state.
org.eclipse.team.core.synchronize: Application programming interfaces for managing synchronization state.
org.eclipse.team.core.variants: Application programming interfaces for accessing and managing resource variants.

Classes in org.eclipse.team.core.variants used by org.eclipse.team.core.subscribers
IResourceVariantComparator: An `IResourceVariantComparator` is provided by a `Subscriber` and used by a `SyncInfo` to calculate the sync state of the workspace resources.

Classes in org.eclipse.team.core.variants used by org.eclipse.team.core.synchronize
IResourceVariant: This interface is used by `SyncInfo` instances to provide access to the base and remote resources that correspond to a local resource.
IResourceVariantComparator: An `IResourceVariantComparator` is provided by a `Subscriber` and used by a `SyncInfo` to calculate the sync state of the workspace resources.

Classes in org.eclipse.team.core.variants used by org.eclipse.team.core.variants
AbstractResourceVariantTree: An implementation of `IResourceVariantTree` that provides the logic for refreshing the tree and collecting the results so they can be cached locally.
CachedResourceVariant: A resource variant is a partial implementation of a remote resource whose contents and handle are cached locally.
IResourceVariant: This interface is used by `SyncInfo` instances to provide access to the base and remote resources that correspond to a local resource.
IResourceVariantComparator: An `IResourceVariantComparator` is provided by a `Subscriber` and used by a `SyncInfo` to calculate the sync state of the workspace resources.
IResourceVariantTree: A handle that provides access to locally cached resource variants that represent a resource line-up such as a project version or branch.
ISynchronizerChangeListener: Listener that can receive notification from a `ThreeWaySynchronizer` when the synchronization state of one or more resources has changed.
ResourceVariantByteStore: The purpose of a `ResourceVariantByteStore` is to support the caching of the synchronization bytes for the resource variants that represent a resource line-up of interest such as a version, baseline or branch.
ResourceVariantTree: Provides caching for a `AbstractResourceVariantTree` using a `ResourceVariantByteStore`.
ResourceVariantTreeSubscriber: A specialization of Subscriber that uses `IResourceVariantTree` objects to manage the base (for three-way) and remote trees.
ThreeWayRemoteTree: A resource variant tree that caches and obtains its bytes from the remote slot in a three-way synchronizer.
ThreeWaySubscriber: A resource variant tree subscriber whose trees use an underlying `ThreeWaySynchronizer` to store and manage the synchronization state for the local workspace.
ThreeWaySynchronizer: This class manages the synchronization between local resources and their corresponding resource variants.