Package org.eclipse.team.ui.synchronize

## Class SyncInfoCompareInput

- java.lang.Object
- - org.eclipse.core.runtime.PlatformObject
  - - org.eclipse.compare.CompareEditorInput
    - - org.eclipse.team.ui.synchronize.SaveableCompareEditorInput
      - - org.eclipse.team.ui.synchronize.SyncInfoCompareInput

All Implemented Interfaces:
  `EventListener`, `ICompareContainer`, `IPropertyChangeNotifier`, `IResourceChangeListener`, `IAdaptable`, `IRunnableContext`, `IRunnableWithProgress`, `IEditorInput`, `ISaveablesSource`

    public final class SyncInfoCompareInput
    extends SaveableCompareEditorInput
    implements IResourceChangeListener

A `SyncInfo` editor input used as input to a two-way or three-way compare viewer. It defines methods for accessing the three sides for the compare, and a name and image which is used when displaying the three way input in an editor. This input can alternately be used to show compare results in a dialog by calling `CompareUI.openCompareDialog(org.eclipse.compare.CompareEditorInput)`.

The editor will not update when the elements in the sync info are changed.

Supports saving the local resource that is changed in the editor and will be updated when the local resources is changed.

Since:
  3.0
See Also:
  `SyncInfo`

### Field Summary

### Fields inherited from class org.eclipse.compare.CompareEditorInput

`DIRTY_STATE, PROP_SELECTED_EDITION, PROP_TITLE, PROP_TITLE_IMAGE`

### Constructor Summary

Constructors
`SyncInfoCompareInput​(String description, SyncInfo sync)` Creates a compare editor input based on an existing `SyncInfo`.
`SyncInfoCompareInput​(ISynchronizePageConfiguration configuration, SyncInfo info)`
`SyncInfoCompareInput​(ISynchronizeParticipant participant, SyncInfo sync)` Creates a compare editor input based on an existing `SyncInfo` from the given participant.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `canRunAsJob()` Returns whether this compare editor input can be run as a job.
`boolean` `equals​(Object other)`
`protected void` `fireInputChange()` Callback from the resource saveable that is invoked when the resource is saved so that this input can fire a change event for its input.
`<T> T` `getAdapter​(Class<T> adapter)` Returns an object which is an instance of the given class associated with this object.
`ICompareNavigator` `getNavigator()` Return the `ICompareNavigator` associated with this container or `null` if the container does not have a global navigator.
`SyncInfo` `getSyncInfo()`
`String` `getToolTipText()` Returns the tool tip text for this editor input.
`protected void` `handleDispose()` Callback that occurs when the UI associated with this compare editor input is disposed.
`int` `hashCode()`
`protected ICompareInput` `prepareCompareInput​(IProgressMonitor monitor)` Method called from `SaveableCompareEditorInput.prepareInput(IProgressMonitor)` to obtain the input.
`void` `resourceChanged​(IResourceChangeEvent event)` Note that until the compare editor inputs can be part of the compare editors lifecycle we can't register as a listener because there is no dispose() method to remove the listener.

### Methods inherited from class org.eclipse.team.ui.synchronize.SaveableCompareEditorInput

`addCompareInputChangeListener, closeEditor, contentsCreated, createFileElement, createSaveable, findContentViewer, getActiveSaveables, getCompareInput, getImageDescriptor, getSaveable, getSaveables, getTitleImage, isDirty, prepareInput, registerContextMenu, removeCompareInputChangeListener`

### Methods inherited from class org.eclipse.compare.CompareEditorInput

`addPropertyChangeListener, belongsTo, cancelPressed, contributeToToolBar, createContents, createContentViewerSwitchingPane, createDiffViewer, createOutlineContents, createStructureInputPane, exists, findStructureViewer, firePropertyChange, flushLeftViewers, flushRightViewers, flushViewers, getActionBars, getCancelButtonLabel, getCompareConfiguration, getCompareResult, getContainer, getContentViewerDescriptor, getMessage, getName, getOKButtonLabel, getPersistable, getSelectedEdition, getServiceLocator, getStructureViewerDescriptor, getTitle, getWorkbenchPart, isEditionSelectionDialog, isLeftSaveNeeded, isRightSaveNeeded, isSaveNeeded, okPressed, removePropertyChangeListener, run, run, runAsynchronously, save, saveChanges, setContainer, setContentViewerDescriptor, setDirty, setFocus, setFocus2, setHelpContextId, setLeftDirty, setMessage, setRightDirty, setStatusMessage, setStructureViewerDescriptor, setTitle`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SyncInfoCompareInput

    public SyncInfoCompareInput​(String description,
                                SyncInfo sync)

Creates a compare editor input based on an existing `SyncInfo`.

Parameters:
  `description` - a description of the context of this sync info. This is displayed to the user.
  `sync` - the `SyncInfo` used as the base for the compare input.

