Package org.eclipse.emf.compare.ide.ui.internal.configuration

# Class EMFCompareConfiguration

java.lang.Object
org.eclipse.compare.CompareConfiguration
org.eclipse.emf.compare.ide.ui.internal.configuration.ForwardingCompareConfiguration
org.eclipse.emf.compare.ide.ui.internal.configuration.EMFCompareConfiguration

All Implemented Interfaces:
  `IEMFCompareConfiguration`

public class EMFCompareConfiguration extends ForwardingCompareConfiguration implements IEMFCompareConfiguration

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.emf.compare.ide.ui.internal.configuration.ForwardingCompareConfiguration

`ForwardingCompareConfiguration.MirroredPropertyChangeListener`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DISPLAY_FILTERS`
`static final String`
`DISPLAY_GROUP_PROVIDERS`
`static final String`
`DISPLAY_SAVE_ACTION`
`static final String`
`DISPLAY_SELECT_UNRESOLVED_DIFF_ACTIONS`
`static final String`
`MIRRORED`
This property name is equivalent to `CompareConfiguration.MIRRORED` however we redefine it for backwards compatibility.

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

`IGNORE_WHITESPACE, SHOW_PSEUDO_CONFLICTS, USE_OUTLINE_VIEW`

## Constructor Summary

Constructors
Constructor
Description
`EMFCompareConfiguration(org.eclipse.compare.CompareConfiguration compareConfiguration)`

## Method Summary

Modifier and Type
Method
Description
`protected org.eclipse.compare.CompareConfiguration`
`delegate()`
`void`
`dispose()`
.
`void`
`disposeComparison()`
`dispose()` is only called when the comparison editor is closed, whereas EMFCompareConfiguration follows its own separate lifecycle.
`void`
`disposeListeners()`
`dispose()` is only called when the comparison editor is closed, whereas EMFCompareConfiguration are created and discarded on each change of the ContentMergeViewer input.
`AdapterFactory`
`getAdapterFactory()`
`org.eclipse.swt.graphics.Image`
`getAncestorImage(Object element)`
`String`
`getAncestorLabel(Object element)`
`boolean`
`getBooleanProperty(String key, boolean dflt)`
`Comparison`
`getComparison()`
`IComparisonScope`
`getComparisonScope()`
`IDiffRelationshipComputer`
`getDiffRelationshipComputer()`
`ICompareEditingDomain`
`getEditingDomain()`
`EMFCompare`
`getEMFComparator()`
`com.google.common.eventbus.EventBus`
`getEventBus()`
`org.eclipse.swt.graphics.Image`
`getLeftImage(Object element)`
`String`
`getLeftLabel(Object element)`
`MergeMode`
`getMergePreviewMode()`
`org.eclipse.swt.graphics.Image`
`getRightImage(Object element)`
`String`
`getRightLabel(Object element)`
`StructureMergeViewerFilter`
`getStructureMergeViewerFilter()`
`StructureMergeViewerGrouper`
`getStructureMergeViewerGrouper()`
`protected void`
`initStructureMergeViewerFilter(Comparison comparison, IComparisonScope comparisonScope)`
`protected void`
`initStructureMergeViewerGroupProvider(Comparison comparison, IComparisonScope comparisonScope)`
`void`
`setAdapterFactory(AdapterFactory adapterFactory)`
`void`
`setComparisonAndScope(Comparison newComparison, IComparisonScope newComparisonScope)`
`void`
`setDiffRelationshipComputer(IDiffRelationshipComputer diffRelationshipComputer)`
`void`
`setEditingDomain(ICompareEditingDomain newValue)`
`void`
`setEMFComparator(EMFCompare newComparator)`
`void`
`setLabelProvider(Class<? extends org.eclipse.compare.structuremergeviewer.ICompareInput> inputType, org.eclipse.compare.ICompareInputLabelProvider labelProvider)`
`void`
`setMergePreviewMode(MergeMode previewMergeMode)`

### Methods inherited from class org.eclipse.emf.compare.ide.ui.internal.configuration.ForwardingCompareConfiguration

`addPropertyChangeListener, fireChange, getContainer, getImage, getImage, getLabelProvider, getPreferenceStore, getProperty, isChangeIgnored, isEditable, isLeftEditable, isMirrored, isRightEditable, removePropertyChangeListener, setAncestorImage, setAncestorLabel, setChangeIgnored, setContainer, setDefaultLabelProvider, setLabelProvider, setLeftEditable, setLeftImage, setLeftLabel, setProperty, setRightEditable, setRightImage, setRightLabel`

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

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

### Methods inherited from interface org.eclipse.emf.compare.rcp.ui.internal.configuration.IEMFCompareConfiguration

`isLeftEditable, isMirrored, isRightEditable`

## Field Details

### DISPLAY_GROUP_PROVIDERS

public static final String DISPLAY_GROUP_PROVIDERS

See Also:
  - Constant Field Values

### DISPLAY_FILTERS

public static final String DISPLAY_FILTERS

See Also:
  - Constant Field Values

### DISPLAY_SAVE_ACTION

public static final String DISPLAY_SAVE_ACTION

See Also:
  - Constant Field Values

### DISPLAY_SELECT_UNRESOLVED_DIFF_ACTIONS

public static final String DISPLAY_SELECT_UNRESOLVED_DIFF_ACTIONS

See Also:
  - Constant Field Values

### MIRRORED

public static final String MIRRORED
This property name is equivalent to `CompareConfiguration.MIRRORED` however we redefine it for backwards compatibility.

See Also:
  - Constant Field Values

## Constructor Details

### EMFCompareConfiguration

public EMFCompareConfiguration(org.eclipse.compare.CompareConfiguration compareConfiguration)

## Method Details

### getEventBus

public com.google.common.eventbus.EventBus getEventBus()

Specified by:
  `getEventBus` in interface `IEMFCompareConfiguration`
See Also:
  - `IEMFCompareConfiguration.getEventBus()`

### delegate

protected org.eclipse.compare.CompareConfiguration delegate()

Specified by:
  `delegate` in class `ForwardingCompareConfiguration`
See Also:
  - `ForwardingCompareConfiguration.delegate()`

### dispose

public void dispose()
.

The lifecycle of the EMFCompareConfiguration (ECC) does not follow the lifecycle of its delegate CompareConfiguration (CC). CC are created once per comparison editor instance. The comparison editor lives from the moment the user starts a comparison to the moment the user closes the editor. In-between, the user will be able to switch from one content merge viewer (CMV) to another by changing his selection in the structure merge viewer (SMW). For example, selecting an EObject in the SMV will show tree representations of these EObject in the CMV, whilst selecting a text attribute in the SMW will switch the CMV representation to textual viewers. When switching CMV, the ECC needs a partial dispose in order to change its installed listeners (this will also happen when mirroring the comparison). Furthermore, the user will be able to switch the whole comparison from one file to another if he has selected multiple files for comparison (for example, by comparing in a compare dialog). When switching from one file to another, the whole EMF Compare comparison needs to change, and thus we need to dispose of the ECC, but the CC cannot be disposed at that time since its own lifecycle hasn't come to an end.

Because of this, there are three separate 'dispose' methods on an ECC. First is the inherited `dispose()` which will dispose of this whole ECC after disposing its delegate CC. Second is `disposeListeners()` which will only undertake a partial clean up of this ECC : listeners of the ECC are disposed, but not the Comparison itself, nor the delegate CC. Finally, `disposeComparison()` will discard both the listeners and Comparison, but not the delegate CC.

Overrides:
  `dispose` in class `ForwardingCompareConfiguration`
See Also:
  - `org.eclipse.emf.compare.rcp.ui.internal.configuration.IEMFCompareConfiguration#dispose()`

