Hi Alan, My understanding is that java.base only exports sun.nio.cs to jdk.charsets i.e java.base module-info.java has:
... exports sun.nio.cs to java.desktop, jdk.charsets; ... and jdk.charsets has: module jdk.charsets { provides java.nio.charset.spi.CharsetProvider with sun.nio.cs.ext.ExtendedCharsets; } So jdk.charsets can use sun.nio.cs, whereas my module can not. Am I missing something? Dave From: Alan Bateman <alan.bate...@oracle.com> To: Dave Hobbs <dave_ho...@uk.ibm.com>, core-libs-dev@openjdk.java.net Date: 20/06/2018 14:26 Subject: Re: Creating a charset provider module for IBM charsets On 20/06/2018 14:22, Dave Hobbs wrote: > Hi > > We would like to migrate a number of the IBM charsets (which don't need to > be in java.base) to a modular charset provider. > > However, as written today our charset classes rely on sun.nio.cs classes > and definitions, which are no longer visible. For example: > > sun.nio.cs.HistoricallyNamedCharset; > > sun.nio.cs.CharsetMapping.UNMAPPABLE_DECODING; > sun.nio.cs.CharsetMapping.UNMAPPABLE_ENCODING; > > sun.nio.cs.ArrayDecoder; > sun.nio.cs.ArrayEncoder; > > sun.nio.cs.Surrogate.Parser; > > sun.nio.cs.SingleByte.Decoder; > sun.nio.cs.ext.DoubleByte.Decoder; > > sun.nio.cs.SingleByteDecoder; > sun.nio.cs.SingleByteEncoder; > > Are there any alternatives to these classes in the new module system or an > alternative approach to creating charsets? Can you use jdk.charsets as an example? You'll see that java.base exports these packages to the service provider module. -Alan Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU