Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Eclipse Plug-in Developer Guide
Previous Page Home Next Page

Eclipse Platform
Release 3.5


Contains the team synchronization presentation framework and support for the Synchronize View.


Interface Summary
ISynchronizeManager Manages synchronization view participants.
ISynchronizeModelChangeListener Listener that gets informed when the model created by the model provider is created or updated.
ISynchronizeModelElement These are elements created to display synchronization state to the user.
ISynchronizePage Interface for Page subclasses that can appear in the synchronize view ISynchronizeView and other views, editors or dialogs that display synchronization information.
ISynchronizePageConfiguration Configures the model, actions and label decorations of an ISynchronizePage.
ISynchronizePageSite A site which provides access to the context in which this page is being displayed.
ISynchronizeParticipant A synchronize participant is a visual component that can be displayed within any control (e.g. view, editor, dialog).
ISynchronizeParticipantDescriptor A participant descriptor contains the content of the synchronizeParticipants extension section for for a registered participant type in the declaring plug-in's manifest (plugin.xml) file.
ISynchronizeParticipantListener A synchronize participant listener is notified when participants are added or removed from the synchronize manager.
ISynchronizeParticipantReference A reference is a light weight handle used by the ISynchronizeManager to manage registered participants.
ISynchronizeScope A synchronize scope defines the set of resources involved in a synchronization.
ISynchronizeView A view that displays synchronization participants that are registered with the synchronize manager.

