A way to opt out of access restrictions on non-exported members.

Alex Buckley alex.buckley at oracle.com
Tue Nov 24 00:24:34 UTC 2015


On 11/23/2015 9:58 AM, Alan Snyder wrote:
> My use case is a platform specific Swing look and feel. To work, it
> needs access to platform specific features of the AWT. I’m trying not
> to be pessimistic or cynical, but I cannot assume that Oracle/OpenJDK
> will be motivated to create a public API for all of the platform
> specific features that I need, or if they do, that the API will be
> available in a timely manner. I understand that my library will have
> dependencies on specific JDK versions as it does on specific platform
> versions.

I know there is considerable effort going into replacement public APIs 
for JavaFX -- see http://openjdk.java.net/jeps/253 from May and the 
openjfx-dev thread "Understanding the com.sun.* APIs being (ab)used by 
the community" from June -- you could inquire about equivalents on 
swing-dev.

Alex

> I was unpleasantly surprised to learn (via the recent Java One talks)
> that the module encapsulation rules apply to reflection, as I had
> understood that they did not.
>
> Using command line arguments as an escape mechanism is not a good fit
> for this use. The main reason is that it places a burden on all users
> of the library, both direct and indirect. Every application in which
> this library is used must define the appropriate command line
> arguments. The other reason is that the command line argument
> solution is too broad. Using reflection, each specific need to
> penetrate encapsulation is identified. Using the command line
> argument, entire packages are opened up.
>
> Which brings me to a question... How is native code access to classes
> and methods via JNI affected by module encapsulation?
>
> Alan
>


More information about the jigsaw-dev mailing list