<br><font size=2 face="sans-serif">Hi Bryan</font>
<br>
<br><font size=2 face="sans-serif">Your proposal has considerable benefits.
Do you have a feel for its acceptability to the JSR 294 Expert Group? I
don't think we've discussed it (properly) over there.</font>
<br><font size=2 face="sans-serif"><br>
Glyn</font>
<br>
<br><font size=1 face="sans-serif"><b>Bryan Atsatt &lt;bryan.atsatt@ORACLE.COM&gt;</b></font><tt><font size=2>
wrote on 18/05/2007 03:01:09:<br>
<br>
&gt; I am assuming that in this scenario the module developer would be<br>
&gt; allowed to make this explicit in the superpackage declaration itself.<br>
&gt; That is, superpackage member declarations could include packages from<br>
&gt; the &quot;legacy&quot; jars. 294 simply has to allow declared member
packages to<br>
&gt; be AWOL at compile time.<br>
&gt; <br>
&gt; BTW: The proposal I referred to earlier assumes that the runtime<br>
&gt; artifact of a superpackage (e.g. a SuperPackage class instance) is<br>
&gt; *assigned* to each class during ClassLoader.defineClass(). This<br>
&gt; decouples the superpackage and class file artifacts while solving
the<br>
&gt; superpackage &quot;loading&quot; problem for the VM. It obviously
makes it trivial<br>
&gt; for &quot;legacy&quot; classes to be assigned into a superpackage
as they are<br>
&gt; defined. (It also makes it possible to extend the superpackage at<br>
&gt; runtime, but that may be going too far.)<br>
&gt; <br>
&gt; // Bryan<br>
&gt; <br>
&gt; Stanley M. Ho wrote:<br>
&gt; &gt; Regardless, I think we still need to distinguish whether the
legacy classes<br>
&gt; &gt; should be considered module private (use case #1) or made visible
externally<br>
&gt; &gt; (use case #2). I don't think we can really know the developer's
intent by<br>
&gt; &gt; looking at the legacy classes alone. Even if rewriting is involved,
we still<br>
&gt; &gt; need to distinguish these cases in order to have the proper export<br>
&gt; &gt; information in the superpackage.<br>
&gt; &gt;<br>
&gt; &gt; - Stanley<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Wed, 16 May 2007 14:17:54 -0700, Michal Cierniak <br>
&gt; &lt;cierniak@GOOGLE.COM&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; I would like to add that even if superpackage classes do
name their<br>
&gt; &gt;&gt; superpackage in the new world, it wouldn't be difficult to
require the<br>
&gt; &gt;&gt; JRE to &quot;rewrite&quot; legacy classes on the fly if they
are loaded from a<br>
&gt; &gt;&gt; JAR embedded in a JAM. &nbsp;In that case, the legacy classes
would end up<br>
&gt; &gt;&gt; being members of the superpackage associated with the containing
JAM.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; We might run into other problems because legacy classes do
not<br>
&gt; &gt;&gt; necessarily play by the rules of the new module-aware world
but this<br>
&gt; &gt;&gt; is independent of whether we rewrite them to add superpackage<br>
&gt; &gt;&gt; membership info.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Michal<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On 5/16/07, Bryan Atsatt &lt;bryan.atsatt@oracle.com&gt;
wrote:<br>
&gt; &gt;&gt;&gt; While the current strawman suggests that superpackage
classes will have<br>
&gt; &gt;&gt;&gt; modified class files (e.g. naming their superpackage),
there is a<br>
&gt; &gt;&gt;&gt; proposal on the table that eliminates this requirement.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; If eliminated, the only requirement to include &quot;legacy&quot;
classes in a<br>
&gt; &gt;&gt;&gt; superpackage will be to have the superpackage artifact
present. In a 277<br>
&gt; &gt;&gt;&gt; module, any mixture of new and &quot;legacy&quot; classes
(likely in separate<br>
&gt; &gt;&gt;&gt; jars) could then fall under the umbrella superpackage.
And this whole<br>
&gt; &gt;&gt;&gt; issue is eliminated...<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; // Bryan<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;<br>
</font></tt><font size=3 face="sans-serif"><br>
</font>
<br><font size=3 face="sans-serif"><br>
</font>
<hr><font size=2 face="sans-serif"><br>
<i><br>
</i></font>
<p><font size=2 face="sans-serif"><i>Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU</i></font>
<p><font size=2 face="sans-serif"><br>
</font><font size=3 face="sans-serif"><br>
</font>
<br>
<br><font size=3 face="sans-serif"><br>
</font>