scala.collection.convert.WrapAsJava

trait WrapAsJava extends AnyRef

Value Members From scala.collection.convert.WrapAsJava

implicit def asJavaCollection[A](it: Iterable[A]): Collection[A]

Implicitly converts a Scala Iterable to an immutable Java Collection.

If the Scala Iterable was previously obtained from an implicit or explicit call of asSizedIterable(java.util.Collection) then the original Java Collection will be returned.

  • it
    • The SizedIterable to be converted.
  • returns
    • A Java Collection view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def asJavaDictionary[A, B](m: mutable.Map[A, B]): Dictionary[A, B]

Implicitly converts a Scala mutable Map to a Java Dictionary .

The returned Java Dictionary is backed by the provided Scala Dictionary and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Dictionary was previously obtained from an implicit or explicit call of asMap(java.util.Dictionary) then the original Java Dictionary will be returned.

  • m
    • The Map to be converted.
  • returns
    • A Java Dictionary view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def asJavaEnumeration[A](it: Iterator[A]): java.util.Enumeration[A]

Implicitly converts a Scala Iterator to a Java Enumeration. The returned Java Enumeration is backed by the provided Scala Iterator and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Iterator was previously obtained from an implicit or explicit call of asIterator(java.util.Enumeration) then the original Java Enumeration will be returned.

  • it
    • The Iterator to be converted.
  • returns
    • A Java Enumeration view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def asJavaIterable[A](i: Iterable[A]): java.lang.Iterable[A]

Implicitly converts a Scala Iterable to a Java Iterable. The returned Java Iterable is backed by the provided Scala Iterable and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Iterable was previously obtained from an implicit or explicit call of asIterable(java.lang.Iterable) then the original Java Iterable will be returned.

  • i
    • The Iterable to be converted.
  • returns
    • A Java Iterable view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def asJavaIterator[A](it: Iterator[A]): java.util.Iterator[A]

Implicitly converts a Scala Iterator to a Java Iterator. The returned Java Iterator is backed by the provided Scala Iterator and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Iterator was previously obtained from an implicit or explicit call of asIterator(java.util.Iterator) then the original Java Iterator will be returned.

  • it
    • The Iterator to be converted.
  • returns
    • A Java Iterator view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def bufferAsJavaList[A](b: Buffer[A]): java.util.List[A]

Implicitly converts a Scala mutable Buffer to a Java List. The returned Java List is backed by the provided Scala Buffer and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Buffer was previously obtained from an implicit or explicit call of asBuffer(java.util.List) then the original Java List will be returned.

  • b
    • The Buffer to be converted.
  • returns
    • A Java List view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def mapAsJavaConcurrentMap[A, B](m: concurrent.Map[A, B]): ConcurrentMap[A, B]

Implicitly converts a Scala mutable concurrent.Map to a Java ConcurrentMap .

The returned Java ConcurrentMap is backed by the provided Scala concurrent.Map and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala concurrent.Map was previously obtained from an implicit or explicit call of mapAsScalaConcurrentMap(java.util.concurrent.ConcurrentMap) then the original Java ConcurrentMap will be returned.

  • m
    • The Scala concurrent.Map to be converted.
  • returns
    • A Java ConcurrentMap view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def mapAsJavaMap[A, B](m: Map[A, B]): java.util.Map[A, B]

Implicitly converts a Scala Map to a Java Map .

The returned Java Map is backed by the provided Scala Map and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Map was previously obtained from an implicit or explicit call of asMap(java.util.Map) then the original Java Map will be returned.

  • m
    • The Map to be converted.
  • returns
    • A Java Map view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def mutableMapAsJavaMap[A, B](m: mutable.Map[A, B]): java.util.Map[A, B]

Implicitly converts a Scala mutable Map to a Java Map. The returned Java Map is backed by the provided Scala Map and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Map was previously obtained from an implicit or explicit call of asMap(java.util.Map) then the original Java Map will be returned.

  • m
    • The Map to be converted.
  • returns
    • A Java Map view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def mutableSeqAsJavaList[A](seq: mutable.Seq[A]): java.util.List[A]

Implicitly converts a Scala mutable Seq to a Java List. The returned Java List is backed by the provided Scala Seq and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Seq was previously obtained from an implicit or explicit call of asSeq(java.util.List) then the original Java List will be returned.

  • seq
    • The Seq to be converted.
  • returns
    • A Java List view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def mutableSetAsJavaSet[A](s: mutable.Set[A]): java.util.Set[A]

Implicitly converts a Scala mutable Set to a Java Set. The returned Java Set is backed by the provided Scala Set and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Set was previously obtained from an implicit or explicit call of asSet(java.util.Set) then the original Java Set will be returned.

  • s
    • The Set to be converted.
  • returns
    • A Java Set view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def seqAsJavaList[A](seq: Seq[A]): java.util.List[A]

Implicitly converts a Scala Seq to a Java List. The returned Java List is backed by the provided Scala Seq and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Seq was previously obtained from an implicit or explicit call of asSeq(java.util.List) then the original Java List will be returned.

  • seq
    • The Seq to be converted.
  • returns
    • A Java List view of the argument.

