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

Reply via email to