Package org.eclipse.emf.spi.cdo

## Class CDOMergingConflictResolver

- java.lang.Object
- - org.eclipse.emf.spi.cdo.AbstractConflictResolver
  - - org.eclipse.emf.spi.cdo.AbstractChangeSetsConflictResolver
    - - org.eclipse.emf.spi.cdo.CDOMergingConflictResolver

- All Implemented Interfaces:
    `CDOConflictResolver`, `CDOConflictResolver.NonConflictAware`

      public class CDOMergingConflictResolver
      extends AbstractChangeSetsConflictResolver

  If the meaning of this type isn't clear, there really should be more of a description here...
  Since:
    4.0
  Author:
    Eike Stepper

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.transaction.CDOConflictResolver

      `CDOConflictResolver.NonConflictAware`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CDOMergingConflictResolver()` |
    `CDOMergingConflictResolver​(boolean ensureRemoteNotifications)` |
    `CDOMergingConflictResolver​(CDOMerger merger)` |
    `CDOMergingConflictResolver​(CDOMerger merger, boolean ensureRemoteNotifications)` |
    `CDOMergingConflictResolver​(DefaultCDOMerger.ResolutionPreference resolutionPreference)` |
    `CDOMergingConflictResolver​(DefaultCDOMerger.ResolutionPreference resolutionPreference, boolean ensureRemoteNotifications)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | `getLastNonConflictTimeStamp()` |
    `CDOMerger` | `getMerger()` |
    `protected CDOChangeSetData` | `handleConflict​(CDOChangeSetData result)` |
    `protected void` | `hookTransaction​(CDOTransaction transaction)` |
    `boolean` | `isConflict()` |
    `void` | `resolveConflicts​(java.util.Set<CDOObject> conflicts)` | Resolves conflicts after remote invalidations arrived for objects that are locally dirty or detached.
    `protected void` | `resolveConflicts​(java.util.Set<CDOObject> conflicts, CDOChangeSet remoteChangeSet)` |
    `protected void` | `transactionCommitted​(CDOCommitContext commitContext)` |
    `protected void` | `transactionRolledBack()` |

    - ### Methods inherited from class org.eclipse.emf.spi.cdo.AbstractChangeSetsConflictResolver

      `getLocalChangeSet, getLocalChangeSetData, getRemoteChangeSet, getRemoteChangeSetData, getRemoteTimeStamp, handleNonConflict, transactionAttachingObject, transactionCommitting, transactionDetachingObject, transactionModifyingObject, unhookTransaction`

    - ### Methods inherited from class org.eclipse.emf.spi.cdo.AbstractConflictResolver

      `getTransaction, setTransaction`

    - ### 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.cdo.transaction.CDOConflictResolver

      `getTransaction, setTransaction`

- - ### Constructor Detail

    - #### CDOMergingConflictResolver

          public CDOMergingConflictResolver​(CDOMerger merger)

    - #### CDOMergingConflictResolver

          public CDOMergingConflictResolver​(CDOMerger merger,
                                            boolean ensureRemoteNotifications)

      Parameters:
        `ensureRemoteNotifications` - boolean to disable the use of `CDOAdapterPolicy` to ensure remote changes reception for conflict resolution, true by default. Can be disabled to limit network traffic when `CDOCommonSession.Options.PassiveUpdateMode` is enabled and in `CDOCommonSession.Options.PassiveUpdateMode.CHANGES` or `CDOCommonSession.Options.PassiveUpdateMode.ADDITIONS`
      Since:
        4.4

    - #### CDOMergingConflictResolver

          public CDOMergingConflictResolver​(DefaultCDOMerger.ResolutionPreference resolutionPreference)

      Since:
        4.2

    - #### CDOMergingConflictResolver

          public CDOMergingConflictResolver​(DefaultCDOMerger.ResolutionPreference resolutionPreference,
                                            boolean ensureRemoteNotifications)

      Parameters:
        `ensureRemoteNotifications` - boolean to disable the use of `CDOAdapterPolicy` to ensure remote changes reception for conflict resolution, true by default. Can be disabled to limit network traffic when `CDOCommonSession.Options.PassiveUpdateMode` is enabled and in `CDOCommonSession.Options.PassiveUpdateMode.CHANGES` or `CDOCommonSession.Options.PassiveUpdateMode.ADDITIONS`
      Since:
        4.4

    - #### CDOMergingConflictResolver

          public CDOMergingConflictResolver()

      Since:
        4.4

    - #### CDOMergingConflictResolver

          public CDOMergingConflictResolver​(boolean ensureRemoteNotifications)

      Parameters:
        `ensureRemoteNotifications` - boolean to disable the use of `CDOAdapterPolicy` to ensure remote changes reception for conflict resolution, true by default. Can be disabled to limit network traffic when `CDOCommonSession.Options.PassiveUpdateMode` is enabled and in `CDOCommonSession.Options.PassiveUpdateMode.CHANGES` or `CDOCommonSession.Options.PassiveUpdateMode.ADDITIONS`
      Since:
        4.4

  - ### Method Detail

    - #### getMerger

          public CDOMerger getMerger()

    - #### getLastNonConflictTimeStamp

          public long getLastNonConflictTimeStamp()

      Since:
        4.4

    - #### isConflict

          public boolean isConflict()

      Since:
        4.4

    - #### resolveConflicts

          public void resolveConflicts​(java.util.Set<CDOObject> conflicts)

      Description copied from interface: `CDOConflictResolver`
      Resolves conflicts after remote invalidations arrived for objects that are locally dirty or detached.

    - #### resolveConflicts

          protected void resolveConflicts​(java.util.Set<CDOObject> conflicts,
                                          CDOChangeSet remoteChangeSet)

      Since:
        4.4

    - #### handleConflict

          protected CDOChangeSetData handleConflict​(CDOChangeSetData result)

      Since:
        4.4

    - #### hookTransaction

          protected void hookTransaction​(CDOTransaction transaction)

      Overrides:
        `hookTransaction` in class `AbstractChangeSetsConflictResolver`

    - #### transactionCommitted

          protected void transactionCommitted​(CDOCommitContext commitContext)

      Overrides:
        `transactionCommitted` in class `AbstractChangeSetsConflictResolver`

    - #### transactionRolledBack

          protected void transactionRolledBack()

      Overrides:
        `transactionRolledBack` in class `AbstractChangeSetsConflictResolver`