Creating a charset provider module for IBM charsets
Dave Hobbs
dave_hobbs at uk.ibm.com
Thu Jun 21 10:41:23 UTC 2018
Yes, the proposal is to create a new module outside the JDK.
I was originally responding to your suggestion of not including these
charsets in java.base.
http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-May/053316.html
"Separately, I think we should start a discussion here about moving some
or all of the IBM charsets to their own service provider module. I
realize the AIX port might want to include some of them in its build of
java.base but they aren't interesting to include in java.base, or even
jdk.charsets, on most platforms"
A service provider module appears to be the recommended approach according
the Java api documentation. However writing charset classes is made a lot
more difficult by not having the sun.nio.cs classes available.
Should we propose adding our charsets in the java.base or jdk.charsets?
- Dave
From: Alan Bateman <Alan.Bateman at oracle.com>
To: Dave Hobbs <dave_hobbs at uk.ibm.com>, core-libs-dev at openjdk.java.net
Date: 20/06/2018 18:27
Subject: Re: Creating a charset provider module for IBM charsets
On 20/06/2018 15:52, Dave Hobbs wrote:
> 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?
>
Are you proposing to add your module to the JDK or will it live outside?
If the former then just extend the qualified export to add the name of
the module. If the latter then you are out of luck as the sun.nio.cs
infrastructure is not meant to be used outside of the JDK.
-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
More information about the core-libs-dev
mailing list