<AWT Dev> Caciocavallo (was Re: Removing all methods that use the AWT peer types in JDK 9)

Phil Race philip.race at oracle.com
Thu Feb 19 22:19:33 UTC 2015


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.
>



More information about the awt-dev mailing list