Package org.eclipse.emf.compare.utils

# Class EMFCompareCopier

java.lang.Object
java.util.AbstractMap<EObject,EObject>
java.util.HashMap<EObject,EObject>
java.util.LinkedHashMap<EObject,EObject>
org.eclipse.emf.ecore.util.EcoreUtil.Copier
org.eclipse.emf.compare.utils.EMFCompareCopier

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Map<EObject,EObject>`, `SequencedMap<EObject,EObject>`

public class EMFCompareCopier extends EcoreUtil.Copier
This defines the semantics of an EObject copy in the case of EMF Compare.

Namely, references now have their own Diffs, they will be merged separately from the EObject copy. However, attributes must be copied from the start.

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class java.util.AbstractMap

`AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>`

## Field Summary

### Fields inherited from class org.eclipse.emf.ecore.util.EcoreUtil.Copier

`resolveProxies, useOriginalReferences`

## Constructor Summary

Constructors
Constructor
Description
`EMFCompareCopier()`

## Method Summary

Modifier and Type
Method
Description
`EObject`
`copy(EObject eObject)`

### Methods inherited from class org.eclipse.emf.ecore.util.EcoreUtil.Copier

`copyAll, copyAttribute, copyAttributeValue, copyContainment, copyFeatureMap, copyProxyURI, copyReference, copyReferences, createCopy, getTarget, getTarget, getTarget, getTarget`

### Methods inherited from class java.util.LinkedHashMap

`clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, newLinkedHashMap, putFirst, putLast, removeEldestEntry, replaceAll, reversed, sequencedEntrySet, sequencedKeySet, sequencedValues, values`

### Methods inherited from class java.util.HashMap

`clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, newHashMap, put, putAll, putIfAbsent, remove, remove, replace, replace, size`

### Methods inherited from class java.util.AbstractMap

`equals, hashCode, toString`

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

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Map

`compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size`

### Methods inherited from interface java.util.SequencedMap

`firstEntry, lastEntry, pollFirstEntry, pollLastEntry`

## Constructor Details

### EMFCompareCopier

public EMFCompareCopier()

## Method Details

### copy

public EObject copy(EObject eObject)

Implementation mostly copied from Copier#copy(EObject), we only remove the reference copying from here.

Overrides:
  `copy` in class `EcoreUtil.Copier`
See Also:
  - `EcoreUtil.Copier.copy(org.eclipse.emf.ecore.EObject)`