blob: 228f98d3792732284038ded523dc5a1919a73e9e [file] [log] [blame]
<html>
<!--
NO NO NO NO NO!
==============> DO NOT EDIT ME! <======================
AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT
SEE xml/api/doc/changes/apichanges.xml
-->
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Java Support API changes by date</title>
<link rel="stylesheet" href="prose.css" type="text/css">
</head>
<body>
<p class="overviewlink">
<a href="overview-summary.html" shape="rect">Overview</a>
</p>
<h1>Introduction</h1>
<p>This document lists changes made to the Java Support APIs. Please ask on the
<code>dev@java.netbeans.org</code> or <code>nbdev@netbeans.org</code>
mailing list if you have any questions about the details of a
change, or are wondering how to convert existing code to be compatible.</p>
<hr>
<h1>
<a name="list-all-apis">Index of APIs</a>
</h1>
<ul>
<li>
<a href="#classpath">Classpath API</a>
</li>
<li>
<a href="#queries">Java-related queries</a>
</li>
</ul>
<h1>
<a name="incompat-by-date">Incompatible changes by date</a>
</h1>
<p>Fuller descriptions of all changes can be found below (follow links).</p>
<p>Not all deprecations are listed here, assuming that the deprecated
APIs continue to essentially work. For a full deprecation list, please
consult the
<a href="deprecated-list.html">Javadoc</a>.</p>
<ul>
<li>(Apr 10 '13) <a href="#JDK8-profiles-2">The <code>SourceLevelQuery</code> supports JDK 8 profiles</a>
</li>
<li>(Jun 5 '08) <a href="#classpath-api-module">Splitting the java API to independent ClassPath API and the rest of the java API</a>
</li>
<li>(Mar 1 '07) <a href="#includes-excludes.classpath">Support for specifying classpath inclusion</a>
</li>
<li>(Mar 16 '04) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li>
<li>(Dec 9 '02) <a href="#version-1.2">ClassPath.getClassPath is permitted to return null value</a>
</li>
</ul>
<h1>
<a name="all-by-date">All changes by date</a>
</h1>
<ul>
<li>(Oct 4 '16) <a href="#ModulePathsConstants">Added constants for module paths into the <code>JavaClassPathConstants</code></a>
</li>
<li>(Oct 4 '16) <a href="#AccessibilityQueryImplementation2">Added <code>AccessibilityQueryImplementation2</code> to allow to listen on package accessibility changes</a>
</li>
<li>(Oct 4 '16) <a href="#CompilerOptionsQuery">Added <code>CompilerOptionsQuery</code> for additional compiler options</a>
</li>
<li>(Jun 15 '15) <a href="#SourceLevelQuery-MINIMAL_SOURCE_LEVEL">Added <code>MINIMAL_SOURCE_LEVEL</code> into <code>SourceLevelQuery</code></a>
</li>
<li>(Jul 22 '13) <a href="#SourceJavadocAttacherImplementation-Definer">Added extension to the default SourceJavadocAttacherImplementation</a>
</li>
<li>(Apr 10 '13) <a href="#JDK8-profiles-2">The <code>SourceLevelQuery</code> supports JDK 8 profiles</a>
</li>
<li>(Mar 5 '13) <a href="#JDK8-profiles">The <code>SourceLevelQuery</code> supports JDK 8 profiles</a>
</li>
<li>(Jun 7 '12) <a href="#source-level-synonyms">The <code>SourceLevelQuery</code> supports source level synonyms</a>
</li>
<li>(May 23 '12) <a href="#java-classpath-compile-only">Introducing JavaClassPathConstants.COMPILE_ONLY</a>
</li>
<li>(Aug 11 '11) <a href="#source-javadoc-attacher">Added SourceJavadocAttacher to allow clients to attach source (javadoc) roots to binary root</a>
</li>
<li>(Jul 8 '10) <a href="#source-level-changes">Added notifications about source level changes into SourceLevelQuery</a>
</li>
<li>(Apr 15 '10) <a href="#ap-query-triggers">Introducing AnnotationProcessingQuery.Result.Trigger</a>
</li>
<li>(Mar 4 '10) <a href="#ap-query-processoroptions">Introducing AnnotationProcessingQuery.Result.processorOptions</a>
</li>
<li>(Jan 27 '10) <a href="#ap-query">Introducing AnnotationProcessingQuery</a>
</li>
<li>(Oct 18 '09) <a href="#java-classpath-processorpath">Introducing JavaClassPathConstants.PROCESSOR_PATH</a>
</li>
<li>(Jun 5 '08) <a href="#classpath-api-module">Splitting the java API to independent ClassPath API and the rest of the java API</a>
</li>
<li>(Mar 17 '08) <a href="#ClassPath.string">Interconversions with string-format classpaths</a>
</li>
<li>(Mar 13 '08) <a href="#queries-spi-support">Support for delegating SourceForBinaryQueryImplementation2</a>
</li>
<li>(Mar 10 '08) <a href="#source-for-binary-query2">Support for passing hint to the java infrastructure whether it should prefer source or binary</a>
</li>
<li>(Mar 1 '07) <a href="#includes-excludes.classpath">Support for specifying classpath inclusion</a>
</li>
<li>(Feb 8 '07) <a href="#BinaryForSourceQuery">BinaryForSourceQuery returns folder(s) containing binaries for source rooot</a>
</li>
<li>(Nov 8 '04) <a href="#UnitTestForSourceQuery.multiple">UnitTestForSourceQuery supports multiple source and test roots</a>
</li>
<li>(Apr 27 '04) <a href="#version-1.5">Added SourceLevelQuery</a>
</li>
<li>(Mar 16 '04) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li>
<li>(Mar 16 '04) <a href="#GlobalPathRegistry">Added <code>GlobalPathRegistry</code></a>
</li>
<li>(Mar 16 '04) <a href="#new-queries">Added several queries</a>
</li>
<li>(Feb 21 '03) <a href="#version-1.2.1">ClassPath.getClassLoader method added</a>
</li>
<li>(Dec 9 '02) <a href="#version-1.2">ClassPath.getClassPath is permitted to return null value</a>
</li>
</ul>
<h1>
<a name="all-by-version">Changes by version</a>
</h1>
<p>
These API specification versions may be used to indicate that a module
requires a certain API feature in order to function. For example, if you
see here a feature you need which is labelled <samp>1.20</samp>, your
manifest should contain in its main attributes the line:
</p>
<pre>OpenIDE-Module-Module-Dependencies: org.netbeans.api.java/1 &gt; 1.20</pre>
<ul>
<li>
(1.64) <a href="#ModulePathsConstants">Added constants for module paths into the <code>JavaClassPathConstants</code></a>
</li>
<li>
(1.64) <a href="#AccessibilityQueryImplementation2">Added <code>AccessibilityQueryImplementation2</code> to allow to listen on package accessibility changes</a>
</li>
<li>
(1.64) <a href="#CompilerOptionsQuery">Added <code>CompilerOptionsQuery</code> for additional compiler options</a>
</li>
<li>
(1.60) <a href="#SourceLevelQuery-MINIMAL_SOURCE_LEVEL">Added <code>MINIMAL_SOURCE_LEVEL</code> into <code>SourceLevelQuery</code></a>
</li>
<li>
(1.47) <a href="#SourceJavadocAttacherImplementation-Definer">Added extension to the default SourceJavadocAttacherImplementation</a>
</li>
<li>
(1.47) <a href="#JDK8-profiles-2">The <code>SourceLevelQuery</code> supports JDK 8 profiles</a>
</li>
<li>
(1.45) <a href="#JDK8-profiles">The <code>SourceLevelQuery</code> supports JDK 8 profiles</a>
</li>
<li>
(1.40) <a href="#source-level-synonyms">The <code>SourceLevelQuery</code> supports source level synonyms</a>
</li>
<li>
(1.39) <a href="#java-classpath-compile-only">Introducing JavaClassPathConstants.COMPILE_ONLY</a>
</li>
<li>
(1.35) <a href="#source-javadoc-attacher">Added SourceJavadocAttacher to allow clients to attach source (javadoc) roots to binary root</a>
</li>
<li>
(1.30) <a href="#source-level-changes">Added notifications about source level changes into SourceLevelQuery</a>
</li>
<li>
(1.28) <a href="#ap-query-triggers">Introducing AnnotationProcessingQuery.Result.Trigger</a>
</li>
<li>
(1.26) <a href="#ap-query-processoroptions">Introducing AnnotationProcessingQuery.Result.processorOptions</a>
</li>
<li>
(1.25) <a href="#ap-query">Introducing AnnotationProcessingQuery</a>
</li>
<li>
(1.22) <a href="#java-classpath-processorpath">Introducing JavaClassPathConstants.PROCESSOR_PATH</a>
</li>
<li>
(1.18) <a href="#classpath-api-module">Splitting the java API to independent ClassPath API and the rest of the java API</a>
</li>
<li>
(1.16) <a href="#queries-spi-support">Support for delegating SourceForBinaryQueryImplementation2</a>
</li>
<li>
(1.15) <a href="#ClassPath.string">Interconversions with string-format classpaths</a>
</li>
<li>
(1.15) <a href="#source-for-binary-query2">Support for passing hint to the java infrastructure whether it should prefer source or binary</a>
</li>
<li>
(1.13) <a href="#includes-excludes.classpath">Support for specifying classpath inclusion</a>
</li>
<li>
(1.12) <a href="#BinaryForSourceQuery">BinaryForSourceQuery returns folder(s) containing binaries for source rooot</a>
</li>
<li>
(1.7) <a href="#UnitTestForSourceQuery.multiple">UnitTestForSourceQuery supports multiple source and test roots</a>
</li>
<li>
(1.5) <a href="#version-1.5">Added SourceLevelQuery</a>
</li>
<li>
(1.4) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li>
<li>
(1.4) <a href="#GlobalPathRegistry">Added <code>GlobalPathRegistry</code></a>
</li>
<li>
(1.4) <a href="#new-queries">Added several queries</a>
</li>
<li>
(1.2.1) <a href="#version-1.2.1">ClassPath.getClassLoader method added</a>
</li>
<li>
(1.2) <a href="#version-1.2">ClassPath.getClassPath is permitted to return null value</a>
</li>
</ul>
<h1>
<a name="all-by-class">Changes by affected class</a>
</h1>
<h2>
<a name="org.netbeans.api.java.queries.AccessibilityQuery"><code><span style="color:gray">org.netbeans.api.java.queries.</span>AccessibilityQuery</code></a>
</h2><ul><li>(Oct 4 '16) <a href="#AccessibilityQueryImplementation2">Added <code>AccessibilityQueryImplementation2</code> to allow to listen on package accessibility changes</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.queries.AccessibilityQueryImplementation2"><code><span style="color:gray">org.netbeans.spi.java.queries.</span>AccessibilityQueryImplementation2</code></a>
</h2><ul><li>(Oct 4 '16) <a href="#AccessibilityQueryImplementation2">Added <code>AccessibilityQueryImplementation2</code> to allow to listen on package accessibility changes</a>
</li></ul><h2>
<a name="org.netbeans.api.java.queries.AnnotationProcessingQuery"><code><span style="color:gray">org.netbeans.api.java.queries.</span>AnnotationProcessingQuery</code></a>
</h2><ul><li>(Apr 15 '10) <a href="#ap-query-triggers">Introducing AnnotationProcessingQuery.Result.Trigger</a>
</li>
<li>(Mar 4 '10) <a href="#ap-query-processoroptions">Introducing AnnotationProcessingQuery.Result.processorOptions</a>
</li>
<li>(Jan 27 '10) <a href="#ap-query">Introducing AnnotationProcessingQuery</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.queries.AnnotationProcessingQueryImplementation"><code><span style="color:gray">org.netbeans.spi.java.queries.</span>AnnotationProcessingQueryImplementation</code></a>
</h2><ul><li>(Jan 27 '10) <a href="#ap-query">Introducing AnnotationProcessingQuery</a>
</li></ul><h2>
<a name="org.netbeans.api.java.queries.CompilerOptionsQuery"><code><span style="color:gray">org.netbeans.api.java.queries.</span>CompilerOptionsQuery</code></a>
</h2><ul><li>(Oct 4 '16) <a href="#CompilerOptionsQuery">Added <code>CompilerOptionsQuery</code> for additional compiler options</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.queries.CompilerOptionsQueryImplementation"><code><span style="color:gray">org.netbeans.spi.java.queries.</span>CompilerOptionsQueryImplementation</code></a>
</h2><ul><li>(Oct 4 '16) <a href="#CompilerOptionsQuery">Added <code>CompilerOptionsQuery</code> for additional compiler options</a>
</li></ul><h2>
<a name="org.netbeans.api.java.classpath.JavaClassPathConstants"><code><span style="color:gray">org.netbeans.api.java.classpath.</span>JavaClassPathConstants</code></a>
</h2><ul><li>(Oct 4 '16) <a href="#ModulePathsConstants">Added constants for module paths into the <code>JavaClassPathConstants</code></a>
</li>
<li>(May 23 '12) <a href="#java-classpath-compile-only">Introducing JavaClassPathConstants.COMPILE_ONLY</a>
</li>
<li>(Oct 18 '09) <a href="#java-classpath-processorpath">Introducing JavaClassPathConstants.PROCESSOR_PATH</a>
</li></ul><h2>
<a name="org.netbeans.api.java.queries.SourceJavadocAttacher"><code><span style="color:gray">org.netbeans.api.java.queries.</span>SourceJavadocAttacher</code></a>
</h2><ul><li>(Aug 11 '11) <a href="#source-javadoc-attacher">Added SourceJavadocAttacher to allow clients to attach source (javadoc) roots to binary root</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.queries.SourceJavadocAttacherImplementation"><code><span style="color:gray">org.netbeans.spi.java.queries.</span>SourceJavadocAttacherImplementation</code></a>
</h2><ul><li>(Aug 11 '11) <a href="#source-javadoc-attacher">Added SourceJavadocAttacher to allow clients to attach source (javadoc) roots to binary root</a>
</li></ul><h2>
<a name="org.netbeans.api.java.queries.SourceLevelQuery"><code><span style="color:gray">org.netbeans.api.java.queries.</span>SourceLevelQuery</code></a>
</h2><ul><li>(Jun 15 '15) <a href="#SourceLevelQuery-MINIMAL_SOURCE_LEVEL">Added <code>MINIMAL_SOURCE_LEVEL</code> into <code>SourceLevelQuery</code></a>
</li>
<li>(Jul 8 '10) <a href="#source-level-changes">Added notifications about source level changes into SourceLevelQuery</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.queries.SourceLevelQueryImplementation2"><code><span style="color:gray">org.netbeans.spi.java.queries.</span>SourceLevelQueryImplementation2</code></a>
</h2><ul><li>(Jul 8 '10) <a href="#source-level-changes">Added notifications about source level changes into SourceLevelQuery</a>
</li></ul><hr>
<h1>
<a name="details-by-api">Details of all changes by API and date</a>
</h1>
<hr style="width:50%">
<h2>
<a name="classpath">Classpath API</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="java-classpath-compile-only">Introducing JavaClassPathConstants.COMPILE_ONLY</a>
</h3>
<em>May 23 '12; API spec. version: 1.39; affected top-level classes: <a href="./org/netbeans/api/java/classpath/JavaClassPathConstants.html"><code>JavaClassPathConstants</code></a>; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=207717">
#207717</a></em>
<br>
<p>
Added a new <code>COMPILE_ONLY</code> classpath type allowing project types to add
classpath resources which should be included in the complile classpath but should not
be inherited by runtime classpath.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ap-query-triggers">Introducing AnnotationProcessingQuery.Result.Trigger</a>
</h3>
<em>Apr 15 '10; API spec. version: 1.28; affected top-level classes: <a href="./org/netbeans/api/java/queries/AnnotationProcessingQuery.html"><code>AnnotationProcessingQuery</code></a>; made by: dbalek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=183793">
#183793</a></em>
<br>
<p>Modifying AnnotationProcessingQuery.Result.annotationProcessingEnabled() to return a set of triggers on which the annotation processors should be run.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ap-query-processoroptions">Introducing AnnotationProcessingQuery.Result.processorOptions</a>
</h3>
<em>Mar 4 '10; API spec. version: 1.26; affected top-level classes: <a href="./org/netbeans/api/java/queries/AnnotationProcessingQuery.html"><code>AnnotationProcessingQuery</code></a>; made by: dbalek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=181421">
#181421</a></em>
<br>
<p>Adding AnnotationProcessingQuery.Result.processorOptions() to return options passed to annotation processors (-Akey=value).
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ap-query">Introducing AnnotationProcessingQuery</a>
</h3>
<em>Jan 27 '10; API spec. version: 1.25; affected top-level classes: <a href="./org/netbeans/api/java/queries/AnnotationProcessingQuery.html"><code>AnnotationProcessingQuery</code></a> <a href="./org/netbeans/spi/java/queries/AnnotationProcessingQueryImplementation.html"><code>AnnotationProcessingQueryImplementation</code></a>; made by: jlahoda; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=179749">
#179749</a></em>
<br>
<p>Adding AnnotationProcessingQuery return annotation processing options for a given file/folder.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="java-classpath-processorpath">Introducing JavaClassPathConstants.PROCESSOR_PATH</a>
</h3>
<em>Oct 18 '09; API spec. version: 1.22; affected top-level classes: <a href="./org/netbeans/api/java/classpath/JavaClassPathConstants.html"><code>JavaClassPathConstants</code></a>; made by: jlahoda; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=174202">
#174202</a></em>
<br>
<p>
Class org.netbeans.api.java.classpath.JavaClassPathConstants is created to hold java specific classpath constants.
org.netbeans.api.java.classpath.JavaClassPathConstants.PROCESSOR_PATH constant is created as a key
for Java processor path.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="classpath-api-module">Splitting the java API to independent ClassPath API and the rest of the java API</a>
</h3>
<em>Jun 5 '08; API spec. version: 1.18; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=136169">
#136169</a></em>
<br>
<p>
The copy of the ClassPath API was used by generic scripting framework, which cannot depend on the java cluster.
To remove this copy of the ClassPath API the java API needs to be splitted into the ClassPath API (IDE cluster)
and the rest of the java API (java cluster).
</p>
<br>
<em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ClassPath.string">Interconversions with string-format classpaths</a>
</h3>
<em>Mar 17 '08; API spec. version: 1.15; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=59311">
#59311</a></em>
<br>
<p>
<code>ClassPath.toString(PathConversionMode)</code> and
<code>ClassPathSupport.createClassPath(String)</code>
can be used to easily convert between traditional string classpaths
and NetBeans' internal representation.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="includes-excludes.classpath">Support for specifying classpath inclusion</a>
</h3>
<em>Mar 1 '07; API spec. version: 1.13; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=49026">
#49026</a></em>
<br>
<p>
Classpath implementations can now specify which files and folders/packages to include
or exclude. (This could be used for binary classpaths such as <code>COMPILE</code> but
currently only excludes on <code>SOURCE</code> paths are honored by Java language features.)
</p>
<br>
<strong>Compatibility: </strong>
<p>
It is possible for clients of existing <code>ClassPath</code> methods to have made
assumptions about their behavior that are no longer true.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</h3>
<em>Mar 16 '04; API spec. version: 1.4; made by: jglick</em>
<br>
<p>
<code>ClassPath</code> is now final, not abstract. (Not
incompatible, since the constructor was never public.) Same
for <code>ClassPath.Entry</code>.
</p>
<p>
<code>getClassPath</code> now looks for
<code>ClassPathProvider</code>s rather than delegating to the
filesystems mounted in <code>Repository</code>.
</p>
<p>
The classpath type <code>DEBUG</code> was deprecated.
<code>SOURCE</code> and <code>BOOT</code> were added.
</p>
<p>
<code>ClassPath.Entry.getURL()</code> was added.
</p>
<p>
There is a complete SPI for creating <code>ClassPath</code>
instances.
</p>
<br>
<strong>Compatibility: </strong>
<p>
Code which just called <code>ClassPath.getClassPath</code>
and so on as API clients should still be safe, <em>but</em>
passing null as a reference file no longer works.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="GlobalPathRegistry">Added <code>GlobalPathRegistry</code></a>
</h3>
<em>Mar 16 '04; API spec. version: 1.4; made by: jglick</em>
<br>
Added a new class <code>GlobalPathRegistry</code> to represent
classpaths of current interest, typically from open projects.
<br>
<strong>Compatibility: </strong>
<p>
Note that <code>GlobalPathRegistry</code> serves some of the
same functions as <code>Repository.default</code> used to,
but client code should be reviewed carefully for usage.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="version-1.2.1">ClassPath.getClassLoader method added</a>
</h3>
<em>Feb 21 '03; API spec. version: 1.2.1; made by: sdedic</em>
<br>
ClassPath.getClassLoader() method allows to get classloader capable of loading
classes from the ClassPath.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="version-1.2">ClassPath.getClassPath is permitted to return null value</a>
</h3>
<em>Dec 9 '02; API spec. version: 1.2; made by: sdedic</em>
<br>
ClassPath.getClassPath() documentation omitted the fact, that the method may
return <code>null</code>. Although the implementation functioned that way
from the beginning, it is considered an incompatible change (tightening of
the contract).
<hr style="width:50%">
<h2>
<a name="queries">Java-related queries</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ModulePathsConstants">Added constants for module paths into the <code>JavaClassPathConstants</code></a>
</h3>
<em>Oct 4 '16; API spec. version: 1.64; affected top-level classes: <a href="./org/netbeans/api/java/classpath/JavaClassPathConstants.html"><code>JavaClassPathConstants</code></a>; made by: tzezula</em>
<br>
<p>
Added constants for module paths into the <code>JavaClassPathConstants</code>.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="AccessibilityQueryImplementation2">Added <code>AccessibilityQueryImplementation2</code> to allow to listen on package accessibility changes</a>
</h3>
<em>Oct 4 '16; API spec. version: 1.64; affected top-level classes: <a href="./org/netbeans/api/java/queries/AccessibilityQuery.html"><code>AccessibilityQuery</code></a> <a href="./org/netbeans/spi/java/queries/AccessibilityQueryImplementation2.html"><code>AccessibilityQueryImplementation2</code></a>; made by: tzezula</em>
<br>
<p>
Added <code>AccessibilityQueryImplementation2</code> interface and <code>AccessibilityQuery.isPubliclyAccessible2</code> method
to allow to listen on package accessibility changes.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="CompilerOptionsQuery">Added <code>CompilerOptionsQuery</code> for additional compiler options</a>
</h3>
<em>Oct 4 '16; API spec. version: 1.64; affected top-level classes: <a href="./org/netbeans/api/java/queries/CompilerOptionsQuery.html"><code>CompilerOptionsQuery</code></a> <a href="./org/netbeans/spi/java/queries/CompilerOptionsQueryImplementation.html"><code>CompilerOptionsQueryImplementation</code></a>; made by: tzezula</em>
<br>
<p>
Added <code>CompilerOptionsQuery</code> for passing additional compiler options
to java infrastructure.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="SourceLevelQuery-MINIMAL_SOURCE_LEVEL">Added <code>MINIMAL_SOURCE_LEVEL</code> into <code>SourceLevelQuery</code></a>
</h3>
<em>Jun 15 '15; API spec. version: 1.60; affected top-level classes: <a href="./org/netbeans/api/java/queries/SourceLevelQuery.html"><code>SourceLevelQuery</code></a>; made by: tzezula</em>
<br>
<p>
Added the <code>MINIMAL_SOURCE_LEVEL</code> constant into the <code>SourceLevelQuery</code>
specifying the minimal supported source level.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="SourceJavadocAttacherImplementation-Definer">Added extension to the default SourceJavadocAttacherImplementation</a>
</h3>
<em>Jul 22 '13; API spec. version: 1.47; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=215971">
#215971</a></em>
<br>
<p>
Added <code>SourceJavadocAttacherImplementation.Definer</code> interface
allowing extending the default SourceJavadocAttacherImplementation.
Such an extension can download or locate the sources and javadoc for
given binary.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="JDK8-profiles-2">The <code>SourceLevelQuery</code> supports JDK 8 profiles</a>
</h3>
<em>Apr 10 '13; API spec. version: 1.47; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=228278">
#228278</a></em>
<br>
<p>
The JDK Profile was changed to enum type.
</p>
<br>
<strong>Compatibility: </strong>
Incompatible change of not released API.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="JDK8-profiles">The <code>SourceLevelQuery</code> supports JDK 8 profiles</a>
</h3>
<em>Mar 5 '13; API spec. version: 1.45; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=226657">
#226657</a></em>
<br>
<p>
The JDK 8 provides three limited profiles (compact1, compact2, compact3) in addition
to the full JDK. Each profile specifies a specific set of Java API packages and
contains all of the APIs of the smaller profile. The new API allows a client of the
<code>SourceLevelQuery</code> to query the required profile.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="source-level-synonyms">The <code>SourceLevelQuery</code> supports source level synonyms</a>
</h3>
<em>Jun 7 '12; API spec. version: 1.40; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=202329">
#202329</a></em>
<br>
<p>
The semantics of the <code>SourceLevelQuery</code>, <code>SourceLevelQueryImplementation</code>
and <code>SourceLevelQueryImplementation2</code> was extended to support source level synonyms.
The <code>SourceLevelQueryImplementation</code> and <code>SourceLevelQueryImplementation2</code>
can return source level synonyms, e.g. "5" for "1.5". These synonyms are always normalized
by the <code>SourceLevelQuery</code> before they are teturned to an API client.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="source-javadoc-attacher">Added SourceJavadocAttacher to allow clients to attach source (javadoc) roots to binary root</a>
</h3>
<em>Aug 11 '11; API spec. version: 1.35; affected top-level classes: <a href="./org/netbeans/api/java/queries/SourceJavadocAttacher.html"><code>SourceJavadocAttacher</code></a> <a href="./org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.html"><code>SourceJavadocAttacherImplementation</code></a>; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=200698">
#200698</a></em>
<br>
<p>
Added an API to allow clients to attach source roots and javadoc roots to binary roots.
The API delegates to SPI implementations which provide specific behavior depending on
type of binary root (platform, library, maven artifact). There is also fallback implementation
handling unknown binary roots by storing the bindings into IDE's userdir.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="source-level-changes">Added notifications about source level changes into SourceLevelQuery</a>
</h3>
<em>Jul 8 '10; API spec. version: 1.30; affected top-level classes: <a href="./org/netbeans/api/java/queries/SourceLevelQuery.html"><code>SourceLevelQuery</code></a> <a href="./org/netbeans/spi/java/queries/SourceLevelQueryImplementation2.html"><code>SourceLevelQueryImplementation2</code></a>; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=185031">
#185031</a></em>
<br>
<p>
The SourceLevelQuery did not allow listening on the source level changes. Such a
notifications are required by the annotation processor support and indexing.
This API change adds a SourceLevelQuery.getSourceLevel2 which returns a Result object
which allows listening like other queries.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="queries-spi-support">Support for delegating SourceForBinaryQueryImplementation2</a>
</h3>
<em>Mar 13 '08; API spec. version: 1.16; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=129884">
#129884</a></em>
<br>
<p>
Added support base class for SourceForBinaryQueryImplementation2 which delegates to other SourceForBinaryQueryImplementations.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="source-for-binary-query2">Support for passing hint to the java infrastructure whether it should prefer source or binary</a>
</h3>
<em>Mar 10 '08; API spec. version: 1.15; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=128695">
#128695</a></em>
<br>
<p>
It is possible for the SouceForBinaryQuery provider to specify whether the java module should prefer
sources or binaries. In general sources should be preferred for projects where user can make modification.
The binaries should be preferred for libraries and platforms where sources may not be complete or correct.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="BinaryForSourceQuery">BinaryForSourceQuery returns folder(s) containing binaries for source rooot</a>
</h3>
<em>Feb 8 '07; API spec. version: 1.12; made by: tzezula</em>
<br>
<p>
The new API BinaryForSourceQuery was added to allow clients to find out the output (class files)
corresponding to source root. The query uses instances of a SPI interface BinaryForSourceQueryImplementation
registered in the system lookup to find out the binaries. When no binary is found it uses the default algorithm
(SFBQ.findSources(ClassPath.EXECUTE) == sourceRoot)
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="UnitTestForSourceQuery.multiple">UnitTestForSourceQuery supports multiple source and test roots</a>
</h3>
<em>Nov 8 '04; API spec. version: 1.7; made by: tzezula</em>
<br>
<p>
Added two static methods, <code>findSources(FileObject)</code> and <code>findUnitTests(FileObject)</code>,
into <code>UnitTestForSourceQuery</code>. Added a new SPI interface
<code>MultipleRootsUnitTestForSourceQueryImplementation</code> which allows to a project type to return
more than one source/test root.
The change was required to allow support of multiple source and test roots.
</p>
<br>
<strong>Compatibility: </strong>
Compatibility with the old API and SPI is provided.
Both versions of SPI interfaces are used by the API; a project type may still implement the
deprecated <code>UnitTestForSourceQueryImplementation</code> rather than
<code>MultipleRootsUnitTestForSourceQueryImplementation</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="version-1.5">Added SourceLevelQuery</a>
</h3>
<em>Apr 27 '04; API spec. version: 1.5; made by: dkonecny</em>
<br>
<p>
Added query answering the source level of a Java file.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="new-queries">Added several queries</a>
</h3>
<em>Mar 16 '04; API spec. version: 1.4; made by: jglick</em>
<br>
<p>
Several new queries were added (API and SPI) to represent
various aspects of Java sources.
</p>
<hr>
<p><span class="footnote">Built on September 14 2018.&nbsp;&nbsp;|&nbsp;&nbsp; Copyright &#169; 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p>
</body>
</html>