(defined at scala.collection.convert.WrapAsJava)

implicit def setAsJavaSet[A](s: Set[A]): java.util.Set[A]

Implicitly converts a Scala Set to a Java Set. The returned Java Set is backed by the provided Scala Set and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.

If the Scala Set was previously obtained from an implicit or explicit call of asSet(java.util.Set) then the original Java Set will be returned.

  • s
    • The Set to be converted.
  • returns
    • A Java Set view of the argument. (defined at scala.collection.convert.WrapAsJava)

Full Source:

/*                     __                                               *\
**     ________ ___   / /  ___     Scala API                            **
**    / __/ __// _ | / /  / _ |    (c) 2006-2013, LAMP/EPFL             **
**  __\ \/ /__/ __ |/ /__/ __ |    http://www.scala-lang.org/           **
** /____/\___/_/ |_/____/_/ | |                                         **
**                          |/                                          **
\*                                                                      */

package scala
package collection
package convert

import java.{ lang => jl, util => ju }, java.util.{ concurrent => juc }
import scala.language.implicitConversions

trait WrapAsJava {
  import Wrappers._

  /**
   * Implicitly converts a Scala Iterator to a Java Iterator.
   * The returned Java Iterator is backed by the provided Scala
   * Iterator and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Iterator was previously obtained from an implicit or
   * explicit call of `asIterator(java.util.Iterator)` then the original
   * Java Iterator will be returned.
   *
   * @param  it The Iterator to be converted.
   * @return    A Java Iterator view of the argument.
   */
  implicit def asJavaIterator[A](it: Iterator[A]): ju.Iterator[A] = it match {
    case null                       => null
    case JIteratorWrapper(wrapped)  => wrapped.asInstanceOf[ju.Iterator[A]]
    case _                          => IteratorWrapper(it)
  }

  /**
   * Implicitly converts a Scala Iterator to a Java Enumeration.
   * The returned Java Enumeration is backed by the provided Scala
   * Iterator and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Iterator was previously obtained from an implicit or
   * explicit call of `asIterator(java.util.Enumeration)` then the
   * original Java Enumeration will be returned.
   *
   * @param it The Iterator to be converted.
   * @return   A Java Enumeration view of the argument.
   */
  implicit def asJavaEnumeration[A](it: Iterator[A]): ju.Enumeration[A] = it match {
    case null                         => null
    case JEnumerationWrapper(wrapped) => wrapped.asInstanceOf[ju.Enumeration[A]]
    case _                            => IteratorWrapper(it)
  }

  /**
   * Implicitly converts a Scala Iterable to a Java Iterable.
   * The returned Java Iterable is backed by the provided Scala
   * Iterable and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Iterable was previously obtained from an implicit or
   * explicit call of `asIterable(java.lang.Iterable)` then the original
   * Java Iterable will be returned.
   *
   * @param i The Iterable to be converted.
   * @return A Java Iterable view of the argument.
   */
  implicit def asJavaIterable[A](i: Iterable[A]): jl.Iterable[A] = i match {
    case null                       => null
    case JIterableWrapper(wrapped)  => wrapped.asInstanceOf[jl.Iterable[A]]
    case _                          => IterableWrapper(i)
  }

  /**
   * Implicitly converts a Scala Iterable to an immutable Java
   * Collection.
   *
   * If the Scala Iterable was previously obtained from an implicit or
   * explicit call of `asSizedIterable(java.util.Collection)` then the original
   * Java Collection will be returned.
   *
   * @param it The SizedIterable to be converted.
   * @return   A Java Collection view of the argument.
   */
  implicit def asJavaCollection[A](it: Iterable[A]): ju.Collection[A] = it match {
    case null                         => null
    case JCollectionWrapper(wrapped)  => wrapped.asInstanceOf[ju.Collection[A]]
    case _                            => new IterableWrapper(it)
  }

  /**
   * Implicitly converts a Scala mutable Buffer to a Java List.
   * The returned Java List is backed by the provided Scala
   * Buffer and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Buffer was previously obtained from an implicit or
   * explicit call of `asBuffer(java.util.List)` then the original
   * Java List will be returned.
   *
   * @param b The Buffer to be converted.
   * @return A Java List view of the argument.
   */
  implicit def bufferAsJavaList[A](b: mutable.Buffer[A]): ju.List[A] = b match {
    case null                   => null
    case JListWrapper(wrapped)  => wrapped
    case _                      => new MutableBufferWrapper(b)
  }

  /**
   * Implicitly converts a Scala mutable Seq to a Java List.
   * The returned Java List is backed by the provided Scala
   * Seq and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Seq was previously obtained from an implicit or
   * explicit call of `asSeq(java.util.List)` then the original
   * Java List will be returned.
   *
   * @param seq The Seq to be converted.
   * @return    A Java List view of the argument.
   */
  implicit def mutableSeqAsJavaList[A](seq: mutable.Seq[A]): ju.List[A] = seq match {
    case null                   => null
    case JListWrapper(wrapped)  => wrapped
    case _                      => new MutableSeqWrapper(seq)
  }