#### SyncInfoCompareInput

    public SyncInfoCompareInput​(ISynchronizeParticipant participant,
                                SyncInfo sync)

Creates a compare editor input based on an existing `SyncInfo` from the given participant.

Parameters:
  `participant` - the participant from which the sync info was obtained. The name of the participant is used as the description which is displayed to the user.
  `sync` - the `SyncInfo` used as the base for the compare input.
Since:
  3.1

#### SyncInfoCompareInput

    public SyncInfoCompareInput​(ISynchronizePageConfiguration configuration,
                                SyncInfo info)

### Method Detail

#### handleDispose

    protected void handleDispose()

Description copied from class: `CompareEditorInput`
Callback that occurs when the UI associated with this compare editor input is disposed. This method will only be invoked if the UI has been created (i.e. after the call to `CompareEditorInput.createContents(Composite)`. Subclasses can extend this method but ensure that the overridden method is invoked.

Overrides:
  `handleDispose` in class `SaveableCompareEditorInput`

#### getAdapter

    public <T> T getAdapter​(Class<T> adapter)

Description copied from class: `PlatformObject`
Returns an object which is an instance of the given class associated with this object. Returns `null` if no such object can be found.

This implementation of the method declared by `IAdaptable` passes the request along to the platform's adapter manager; roughly `Platform.getAdapterManager().getAdapter(this, adapter)`. Subclasses may override this method (however, if they do so, they should invoke the method on their superclass to ensure that the Platform's adapter manager is consulted).

Specified by:
  `getAdapter` in interface `IAdaptable`
Overrides:
  `getAdapter` in class `SaveableCompareEditorInput`
Type Parameters:
  `T` - the class type
Parameters:
  `adapter` - the class to adapt to
Returns:
  the adapted object or `null`
See Also:
  `IAdaptable.getAdapter(Class)`

#### resourceChanged

    public void resourceChanged​(IResourceChangeEvent event)

Note that until the compare editor inputs can be part of the compare editors lifecycle we can't register as a listener because there is no dispose() method to remove the listener.

Specified by:
  `resourceChanged` in interface `IResourceChangeListener`
Parameters:
  `event` - the resource change event
See Also:
  `IResourceDelta`

#### prepareCompareInput

    protected ICompareInput prepareCompareInput​(IProgressMonitor monitor)
                                         throws InvocationTargetException,
                                                InterruptedException

Description copied from class: `SaveableCompareEditorInput`
Method called from `SaveableCompareEditorInput.prepareInput(IProgressMonitor)` to obtain the input. Its purpose is to ensure that the input is an instance of `ICompareInput`.

Specified by:
  `prepareCompareInput` in class `SaveableCompareEditorInput`
Parameters:
  `monitor` - a progress monitor
Returns:
  the compare input
Throws:
  `InvocationTargetException` - if an error occurs
  `InterruptedException` - if operation is interrupted

#### getToolTipText

    public String getToolTipText()

Description copied from interface: `IEditorInput`
Returns the tool tip text for this editor input. This text is used to differentiate between two input with the same name. For instance, MyClass.java in folder X and MyClass.java in folder Y. The format of the text varies between input types.

Specified by:
  `getToolTipText` in interface `IEditorInput`
Overrides:
  `getToolTipText` in class `CompareEditorInput`
Returns:
  the tool tip text; never `null`.

#### equals

    public boolean equals​(Object other)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### getSyncInfo

    public SyncInfo getSyncInfo()

#### canRunAsJob

    public boolean canRunAsJob()

Description copied from class: `CompareEditorInput`
Returns whether this compare editor input can be run as a job. By default, `false` is returned since traditionally inputs were prepared in the foreground (i.e the UI was blocked when the `CompareEditorInput.run(IProgressMonitor)` method (and indirectly the `CompareEditorInput.prepareInput(IProgressMonitor)` method) was invoked. Subclasses may override.

Overrides:
  `canRunAsJob` in class `SaveableCompareEditorInput`
Returns:
  whether this compare editor input can be run in the background

#### getNavigator

    public ICompareNavigator getNavigator()

Description copied from interface: `ICompareContainer`
Return the `ICompareNavigator` associated with this container or `null` if the container does not have a global navigator.

Specified by:
  `getNavigator` in interface `ICompareContainer`
Overrides:
  `getNavigator` in class `CompareEditorInput`
Returns:
  the `ICompareNavigator` associated with this container or `null`

#### fireInputChange

    protected void fireInputChange()

Description copied from class: `SaveableCompareEditorInput`
Callback from the resource saveable that is invoked when the resource is saved so that this input can fire a change event for its input. Subclasses only need this method if the left side of their compare input is an element returned from `SaveableCompareEditorInput.createFileElement(IFile)`.

Specified by:
  `fireInputChange` in class `SaveableCompareEditorInput`