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 and 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 and 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`

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html