  /**
   * Implicitly converts a Scala Seq to a Java List.
   * The returned Java List is backed by the provided Scala
   * Seq and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Seq was previously obtained from an implicit or
   * explicit call of `asSeq(java.util.List)` then the original
   * Java List will be returned.
   *
   * @param seq The Seq to be converted.
   * @return    A Java List view of the argument.
   */
  implicit def seqAsJavaList[A](seq: Seq[A]): ju.List[A] = seq match {
    case null                   => null
    case JListWrapper(wrapped)  => wrapped.asInstanceOf[ju.List[A]]
    case _                      => new SeqWrapper(seq)
  }

  /**
   * Implicitly converts a Scala mutable Set to a Java Set.
   * The returned Java Set is backed by the provided Scala
   * Set and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Set was previously obtained from an implicit or
   * explicit call of `asSet(java.util.Set)` then the original
   * Java Set will be returned.
   *
   * @param s The Set to be converted.
   * @return A Java Set view of the argument.
   */
  implicit def mutableSetAsJavaSet[A](s: mutable.Set[A]): ju.Set[A] = s match {
    case null                 => null
    case JSetWrapper(wrapped) => wrapped
    case _                    => new MutableSetWrapper(s)
  }

  /**
   * Implicitly converts a Scala Set to a Java Set.
   * The returned Java Set is backed by the provided Scala
   * Set and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Set was previously obtained from an implicit or
   * explicit call of asSet(java.util.Set) then the original
   * Java Set will be returned.
   *
   * @param s The Set to be converted.
   * @return A Java Set view of the argument.
   */
  implicit def setAsJavaSet[A](s: Set[A]): ju.Set[A] = s match {
    case null                 => null
    case JSetWrapper(wrapped) => wrapped
    case _                    => new SetWrapper(s)
  }

  /**
   * Implicitly converts a Scala mutable Map to a Java Map.
   * The returned Java Map is backed by the provided Scala
   * Map and any side-effects of using it via the Java interface will
   * be visible via the Scala interface and vice versa.
   *
   * If the Scala Map was previously obtained from an implicit or
   * explicit call of `asMap(java.util.Map)` then the original
   * Java Map will be returned.
   *
   * @param m The Map to be converted.
   * @return A Java Map view of the argument.
   */
  implicit def mutableMapAsJavaMap[A, B](m: mutable.Map[A, B]): ju.Map[A, B] = m match {
    case null                 => null
    case JMapWrapper(wrapped) => wrapped
    case _                    => new MutableMapWrapper(m)
  }

  /**
   * Implicitly converts a Scala mutable `Map` to a Java `Dictionary`.
   *
   * The returned Java `Dictionary` is backed by the provided Scala
   * `Dictionary` and any side-effects of using it via the Java interface
   * will be visible via the Scala interface and vice versa.
   *
   * If the Scala `Dictionary` was previously obtained from an implicit or
   * explicit call of `asMap(java.util.Dictionary)` then the original
   * Java Dictionary will be returned.
   *
   * @param m The `Map` to be converted.
   * @return A Java `Dictionary` view of the argument.
   */
  implicit def asJavaDictionary[A, B](m: mutable.Map[A, B]): ju.Dictionary[A, B] = m match {
    case null                         => null
    case JDictionaryWrapper(wrapped)  => wrapped
    case _                            => new DictionaryWrapper(m)
  }

  /**
   * Implicitly converts a Scala `Map` to a Java `Map`.
   *
   * The returned Java `Map` is backed by the provided Scala `Map` and
   * any side-effects of using it via the Java interface will be visible
   * via the Scala interface and vice versa.
   *
   * If the Scala `Map` was previously obtained from an implicit or
   * explicit call of `asMap(java.util.Map)` then the original
   * Java `Map` will be returned.
   *
   * @param m The `Map` to be converted.
   * @return A Java `Map` view of the argument.
   */
  implicit def mapAsJavaMap[A, B](m: Map[A, B]): ju.Map[A, B] = m match {
    case null                 => null
    case JMapWrapper(wrapped) => wrapped.asInstanceOf[ju.Map[A, B]]
    case _                    => new MapWrapper(m)
  }

  /**
   * Implicitly converts a Scala mutable `concurrent.Map` to a Java
   * `ConcurrentMap`.
   *
   * The returned Java `ConcurrentMap` is backed by the provided Scala
   * `concurrent.Map` and any side-effects of using it via the Java interface
   * will be visible via the Scala interface and vice versa.
   *
   * If the Scala `concurrent.Map` was previously obtained from an implicit or
   * explicit call of `mapAsScalaConcurrentMap(java.util.concurrent.ConcurrentMap)`
   * then the original Java ConcurrentMap will be returned.
   *
   * @param m The Scala `concurrent.Map` to be converted.
   * @return A Java `ConcurrentMap` view of the argument.
   */
  implicit def mapAsJavaConcurrentMap[A, B](m: concurrent.Map[A, B]): juc.ConcurrentMap[A, B] = m match {
    case null                           => null
    case JConcurrentMapWrapper(wrapped) => wrapped
    case _                              => new ConcurrentMapWrapper(m)
  }
}

object WrapAsJava extends WrapAsJava { }