Skip to content
Snippets Groups Projects
Commit 9f548455 authored by Hernan Ponce de Leon's avatar Hernan Ponce de Leon
Browse files

Merge branch '3598' into 'master'

3598: EcoreUtils::copyToRefMap

See merge request !43
parents 1159a52d 4a085f29
Branches
Tags
1 merge request!433598: EcoreUtils::copyToRefMap
......@@ -2,7 +2,7 @@ CompositionUtils.java 34c0a191bd0fb4176c94b4d61abb5c88a679d5e8 GREEN
ConstraintsUtils.java 0f8be020f2ca4bb08931c32452163c04a28e30ce GREEN
EMFResourceUtils.java 979d0e1f4f66a2b3e715d2da0ebef6493f547fd7 GREEN
EcoreSerializerBase.java 0a0c2969d793d2e68094c55c8f7b0a662ef6e5d5 GREEN
EcoreUtils.java ffb428de083b536cd06e875e75484706f2149c2a GREEN
EcoreUtils.java aca34b67bcf6a6a488e83964bfea73f6bfbff6b1 GREEN
ExtensionPointUtils.java 7ce63242b49eb9a7cd4eaadd223f5ebce1dfd75b GREEN
HierarchicalNameComparator.java 6face1b673126701a0721af48ead2f9766c17d46 GREEN
IdentifierUtils.java fff43dc4e84cdd89c3ece4f5d9d89aec4b0749c2 GREEN
......
......@@ -382,12 +382,9 @@ public class EcoreUtils {
}
/**
* Returns a self-contained copy of the given <code>eObject</code>.
* Returns a self-contained copy of the given {@link EObject}.
*
* @param eObject
* the object to copy.
* @return the copy.
* @see Copier
* @return Self-contained copy of the given {@link EObject}.
*/
public static <T extends EObject> T copy(T eObject) {
Copier copier = new HackedCopier();
......@@ -398,6 +395,20 @@ public class EcoreUtils {
return t;
}
/**
* Creates a self-contained copy of the given {@link EObject}.
*
* @return The method returns a {@link Map} that relates each original sub-element (including
* the given {@link EObject}) to the corresponding copy.
*/
public static Map<EObject, EObject> copyToRefMap(EObject eObject) {
Copier copier = new HackedCopier();
copier.copy(eObject);
copier.copyReferences();
return copier;
}
/** Map to cache potentially expensive lookups in {@link #getEClassForClass(Class)}. */
private static Map<Class<?>, EClass> clazz2EClassCache = new HashMap<Class<?>, EClass>();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment