JEP 11: Incubator Modules

mark.reinhold at oracle.com mark.reinhold at oracle.com
Tue Dec 6 17:43:42 UTC 2016


Minor clarification below.

2016/12/6 8:28:35 -0800, mark.reinhold at oracle.com:
> 2016/12/6 7:28:17 -0800, volker.simonis at gmail.com:
>> ...
>> 
>> 4. In section "Integration points" the JEP mentions that "low-level
>> operations can be exposed through qualified exports from the
>> appropriate module(s) in the JDK build to the incubator module
>> containing the feature". I'm still not a module expert, but I wonder
>> if the set of exports from a standard module isn't defined by the Java
>> standard?
> 
> The set of unqualified exports from a standard module will be part of
> the Java SE Platform specification.  Qualified exports from one module
> to another within the JDK, whether those modules are standard or not,
> are invisible to all other modules and hence not part of the SE
> specification.
> 
>>          Are others allowed to use this mechanism for exposing
>> internals of standard modules trough their own incubator modules?
> 
> No.

It's fair game for an SE implementation that's downstream of OpenJDK
to introduce qualified exports from JDK modules to its own, additional
incubator modules.  What's not possible, or is at least extremely
inadvisable, is for modules that aren't delivered as part of a JDK
build to have this kind of intimate connection with JDK modules.

If a downstream implementation adds its own incubator modules then
it'd be best for the names of those modules to start with something
other than `jdk.`, so as to avoid confusion.

- Mark


More information about the jdk9-dev mailing list