## org.eclipse.emf.spi.cdo
Class AbstractObjectConflictResolver.ThreeWayMerge

    java.lang.Object
      org.eclipse.emf.spi.cdo.AbstractObjectConflictResolver
          org.eclipse.emf.spi.cdo.AbstractObjectConflictResolver.ThreeWayMerge

All Implemented Interfaces:
  CDOConflictResolver, CDOAdapterPolicy

Direct Known Subclasses:
  AbstractObjectConflictResolver.MergeLocalChangesPerFeature

Enclosing class:
  AbstractObjectConflictResolver

    public abstract static class AbstractObjectConflictResolver.ThreeWayMerge

extends AbstractObjectConflictResolver
implements CDOAdapterPolicy

Since:
  2.0

Nested Class Summary
`static class` `AbstractObjectConflictResolver.ThreeWayMerge.ChangeSubscriptionAdapter`

Nested classes/interfaces inherited from class org.eclipse.emf.spi.cdo.AbstractObjectConflictResolver
`AbstractObjectConflictResolver.MergeLocalChangesPerFeature, AbstractObjectConflictResolver.TakeRemoteChangesThenApplyLocalChanges, AbstractObjectConflictResolver.ThreeWayMerge`

Field Summary

Fields inherited from interface org.eclipse.emf.cdo.view.CDOAdapterPolicy
`ALL, CDO, NONE`

Constructor Summary
`AbstractObjectConflictResolver.ThreeWayMerge()`

Method Summary
`protected void` `hookTransaction(CDOTransaction transaction)`
`boolean` `isValid(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.common.notify.Adapter adapter)` Returns `true` if the given adapter on the given object should trigger a certain operation or behaviour, `false` otherwise.
`protected void` `resolveConflict(CDOObject conflict, CDORevisionDelta revisionDelta)` Resolves the conflict of a single object in the current transaction.
`protected abstract void` `resolveConflict(CDOObject conflict, CDORevisionDelta localDelta, java.util.List<CDORevisionDelta> remoteDeltas)`
`protected void` `unhookTransaction(CDOTransaction transaction)`

Methods inherited from class org.eclipse.emf.spi.cdo.AbstractObjectConflictResolver
`changeObject, getTransaction, readObject, resolveConflicts, rollbackObject, setTransaction`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractObjectConflictResolver.ThreeWayMerge

    public AbstractObjectConflictResolver.ThreeWayMerge()

Method Detail

### isValid

    public boolean isValid(org.eclipse.emf.ecore.EObject object,
                           org.eclipse.emf.common.notify.Adapter adapter)

  Description copied from interface: `CDOAdapterPolicy`
  Returns `true` if the given adapter on the given object should trigger a certain operation or behaviour, `false` otherwise.

  Specified by:
    `isValid` in interface `CDOAdapterPolicy`
  See Also:
    `CDOView.Options.addChangeSubscriptionPolicy(CDOAdapterPolicy)`, `CDOView.Options.setStrongReferencePolicy(CDOAdapterPolicy)`

### hookTransaction

    protected void hookTransaction(CDOTransaction transaction)

  Overrides:
    `hookTransaction` in class `AbstractObjectConflictResolver`

### unhookTransaction

    protected void unhookTransaction(CDOTransaction transaction)

  Overrides:
    `unhookTransaction` in class `AbstractObjectConflictResolver`

### resolveConflict

    protected void resolveConflict(CDOObject conflict,
                                   CDORevisionDelta revisionDelta)

  Description copied from class: `AbstractObjectConflictResolver`
  Resolves the conflict of a single object in the current transaction.

  Specified by:
    `resolveConflict` in class `AbstractObjectConflictResolver`

### resolveConflict

    protected abstract void resolveConflict(CDOObject conflict,
                                            CDORevisionDelta localDelta,
                                            java.util.List<CDORevisionDelta> remoteDeltas)

Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. All Rights Reserved.