diff options
Diffstat (limited to 'examples/scala-js/javalib/src/main/scala/java/nio/charset/Charset.scala')
-rw-r--r-- | examples/scala-js/javalib/src/main/scala/java/nio/charset/Charset.scala | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/examples/scala-js/javalib/src/main/scala/java/nio/charset/Charset.scala b/examples/scala-js/javalib/src/main/scala/java/nio/charset/Charset.scala deleted file mode 100644 index 6d1af47..0000000 --- a/examples/scala-js/javalib/src/main/scala/java/nio/charset/Charset.scala +++ /dev/null @@ -1,103 +0,0 @@ -package java.nio.charset - -import java.nio.{ByteBuffer, CharBuffer} - -import scala.scalajs.js - -abstract class Charset protected (canonicalName: String, - aliases: Array[String]) extends AnyRef with Comparable[Charset] { - final def name(): String = canonicalName - - override final def equals(that: Any): Boolean = that match { - case that: Charset => this.name == that.name - case _ => false - } - - override final def toString(): String = name() - - override final def hashCode(): Int = name.## - - override final def compareTo(that: Charset): Int = - name.compareToIgnoreCase(that.name) - - def contains(cs: Charset): Boolean - - def newDecoder(): CharsetDecoder - def newEncoder(): CharsetEncoder - - def canEncode(): Boolean = true - - private lazy val cachedDecoder = { - this.newDecoder() - .onMalformedInput(CodingErrorAction.REPLACE) - .onUnmappableCharacter(CodingErrorAction.REPLACE) - } - - private lazy val cachedEncoder = { - this.newEncoder() - .onMalformedInput(CodingErrorAction.REPLACE) - .onUnmappableCharacter(CodingErrorAction.REPLACE) - } - - final def decode(bb: ByteBuffer): CharBuffer = - cachedDecoder.decode(bb) - - final def encode(cb: CharBuffer): ByteBuffer = - cachedEncoder.encode(cb) - - final def encode(str: String): ByteBuffer = - encode(CharBuffer.wrap(str)) - - def displayName(): String = name -} - -object Charset { - import StandardCharsets._ - - def defaultCharset(): Charset = - UTF_8 - - def forName(charsetName: String): Charset = - CharsetMap.getOrElse(charsetName.toLowerCase, - throw new UnsupportedCharsetException(charsetName)) - - def isSupported(charsetName: String): Boolean = - CharsetMap.contains(charsetName.toLowerCase) - - private lazy val CharsetMap = { - val m = js.Dictionary.empty[Charset] - - // All these lists where obtained by experimentation on the JDK - - for (s <- Seq("iso-8859-1", "iso8859-1", "iso_8859_1", "iso8859_1", - "iso_8859-1", "8859_1", "iso_8859-1:1987", - "latin1", "csisolatin1", "l1", - "ibm-819", "ibm819", "cp819", "819", - "iso-ir-100")) - m(s) = ISO_8859_1 - - for (s <- Seq("us-ascii", "ascii7", "ascii", "csascii", - "default", - "cp367", "ibm367", - "iso646-us", "646", "iso_646.irv:1983", "iso_646.irv:1991", - "ansi_x3.4-1986", "ansi_x3.4-1968", - "iso-ir-6")) - m(s) = US_ASCII - - for (s <- Seq("utf-8", "utf_8", "utf8", "unicode-1-1-utf-8")) - m(s) = UTF_8 - - for (s <- Seq("utf-16be", "utf_16be", "x-utf-16be", - "iso-10646-ucs-2", "unicodebigunmarked")) - m(s) = UTF_16BE - - for (s <- Seq("utf-16le", "utf_16le", "x-utf-16le", - "unicodelittleunmarked")) - m(s) = UTF_16LE - - for (s <- Seq("utf-16", "utf_16", "unicode", "unicodebig")) - m(s) = UTF_16 - - m - } -} |