### disposeListeners

public void disposeListeners()
`dispose()` is only called when the comparison editor is closed, whereas EMFCompareConfiguration are created and discarded on each change of the ContentMergeViewer input. This will be called to dispose of the specific setup that was made by the EMFCompareConfiguration wrapper to its underlying CompareConfiguration. See documentation of `dispose()`.

See Also:
  - `dispose()`

### disposeComparison

public void disposeComparison()
`dispose()` is only called when the comparison editor is closed, whereas EMFCompareConfiguration follows its own separate lifecycle. See documentation of `dispose()`.

See Also:
  - `dispose()`

### getBooleanProperty

public boolean getBooleanProperty(String key, boolean dflt)

Specified by:
  `getBooleanProperty` in interface `IEMFCompareConfiguration`

### getComparison

public Comparison getComparison()

Specified by:
  `getComparison` in interface `IEMFCompareConfiguration`

### getEMFComparator

public EMFCompare getEMFComparator()

Specified by:
  `getEMFComparator` in interface `IEMFCompareConfiguration`

### getEditingDomain

public ICompareEditingDomain getEditingDomain()

Specified by:
  `getEditingDomain` in interface `IEMFCompareConfiguration`

### getMergePreviewMode

public MergeMode getMergePreviewMode()

Specified by:
  `getMergePreviewMode` in interface `IEMFCompareConfiguration`

