Requires, Exports, and Provides
Tim Ellison
Tim_Ellison at uk.ibm.com
Fri Nov 27 10:21:51 UTC 2015
Hello Paul,
Being explicit would help if there were any ambiguity about the
declaration, and I'm not convinced that adding the additional syntax would
be helpful here.
In particular, the current pattern, e.g. "exports java.sql;" fits with the
existing syntax for an import statement. That is, we write
import java.sql.Timestamp;
or
import java.sql.*;
and not "import class" and "import package"
As for the service provider, I guess it is a matter of taste, but I'm
comfortable that the service interface is more prominent than the
implementation type.
Regards,
Tim
Paul Benedict <pbenedict at apache.org> wrote on 25/11/2015 22:48:42:
> Dear EG members, are you still refining syntax? If so, I would like you
to
> consider making the keywords a bit more explicit regarding "requires",
> "exports", and "provides/uses" by adding "module", "package", and
"class"
> respectively.
>
> Personally, I find the explicitness to be much more instantly readable.
> WDYT?
>
> module java.sql {
> requires module java.logging;
> requires module java.xml;
> exports package java.sql;
> exports package javax.sql;
> exports package javax.transaction.xa;
> provides class java.sql.Driver with com.mysql.jdbc.Driver;
> }
>
> module java.base {
> ...
> exports package to
> module java.corba,
> module java.logging,
> module java.sql,
> module java.sql.rowset,
> module jdk.scripting.nashorn;
> }
>
> I also think you could replace "with" with "for" if you flip the
ordering:
> provides class com.mysql.jdbc.Driver for java.sql.Driver;
>
> Cheers,
> Paul
>
More information about the jpms-spec-comments
mailing list