From 0c453c1a3ace189196cac7d70107ea340565fd4d Mon Sep 17 00:00:00 2001 From: Gilles Dubochet Date: Wed, 6 Feb 2008 19:27:01 +0000 Subject: Added better "clone" methods to a few JCL colle... Added better "clone" methods to a few JCL collection classes. --- src/library/scala/collection/jcl/ArrayList.scala | 2 ++ src/library/scala/collection/jcl/HashSet.scala | 3 +++ src/library/scala/collection/jcl/LinkedHashSet.scala | 2 ++ src/library/scala/collection/jcl/LinkedList.scala | 3 +++ src/library/scala/collection/jcl/TreeSet.scala | 7 ++++++- 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/library/scala/collection/jcl/ArrayList.scala b/src/library/scala/collection/jcl/ArrayList.scala index 159f3d2875..bd54d46a69 100644 --- a/src/library/scala/collection/jcl/ArrayList.scala +++ b/src/library/scala/collection/jcl/ArrayList.scala @@ -16,4 +16,6 @@ package scala.collection.jcl; */ class ArrayList[A](override val underlying : java.util.ArrayList[A]) extends BufferWrapper[A] { def this() = this(new java.util.ArrayList[A]); + override def clone: ArrayList[A] = + new ArrayList[A](underlying.clone().asInstanceOf[java.util.ArrayList[A]]) } diff --git a/src/library/scala/collection/jcl/HashSet.scala b/src/library/scala/collection/jcl/HashSet.scala index 09318cdcef..38396c2526 100644 --- a/src/library/scala/collection/jcl/HashSet.scala +++ b/src/library/scala/collection/jcl/HashSet.scala @@ -17,4 +17,7 @@ package scala.collection.jcl; class HashSet[A](override val underlying: java.util.HashSet[A]) extends SetWrapper[A] { /** Creates an underlying Java hash set. */ def this() = this(new java.util.HashSet[A]); + + override def clone: HashSet[A] = + new HashSet[A](underlying.clone().asInstanceOf[java.util.HashSet[A]]) } diff --git a/src/library/scala/collection/jcl/LinkedHashSet.scala b/src/library/scala/collection/jcl/LinkedHashSet.scala index 2c7b14862f..b5b7c11a39 100644 --- a/src/library/scala/collection/jcl/LinkedHashSet.scala +++ b/src/library/scala/collection/jcl/LinkedHashSet.scala @@ -17,4 +17,6 @@ package scala.collection.jcl; */ class LinkedHashSet[A](override val underlying: java.util.LinkedHashSet[A]) extends SetWrapper[A] { def this() = this(new java.util.LinkedHashSet[A]); + override def clone: LinkedHashSet[A] = + new LinkedHashSet[A](underlying.clone().asInstanceOf[java.util.LinkedHashSet[A]]) } diff --git a/src/library/scala/collection/jcl/LinkedList.scala b/src/library/scala/collection/jcl/LinkedList.scala index 5d94c964f1..a7fc726af6 100644 --- a/src/library/scala/collection/jcl/LinkedList.scala +++ b/src/library/scala/collection/jcl/LinkedList.scala @@ -26,4 +26,7 @@ class LinkedList[A](override val underlying : java.util.LinkedList[A]) extends B //def poll = underlying.poll.asInstanceOf[A]; //def removeFirst = underlying.removeFirst.asInstanceOf[A]; //def removeLast = underlying.removeLast.asInstanceOf[A]; + + override def clone: LinkedList[A] = + new LinkedList[A](underlying.clone().asInstanceOf[java.util.LinkedList[A]]) } diff --git a/src/library/scala/collection/jcl/TreeSet.scala b/src/library/scala/collection/jcl/TreeSet.scala index d2bbb5052a..5c5be528ca 100644 --- a/src/library/scala/collection/jcl/TreeSet.scala +++ b/src/library/scala/collection/jcl/TreeSet.scala @@ -15,6 +15,11 @@ package scala.collection.jcl; * * @author Sean McDirmid */ -class TreeSet[A <% Ordered[A]] extends SortedSetWrapper[A] { +class TreeSet[A <% Ordered[A]] extends SortedSetWrapper[A] { ts => val underlying = new java.util.TreeSet[A](new Comparator[A]); + override def clone: TreeSet[A] = + new TreeSet[A] { + override val underlying = + ts.underlying.clone().asInstanceOf[java.util.TreeSet[A]] + } } -- cgit v1.2.3