### getAdapterFactory

public AdapterFactory getAdapterFactory()

Specified by:
  `getAdapterFactory` in interface `IEMFCompareConfiguration`

### getDiffRelationshipComputer

public IDiffRelationshipComputer getDiffRelationshipComputer()

Specified by:
  `getDiffRelationshipComputer` in interface `IEMFCompareConfiguration`

### getComparisonScope

public IComparisonScope getComparisonScope()

Specified by:
  `getComparisonScope` in interface `IEMFCompareConfiguration`
See Also:
  - `IEMFCompareConfiguration.getComparisonScope()`

### setEMFComparator

public void setEMFComparator(EMFCompare newComparator)

Specified by:
  `setEMFComparator` in interface `IEMFCompareConfiguration`

### setEditingDomain

public void setEditingDomain(ICompareEditingDomain newValue)

Specified by:
  `setEditingDomain` in interface `IEMFCompareConfiguration`

### setComparisonAndScope

public void setComparisonAndScope(Comparison newComparison, IComparisonScope newComparisonScope)

Specified by:
  `setComparisonAndScope` in interface `IEMFCompareConfiguration`
See Also:
  - `org.eclipse.emf.compare.rcp.ui.internal.configuration.IEMFCompareConfiguration#setComparisonAndScope(org.eclipse.emf.compare.scope.IComparisonScope, org.eclipse.emf.compare.Comparison)`

### initStructureMergeViewerGroupProvider

protected void initStructureMergeViewerGroupProvider(Comparison comparison, IComparisonScope comparisonScope)

### initStructureMergeViewerFilter

protected void initStructureMergeViewerFilter(Comparison comparison, IComparisonScope comparisonScope)

### setMergePreviewMode

public void setMergePreviewMode(MergeMode previewMergeMode)

Specified by:
  `setMergePreviewMode` in interface `IEMFCompareConfiguration`

### setAdapterFactory

public void setAdapterFactory(AdapterFactory adapterFactory)

Specified by:
  `setAdapterFactory` in interface `IEMFCompareConfiguration`

### setDiffRelationshipComputer

public void setDiffRelationshipComputer(IDiffRelationshipComputer diffRelationshipComputer)

Specified by:
  `setDiffRelationshipComputer` in interface `IEMFCompareConfiguration`

### getStructureMergeViewerGrouper

public StructureMergeViewerGrouper getStructureMergeViewerGrouper()

Specified by:
  `getStructureMergeViewerGrouper` in interface `IEMFCompareConfiguration`
See Also:
  - `IEMFCompareConfiguration.getStructureMergeViewerGrouper()`

### getStructureMergeViewerFilter

public StructureMergeViewerFilter getStructureMergeViewerFilter()

Specified by:
  `getStructureMergeViewerFilter` in interface `IEMFCompareConfiguration`
See Also:
  - `IEMFCompareConfiguration.getStructureMergeViewerFilter()`

### setLabelProvider

public void setLabelProvider(Class<? extends org.eclipse.compare.structuremergeviewer.ICompareInput> inputType, org.eclipse.compare.ICompareInputLabelProvider labelProvider)

### getLeftLabel

public String getLeftLabel(Object element)

Overrides:
  `getLeftLabel` in class `ForwardingCompareConfiguration`

### getLeftImage

public org.eclipse.swt.graphics.Image getLeftImage(Object element)

Overrides:
  `getLeftImage` in class `ForwardingCompareConfiguration`

### getRightLabel

public String getRightLabel(Object element)

Overrides:
  `getRightLabel` in class `ForwardingCompareConfiguration`

### getRightImage

public org.eclipse.swt.graphics.Image getRightImage(Object element)

Overrides:
  `getRightImage` in class `ForwardingCompareConfiguration`

### getAncestorLabel

public String getAncestorLabel(Object element)

Overrides:
  `getAncestorLabel` in class `ForwardingCompareConfiguration`

### getAncestorImage

public org.eclipse.swt.graphics.Image getAncestorImage(Object element)

Overrides:
  `getAncestorImage` in class `ForwardingCompareConfiguration`