aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vars/utils.groovy11
1 files changed, 11 insertions, 0 deletions
diff --git a/vars/utils.groovy b/vars/utils.groovy
index fe76bca..60b76c9 100644
--- a/vars/utils.groovy
+++ b/vars/utils.groovy
@@ -99,3 +99,14 @@ def concurrent(configs) {
parallel(tasks)
}
} //end concurrent
+
+
+// standard deep copy implementation
+def deepcopy(orig) {
+ bos = new ByteArrayOutputStream()
+ oos = new ObjectOutputStream(bos)
+ oos.writeObject(orig); oos.flush()
+ bin = new ByteArrayInputStream(bos.toByteArray())
+ ois = new ObjectInputStream(bin)
+ return ois.readObject()
+}