Module views with exports support

mark.reinhold at oracle.com mark.reinhold at oracle.com
Tue Jan 24 09:56:22 PST 2012


2011/12/30 9:42 -0800, mandy.chung at oracle.com:
> A new webrev for the module views [1] with the exports support:
>    http://cr.openjdk.java.net/~mchung/jigsaw/webrevs/module-views.01/

There are some big changes here, thanks for working through all the
details.

Suggestions on the API:

  - Rename ModuleViewQuery back to ModuleIdQuery, for now.

  - Rename Dependence to ViewDependence, rename Service.Dependence to
    ServiceDependence, and make both of them extend a new class
    Dependence which declares only the modifiers() method.

  - Replace Service.ProviderInfo with a map in the ModuleView interface:
    Map<String,Set<String>> ModuleView.services().

  - Delete the now-empty Service class.

  - Rename ModuleInfo.requires() to .requiresModules().

  - In ModuleInfo, is the view(ModuleId) method really necessary?  If so
    then replace it and theand views() methods with a single method:
    Map<ModuleId,View> views().  If not, remove it.

  - In ModuleInfo, is the views(String) method really necessary?  If not,
    remove it.

The implementation is fine for now, though as previously discussed we
need eventually to integrate views more deeply into the code so that it's
not necessary to have multiple copies of the same module-info file in a
library when a module has multiple views.

Finally, I see that the unit tests use wildcard exports ("exports y.*")
rather than plain package exports ("exports y").  Is this temporary,
waiting on related changes in javac?

- Mark



More information about the jigsaw-dev mailing list