src/Pure/System/isabelle_charset.scala
changeset 75393 87ebf5a50283
parent 73909 1d0d9772fff0
child 76356 92e9fa289056
equal deleted inserted replaced
75388:b3ca4a6ed74b 75393:87ebf5a50283
    12 import java.nio.{ByteBuffer, CharBuffer}
    12 import java.nio.{ByteBuffer, CharBuffer}
    13 import java.nio.charset.{Charset, CharsetDecoder, CharsetEncoder, CoderResult}
    13 import java.nio.charset.{Charset, CharsetDecoder, CharsetEncoder, CoderResult}
    14 import java.nio.charset.spi.CharsetProvider
    14 import java.nio.charset.spi.CharsetProvider
    15 
    15 
    16 
    16 
    17 object Isabelle_Charset
    17 object Isabelle_Charset {
    18 {
       
    19   val name: String = "UTF-8-Isabelle-test"  // FIXME
    18   val name: String = "UTF-8-Isabelle-test"  // FIXME
    20   lazy val charset: Charset = new Isabelle_Charset
    19   lazy val charset: Charset = new Isabelle_Charset
    21 }
    20 }
    22 
    21 
    23 
    22 
    24 class Isabelle_Charset extends Charset(Isabelle_Charset.name, null)
    23 class Isabelle_Charset extends Charset(Isabelle_Charset.name, null) {
    25 {
       
    26   override def contains(cs: Charset): Boolean =
    24   override def contains(cs: Charset): Boolean =
    27     cs.name.equalsIgnoreCase(UTF8.charset_name) || UTF8.charset.contains(cs)
    25     cs.name.equalsIgnoreCase(UTF8.charset_name) || UTF8.charset.contains(cs)
    28 
    26 
    29   override def newDecoder(): CharsetDecoder = UTF8.charset.newDecoder
    27   override def newDecoder(): CharsetDecoder = UTF8.charset.newDecoder
    30 
    28 
    31   override def newEncoder(): CharsetEncoder = UTF8.charset.newEncoder
    29   override def newEncoder(): CharsetEncoder = UTF8.charset.newEncoder
    32 }
    30 }
    33 
    31 
    34 
    32 
    35 class Isabelle_Charset_Provider extends CharsetProvider
    33 class Isabelle_Charset_Provider extends CharsetProvider {
    36 {
    34   override def charsetForName(name: String): Charset = {
    37   override def charsetForName(name: String): Charset =
       
    38   {
       
    39     // FIXME inactive
    35     // FIXME inactive
    40     // if (name.equalsIgnoreCase(Isabelle_Charset.name)) Isabelle_Charset.charset
    36     // if (name.equalsIgnoreCase(Isabelle_Charset.name)) Isabelle_Charset.charset
    41     // else null
    37     // else null
    42     null
    38     null
    43   }
    39   }
    44 
    40 
    45   override def charsets(): java.util.Iterator[Charset] =
    41   override def charsets(): java.util.Iterator[Charset] = {
    46   {
       
    47     // FIXME inactive
    42     // FIXME inactive
    48     // Iterator(Isabelle_Charset.charset)
    43     // Iterator(Isabelle_Charset.charset)
    49     JList.of[Charset]().listIterator()
    44     JList.of[Charset]().listIterator()
    50   }
    45   }
    51 }
    46 }