Class Summary
AbstractSynchronizeLabelProvider A label provider wrapper that adds synchronization image and/or text decorations to the image and label obtained from the delegate provider.
AbstractSynchronizeParticipant This class is the abstract base class for all synchronize view participants.
AbstractSynchronizeScope Abstract superclass of resource scopes for SubscriberParticipant instances.
ModelMergeOperation A model operation that executes a merge according to the merge lifecycle associated with an IMergeContext and IResourceMappingMerger instances obtained from the model providers involved.
ModelOperation An abstract operation that uses an ISynchronizationScopeManager to create an operation scope that includes the complete set of mappings that must be included in the operation to ensure model consistency.
ModelParticipantAction Model provider actions for use with a ModelSynchronizeParticipant.
ModelParticipantMergeOperation A model merge operation that uses a participant to preview the changes in either a dialog or the Synchronize view.
ModelParticipantWizard This is a convenience class for creating wizards for use with the extension point that create a ModelSynchronizeParticipant.
ModelSynchronizeParticipant Synchronize participant that obtains it's synchronization state from a ISynchronizationContext.
ModelSynchronizeParticipantActionGroup Action group that contributes the merge actions to the model synchronize participant.
ParticipantPageCompareEditorInput Displays a synchronize participant page combined with the compare/merge infrastructure.
ParticipantPageDialog Deprecated. Clients should use ParticipantPageCompareEditorInput and CompareUI.openCompareDialog(
ParticipantPagePane Stand alone presentation of a participant page within a view pane.
ParticipantPageSaveablePart Deprecated. Clients should use a subclass of PageCompareEditorInput and CompareUI.openCompareDialog(
ParticipantSynchronizeWizard This is a convenience class for creating wizards for use with the extension point.
ResourceScope A synchronize scope whose roots are a set of resources.
SaveableCompareEditorInput A compare editor input that makes use of a Saveable to manage the save lifecycle of the editor input.
SubscriberParticipant A synchronize participant that displays synchronization information for local resources that are managed via a Subscriber.
SubscriberParticipantWizard This is a convenience class for creating wizards for use with the extension point that create a SubscriberParticipant.
SubscriberTeamStateProvider A team state provider that makes use of a Subscriber to determine the synchronization state.
SynchronizeModelAction This action provides utilities for performing operations on selections that contain ISynchronizeModelElement instances.
SynchronizeModelOperation A specialized team operation that operates on ISynchronizeModelElementelements.
SynchronizePageActionGroup Used to add one or more actions to the context menu, toolbar or view menu of an ISynchronizePage.
SyncInfoCompareInput A SyncInfo editor input used as input to a two-way or three-way compare viewer.
TeamStateChangeEvent An implementation of ITeamStateChangeEvent.
TeamStateDescription An implementation of ITeamStateDescription.
TeamStateProvider A team state provider is used by the SynchronizationStateTester to obtain the team state for model elements.
WorkingSetScope A synchronize scope whose roots are defined by a working set.
WorkspaceScope A synchronize scope whose roots are the workspace.

Package Description

Contains the team synchronization presentation framework and support for the Synchronize View.

Package Specification

Contains the team synchronization presentation framework and support for the Synchronize View. A synchronization framework is a unified architecture for presenting and manipulating resource synchronization state. Consider the synchronization model described by the classes in as the physical representation of synchronization state then the classes in this package allow you to control how the model is presented to the user. This framework doesn't attempt to provide common operations for manipulating synchronization state. Instead it is left up to the framework user to add their own domain specific operations to the presentation.

The primary advantages of this synchronization presentation framework are that it:

  • Provides a unified synchronization experience in the workbench. It makes it easier to present one synchronization story to the user across multiple tools that synchronize resources. This includes access to the Synchronize View, the Team Synchronizing Perspective, the global Synchronize Action, Synchronize dialogs, and compare editors.
  • Reduces the effort required to learn other APIs by eliminating the need to learn many workbench APIs to enable this rich support.
  • Fosters software re-use by allowing multiple repository providers and other tools to enable rich integration without the initial cost of learning how to integrate into Eclipse.

The synchronization presentation framework consists of:

  • Synchronize View Interfaces - Represents a set of classes and interfaces to support a generic synchronize view that can show multiple synchronize participants.
  • SubscriberParticipants - Concrete implementation of the synchronize view interfaces for synchronizations that are SyncInfo based. Subclasses get the well-known synchronize page that supports 4 modes (e.g. incomming/outgoing/conficting/both) and the standard resource layouts (compressed folder and hierarchical). This is the easy entry point into the Synchronize View since all a client would have to provide is a Subscriber class that generates SyncInfo instances for resources and a set of operations that run on the sync nodes.
  • Compare Inputs - These are helpers for allowing users to display and edit the resources being synchronized.
  • Synchronize action and operation utilities - Represent helpers for writing actions that are performed on elements shown in synchronization viewers.

Synchronize View Interfaces

These interfaces and classes support a generic Synchronize View that can show multiple synchronize participants. The basic model for integrating into the Synchronize View consists of:

  • A ISynchronizeManager manages registered synchronize participants. Every participant has a type and and instance identifier.
  • A ISynchronizeParticipant is a logical representation of a connection between workspace resources and a remote location used to shared those resources. A participant creates a page in that shows the synchronization for the participant.
  • A ISynchronizeView is a page book view of participants. The synchronize view has support for showing multiple synchronizations. As described above, you will see merges, 2 way-compares, and basic synchronizations. Synchronizations are categorized into types, for example the CVS plugin defines three types: CVS, CVS Merge, and CVS Compare. You can switch between synchronizations using the drop-down menu in the sync view. When you create a new synchronization it will replace the first existing synchronization of the same type unless it is pinned. Pinning allows you to manage the synchronizations that are of interest to you and ensure that they remain easily accessible. This should provide for easy management of multiple synchronizations.
  • A ISynchronizeParticipant must create a page that will be displayed in the ISynchronizeView page book view.
  • The ISynchronizeView shows a drop-down of all registered participants and allows switching between them.
  • A ISynchronizeParticipant creates a configuration which is used to configure the presentation of the participant by clients. For example, clients using a ISynchronizeParticipant instances can decide to show the participant page with a set of customized menus or toolbar actions.

Synchronize participants are declared by extending the synchronizeParticipants extension point. A synchronize manager manages all active synchronize participants, and provides notification of participants which are added and removed. Participants are displayed in a page book view. Each participant implementation is reponsible for creating its page, which provides freedom of presentation to the synchronize view implementation. A single participant may be displayed simultaneously in multiple synchronize views, and in different workbench windows.


 SubscriberParticipant is an abstract class that is intented to support a common synchronization workflow. It is the easy way to get into the Synchronize View and essentially inherit the default synchronize experience. The requirement for using a SubscriberParticipant is to create a subscriber that can produce SyncInfo (e.g. objects that describe the synchronization between local and remote resources).

Compare Inputs

These are helpers for allowing users to display and edit resources being synchronized by integrating with the compare support available in Eclipse.

Synchronize action and operation utilities

These are helpers for writing actions that are performed on elements shown in synchronize viewers.

Related Documentation

  • For examples of these APIs in action please see the plug-in example and also refer to the Platform Plug-in Developer Guide > Programmer's Guide > Team Support documentation.

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.

  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire