summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library/scala/collection/jcl/Buffer.scala4
-rw-r--r--src/library/scala/collection/jcl/Conversions.scala17
-rw-r--r--src/library/scala/collection/jcl/IterableWrapper.scala9
-rw-r--r--src/library/scala/collection/jcl/Map.scala3
-rw-r--r--src/library/scala/collection/jcl/Set.scala3
-rw-r--r--src/library/scala/collection/jcl/SortedMap.scala3
-rw-r--r--src/library/scala/collection/jcl/SortedSet.scala4
7 files changed, 34 insertions, 9 deletions
diff --git a/src/library/scala/collection/jcl/Buffer.scala b/src/library/scala/collection/jcl/Buffer.scala
index a0a3348d0a..dfc36765d3 100644
--- a/src/library/scala/collection/jcl/Buffer.scala
+++ b/src/library/scala/collection/jcl/Buffer.scala
@@ -209,6 +209,10 @@ trait Buffer[A] extends RandomAccessSeq.Mutable[A] with Ranged[Int,A] with Mutab
*/
}
object Buffer {
+ def apply[T](list : java.util.List[T]) = new BufferWrapper[T] {
+ val underlying = list
+ }
+
trait Projection0[A] extends MutableSeq.Projection[A] with RandomAccessSeq.Projection[A] {
override def projection : Projection0[A] = this
override def elements : SeqIterator[Int,A] = new DefaultSeqIterator
diff --git a/src/library/scala/collection/jcl/Conversions.scala b/src/library/scala/collection/jcl/Conversions.scala
new file mode 100644
index 0000000000..edb96322b6
--- /dev/null
+++ b/src/library/scala/collection/jcl/Conversions.scala
@@ -0,0 +1,17 @@
+package scala.collection.jcl
+
+object Conversions {
+ implicit def convertSet[T](set : java.util.Set[T]) = Set(set)
+ implicit def convertList[T](set : java.util.List[T]) = Buffer(set)
+ implicit def convertSortedSet[T](set : java.util.SortedSet[T]) = SortedSet(set)
+ implicit def convertMap[T,E](set : java.util.Map[T,E]) = Map(set)
+ implicit def convertSortedMap[T,E](set : java.util.SortedMap[T,E]) = SortedMap(set)
+
+ implicit def unconvertSet[T](set : SetWrapper[T]) = set.underlying
+ implicit def unconvertCollection[T](set : CollectionWrapper[T]) = set.underlying
+ implicit def unconvertList[T](set : BufferWrapper[T]) = set.underlying
+ implicit def unconvertSortedSet[T](set : SortedSetWrapper[T]) = set.underlying
+ implicit def unconvertMap[T,E](set : MapWrapper[T,E]) = set.underlying
+ implicit def unconvertSortedMap[T,E](set : SortedMapWrapper[T,E]) = set.underlying
+
+} \ No newline at end of file
diff --git a/src/library/scala/collection/jcl/IterableWrapper.scala b/src/library/scala/collection/jcl/IterableWrapper.scala
index ade058eb3b..caa31d10cf 100644
--- a/src/library/scala/collection/jcl/IterableWrapper.scala
+++ b/src/library/scala/collection/jcl/IterableWrapper.scala
@@ -29,13 +29,4 @@ trait IterableWrapper[A] extends MutableIterable[A] {
override def isEmpty = underlying.isEmpty;
override def clear = underlying.clear;
override def elements : MutableIterator[A] = new MutableIterator.Wrapper[A](underlying.iterator);
-/* moved to MutableIterator
- class IteratorWrapper(underlying : java.util.Iterator) extends MutableIterator[A] {
- // val underlying = IterableWrapper.this.underlying.iterator;
- def hasNext = underlying.hasNext;
- def next = underlying.next.asInstanceOf[A];
- def remove = underlying.remove;
- }
-*/
-
}
diff --git a/src/library/scala/collection/jcl/Map.scala b/src/library/scala/collection/jcl/Map.scala
index 8e921dcfc2..4dc0625b71 100644
--- a/src/library/scala/collection/jcl/Map.scala
+++ b/src/library/scala/collection/jcl/Map.scala
@@ -123,4 +123,7 @@ object Map {
override def projection = this
override def map[B](f : ((K,E)) => B) : MutableIterable.Projection[B] = super[MutableIterableProjection].map(f);
}
+ def apply[T,E](map0 : java.util.Map[T,E]) = new MapWrapper[T,E] {
+ val underlying = map0
+ }
}
diff --git a/src/library/scala/collection/jcl/Set.scala b/src/library/scala/collection/jcl/Set.scala
index 85c5b11148..7ef9360c2a 100644
--- a/src/library/scala/collection/jcl/Set.scala
+++ b/src/library/scala/collection/jcl/Set.scala
@@ -66,4 +66,7 @@ object Set {
override def filter(p : A => Boolean) : Projection[A] = new Filter(p);
override def projection = this
}
+ def apply[T](set : java.util.Set[T]) = new SetWrapper[T] {
+ val underlying = set
+ }
}
diff --git a/src/library/scala/collection/jcl/SortedMap.scala b/src/library/scala/collection/jcl/SortedMap.scala
index 223494a7a5..be5591e7b8 100644
--- a/src/library/scala/collection/jcl/SortedMap.scala
+++ b/src/library/scala/collection/jcl/SortedMap.scala
@@ -14,6 +14,9 @@ object SortedMap {
trait Projection[K,E] extends Map.Projection[K,E] with SortedMap[K,E] {
override def projection = this
}
+ def apply[T,E](map0 : java.util.SortedMap[T,E]) = new SortedMapWrapper[T,E] {
+ val underlying = map0
+ }
}
/** A map whose keys are sorted.
*
diff --git a/src/library/scala/collection/jcl/SortedSet.scala b/src/library/scala/collection/jcl/SortedSet.scala
index 0e59eb5c43..5050a1c36a 100644
--- a/src/library/scala/collection/jcl/SortedSet.scala
+++ b/src/library/scala/collection/jcl/SortedSet.scala
@@ -16,6 +16,10 @@ object SortedSet {
override def projection = this
override def filter(p : A => Boolean) : Projection[A] = new Filter(p);
}
+ def apply[T](set : java.util.SortedSet[T]) = new SortedSetWrapper[T] {
+ val underlying = set
+ }
+
}
/** Analogous to a Java sorted set.