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 ...@@ -2,7 +2,7 @@ CompositionUtils.java 34c0a191bd0fb4176c94b4d61abb5c88a679d5e8 GREEN
ConstraintsUtils.java 0f8be020f2ca4bb08931c32452163c04a28e30ce GREEN ConstraintsUtils.java 0f8be020f2ca4bb08931c32452163c04a28e30ce GREEN
EMFResourceUtils.java 979d0e1f4f66a2b3e715d2da0ebef6493f547fd7 GREEN EMFResourceUtils.java 979d0e1f4f66a2b3e715d2da0ebef6493f547fd7 GREEN
EcoreSerializerBase.java 0a0c2969d793d2e68094c55c8f7b0a662ef6e5d5 GREEN EcoreSerializerBase.java 0a0c2969d793d2e68094c55c8f7b0a662ef6e5d5 GREEN
EcoreUtils.java ffb428de083b536cd06e875e75484706f2149c2a GREEN EcoreUtils.java aca34b67bcf6a6a488e83964bfea73f6bfbff6b1 GREEN
ExtensionPointUtils.java 7ce63242b49eb9a7cd4eaadd223f5ebce1dfd75b GREEN ExtensionPointUtils.java 7ce63242b49eb9a7cd4eaadd223f5ebce1dfd75b GREEN
HierarchicalNameComparator.java 6face1b673126701a0721af48ead2f9766c17d46 GREEN HierarchicalNameComparator.java 6face1b673126701a0721af48ead2f9766c17d46 GREEN
IdentifierUtils.java fff43dc4e84cdd89c3ece4f5d9d89aec4b0749c2 GREEN IdentifierUtils.java fff43dc4e84cdd89c3ece4f5d9d89aec4b0749c2 GREEN
......
...@@ -382,12 +382,9 @@ public class EcoreUtils { ...@@ -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 * @return Self-contained copy of the given {@link EObject}.
* the object to copy.
* @return the copy.
* @see Copier
*/ */
public static <T extends EObject> T copy(T eObject) { public static <T extends EObject> T copy(T eObject) {
Copier copier = new HackedCopier(); Copier copier = new HackedCopier();
...@@ -398,6 +395,20 @@ public class EcoreUtils { ...@@ -398,6 +395,20 @@ public class EcoreUtils {
return t; 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)}. */ /** Map to cache potentially expensive lookups in {@link #getEClassForClass(Class)}. */
private static Map<Class<?>, EClass> clazz2EClassCache = new HashMap<Class<?>, EClass>(); 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