On 2/19/2015 8:49 AM, Alan Bateman wrote:
On 19/02/2015 16:30, Roman Kennke wrote:
:
Hmm. I am not totally familiar, but from what I heard at FOSDEM from
Mark Reinhold, it is possible to export certain APIs *only to other
known modules*. This is similar in concept to C++ friends, except it
happens on a module basis instead of class basis. Which is fine. Could
somebody from jigsaw please comment on this, confirm or deny if I'm
wrong with my understanding?

So suppose we'd have a Cacio module that is part of OpenJDK (doesn't
have to be part of any provided profile). Then the desktop module could
export the required APIs to Cacio, without exporting it to anyone else.
If I understand the modules stuff correctly.

The JSR 376 group is currently discussing the draft requirements document, which has an item on this topic called "Qualified Exports":
http://openjdk.java.net/projects/jigsaw/spec/reqs/01#qualified-exports

However, http://openjdk.java.net/jeps/200 states under Design Principle #4 :
>> If it is a Java SE module, /i.e./, to be proposed for inclusion in the Java SE Platform Specification, then it must not export any non-SE API packages.

You probably should head over to the jigsaw emailing list to ask whether that means Caciocavella's non-standard interfaces might be allowed to be exported from the Java SE java.desktop module at all, or whether it would be allowed in the 'restricted' fashion discussed above

-phil.



You'll see a mention of the same concept in JEP 200 as it is very important to our JDK modularization effort.

Do you publish the javadoc for your porting interface anywhere? Does it require users of this porting interface to make direct use of sun.* types?

-Alan.


Reply via email to