Hi Martin,
On 2/22/2013 6:06 AM, Martin Buchholz wrote:
On Thu, Feb 21, 2013 at 6:16 PM, Joe Darcy <joe.da...@oracle.com
<mailto:joe.da...@oracle.com>> wrote:
However, the com.sun.* subpackages are a mix of APIs that are
supported as described above as well as APIs that are not supported.
I was under the impression that the general rule was that all of
com.sun.* fell under the "jdk supported" umbrella, and the level of
support was the distinction between sun.com.* and sun.* .
Alan has previously replied on the varied supported-ness found in com.sun.*.
In any case, it would be good if there was a single canonical place
that documented the various levels of support with subtle
distinctions, including java.* vs. javax.*, endorsed standards,
com.sun.* vs. sun.* vs. jdk.*, and recommendations for where
non-Oracle vendor extensions should go. Is the jdk.Supported
annotation itself part of Java SE?
No, the jdk.Supported annotation type is part of the JDK (currently
living in the langtools repo):
http://hg.openjdk.java.net/jdk8/jdk8/langtools/file/56dfafbb9e1a/src/share/classes/jdk/Supported.java
As you can see, the jdk.Supported type itself has a @jdk.Supported
annotation :-)
Should third-party vendor extensions that are "supported" for public
use by the third-party use jdk.Supported?
No; as I envision it, the jdk.Supported annotation is only meant to
convey supported-ness in the JDK of parts of the JDK.
What about the X's in hotspot flags and the java tools command line
interfaces?
The policy around command line interfaces is unchanged; the interfaces
are mostly stable, but the more X's are in a flags name, the less stable
it can be.
-Joe