blob: 52645a365f901e6b8b2f621d0e72c2c8f7a0cf52 [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>ClassPath 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 ClassPath 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">Source for binary and binary for source 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>(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="#MultiplexClassPath">Added a <code>ClassPath</code> switching among several <code>ClassPath</code> instances</a>
</li>
<li>(Jun 2 '15) <a href="#PathEmbeddingMode">Added a policy for handling in archive paths</a>
</li>
<li>(Oct 31 '14) <a href="#GlobalPathRegistryImplementation">Added a SPI interface to allow different implementations of <code>GlobalPathRegistry</code></a>
</li>
<li>(Aug 21 '14) <a href="#ClassPath.getFlags">Added ClassPath flags</a>
</li>
<li>(Feb 5 '10) <a href="#ClassPath.EMPTY">Added a constant representing an empty ClassPath</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>(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>(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.classpath/1 &gt; 1.20</pre>
<ul>
<li>
(1.54) <a href="#MultiplexClassPath">Added a <code>ClassPath</code> switching among several <code>ClassPath</code> instances</a>
</li>
<li>
(1.52) <a href="#PathEmbeddingMode">Added a policy for handling in archive paths</a>
</li>
<li>
(1.48) <a href="#GlobalPathRegistryImplementation">Added a SPI interface to allow different implementations of <code>GlobalPathRegistry</code></a>
</li>
<li>
(1.44) <a href="#ClassPath.getFlags">Added ClassPath flags</a>
</li>
<li>
(1.24) <a href="#ClassPath.EMPTY">Added a constant representing an empty ClassPath</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.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.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.BinaryForSourceQuery"><code><span style="color:gray">org.netbeans.api.java.queries.</span>BinaryForSourceQuery</code></a>
</h2><ul><li>(Feb 8 '07) <a href="#BinaryForSourceQuery">BinaryForSourceQuery returns folder(s) containing binaries for source rooot</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.queries.BinaryForSourceQueryImplementation"><code><span style="color:gray">org.netbeans.spi.java.queries.</span>BinaryForSourceQueryImplementation</code></a>
</h2><ul><li>(Feb 8 '07) <a href="#BinaryForSourceQuery">BinaryForSourceQuery returns folder(s) containing binaries for source rooot</a>
</li></ul><h2>
<a name="org.netbeans.api.java.classpath.ClassPath"><code><span style="color:gray">org.netbeans.api.java.classpath.</span>ClassPath</code></a>
</h2><ul><li>(Jun 2 '15) <a href="#PathEmbeddingMode">Added a policy for handling in archive paths</a>
</li>
<li>(Aug 21 '14) <a href="#ClassPath.getFlags">Added ClassPath flags</a>
</li>
<li>(Mar 17 '08) <a href="#ClassPath.string">Interconversions with string-format classpaths</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></ul><h2>
<a name="org.netbeans.spi.java.classpath.ClassPathFactory"><code><span style="color:gray">org.netbeans.spi.java.classpath.</span>ClassPathFactory</code></a>
</h2><ul><li>(Mar 16 '04) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.classpath.ClassPathImplementation"><code><span style="color:gray">org.netbeans.spi.java.classpath.</span>ClassPathImplementation</code></a>
</h2><ul><li>(Mar 16 '04) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.classpath.ClassPathProvider"><code><span style="color:gray">org.netbeans.spi.java.classpath.</span>ClassPathProvider</code></a>
</h2><ul><li>(Mar 16 '04) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.classpath.support.ClassPathSupport"><code><span style="color:gray">org.netbeans.spi.java.classpath.support.</span>ClassPathSupport</code></a>
</h2><ul><li>(Oct 4 '16) <a href="#MultiplexClassPath">Added a <code>ClassPath</code> switching among several <code>ClassPath</code> instances</a>
</li>
<li>(Mar 17 '08) <a href="#ClassPath.string">Interconversions with string-format classpaths</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></ul><h2>
<a name="org.netbeans.spi.java.classpath.support.CompositePathResourceBase"><code><span style="color:gray">org.netbeans.spi.java.classpath.support.</span>CompositePathResourceBase</code></a>
</h2><ul><li>(Mar 16 '04) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.classpath.FilteringPathResourceImplementation"><code><span style="color:gray">org.netbeans.spi.java.classpath.</span>FilteringPathResourceImplementation</code></a>
</h2><ul><li>(Mar 1 '07) <a href="#includes-excludes.classpath">Support for specifying classpath inclusion</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.classpath.FlaggedClassPathImplementation"><code><span style="color:gray">org.netbeans.spi.java.classpath.</span>FlaggedClassPathImplementation</code></a>
</h2><ul><li>(Aug 21 '14) <a href="#ClassPath.getFlags">Added ClassPath flags</a>
</li></ul><h2>
<a name="org.netbeans.api.java.classpath.GlobalPathRegistry"><code><span style="color:gray">org.netbeans.api.java.classpath.</span>GlobalPathRegistry</code></a>
</h2><ul><li>(Mar 16 '04) <a href="#GlobalPathRegistry">Added <code>GlobalPathRegistry</code></a>
</li></ul><h2>
<a name="org.netbeans.spi.java.classpath.GlobalPathRegistryImplementation"><code><span style="color:gray">org.netbeans.spi.java.classpath.</span>GlobalPathRegistryImplementation</code></a>
</h2><ul><li>(Oct 31 '14) <a href="#GlobalPathRegistryImplementation">Added a SPI interface to allow different implementations of <code>GlobalPathRegistry</code></a>
</li></ul><h2>
<a name="org.netbeans.spi.java.classpath.support.PathResourceBase"><code><span style="color:gray">org.netbeans.spi.java.classpath.support.</span>PathResourceBase</code></a>
</h2><ul><li>(Mar 16 '04) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.classpath.PathResourceImplementation"><code><span style="color:gray">org.netbeans.spi.java.classpath.</span>PathResourceImplementation</code></a>
</h2><ul><li>(Mar 16 '04) <a href="#ClassPath.buildsys"><code>ClassPath</code> API changed to be pluggable and better support build system</a>
</li></ul><h2>
<a name="org.netbeans.api.java.queries.SourceForBinaryQuery"><code><span style="color:gray">org.netbeans.api.java.queries.</span>SourceForBinaryQuery</code></a>
</h2><ul><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></ul><h2>
<a name="org.netbeans.spi.java.queries.support.SourceForBinaryQueryImpl2Base"><code><span style="color:gray">org.netbeans.spi.java.queries.support.</span>SourceForBinaryQueryImpl2Base</code></a>
</h2><ul><li>(Mar 13 '08) <a href="#queries-spi-support">Support for delegating SourceForBinaryQueryImplementation2</a>
</li></ul><h2>
<a name="org.netbeans.spi.java.queries.SourceForBinaryQueryImplementation2"><code><span style="color:gray">org.netbeans.spi.java.queries.</span>SourceForBinaryQueryImplementation2</code></a>
</h2><ul><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></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="MultiplexClassPath">Added a <code>ClassPath</code> switching among several <code>ClassPath</code> instances</a>
</h3>
<em>Oct 4 '16; API spec. version: 1.54; affected top-level classes: <a href="./org/netbeans/spi/java/classpath/support/ClassPathSupport.html"><code>ClassPathSupport</code></a>; made by: tzezula</em>
<br>
<p>
Added a factory method into <code>ClassPathSupport</code> creating a <code>ClassPath</code>
switching among several <code>ClassPath</code> instances.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="PathEmbeddingMode">Added a policy for handling in archive paths</a>
</h3>
<em>Jun 2 '15; API spec. version: 1.52; affected top-level classes: <a href="./org/netbeans/api/java/classpath/ClassPath.html"><code>ClassPath</code></a>; made by: tzezula</em>
<br>
<p>
Added a policy for handling in archive paths while converting the <code>ClassPath</code> to <code>String</code>.
The <code>ClassPath.toString</code> takes a <code>PathEmbeddingMode</code> parameter determining how the in archive
path is handled. It can be included into stringified root, omitted from it, or handled as an invalid classpath root.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="GlobalPathRegistryImplementation">Added a SPI interface to allow different implementations of <code>GlobalPathRegistry</code></a>
</h3>
<em>Oct 31 '14; API spec. version: 1.48; affected top-level classes: <a href="./org/netbeans/spi/java/classpath/GlobalPathRegistryImplementation.html"><code>GlobalPathRegistryImplementation</code></a>; made by: tzezula</em>
<br>
<p>
Added a SPI interface to allow different implementations of the <code>GlobalPathRegistry</code>.
The <code>GlobalPathRegistry</code> uses the first instance od the <code>GlobalPathRegistryImplementation</code>
registered in the global <code>Lookup</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ClassPath.getFlags">Added ClassPath flags</a>
</h3>
<em>Aug 21 '14; API spec. version: 1.44; affected top-level classes: <a href="./org/netbeans/api/java/classpath/ClassPath.html"><code>ClassPath</code></a> <a href="./org/netbeans/spi/java/classpath/FlaggedClassPathImplementation.html"><code>FlaggedClassPathImplementation</code></a>; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=245155">
#245155</a></em>
<br>
<p>
Added flags to <code>ClassPath</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ClassPath.EMPTY">Added a constant representing an empty ClassPath</a>
</h3>
<em>Feb 5 '10; API spec. version: 1.24; made by: tzezula; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=179799">
#179799</a></em>
<br>
<p>
Added a constant representing an empty ClassPath like java.util.Collections.EMPTY_LIST.
This ClassPath has no entries and never fires any events.
</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; affected top-level classes: <a href="./org/netbeans/api/java/classpath/ClassPath.html"><code>ClassPath</code></a> <a href="./org/netbeans/spi/java/classpath/support/ClassPathSupport.html"><code>ClassPathSupport</code></a>; 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; affected top-level classes: <a href="./org/netbeans/api/java/classpath/ClassPath.html"><code>ClassPath</code></a> <a href="./org/netbeans/spi/java/classpath/FilteringPathResourceImplementation.html"><code>FilteringPathResourceImplementation</code></a>; 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; affected top-level classes: <a href="./org/netbeans/api/java/classpath/ClassPath.html"><code>ClassPath</code></a> <a href="./org/netbeans/spi/java/classpath/ClassPathProvider.html"><code>ClassPathProvider</code></a> <a href="./org/netbeans/spi/java/classpath/ClassPathFactory.html"><code>ClassPathFactory</code></a> <a href="./org/netbeans/spi/java/classpath/ClassPathImplementation.html"><code>ClassPathImplementation</code></a> <a href="./org/netbeans/spi/java/classpath/PathResourceImplementation.html"><code>PathResourceImplementation</code></a> <a href="./org/netbeans/spi/java/classpath/support/ClassPathSupport.html"><code>ClassPathSupport</code></a> <a href="./org/netbeans/spi/java/classpath/support/CompositePathResourceBase.html"><code>CompositePathResourceBase</code></a> <a href="./org/netbeans/spi/java/classpath/support/PathResourceBase.html"><code>PathResourceBase</code></a>; 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; affected top-level classes: <a href="./org/netbeans/api/java/classpath/GlobalPathRegistry.html"><code>GlobalPathRegistry</code></a>; 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">Source for binary and binary for source queries</a>
</h2>
<!-- 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; affected top-level classes: <a href="./org/netbeans/spi/java/queries/support/SourceForBinaryQueryImpl2Base.html"><code>SourceForBinaryQueryImpl2Base</code></a>; 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; affected top-level classes: <a href="./org/netbeans/api/java/queries/SourceForBinaryQuery.html"><code>SourceForBinaryQuery</code></a> <a href="./org/netbeans/spi/java/queries/SourceForBinaryQueryImplementation2.html"><code>SourceForBinaryQueryImplementation2</code></a>; 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; affected top-level classes: <a href="./org/netbeans/api/java/queries/BinaryForSourceQuery.html"><code>BinaryForSourceQuery</code></a> <a href="./org/netbeans/spi/java/queries/BinaryForSourceQueryImplementation.html"><code>BinaryForSourceQueryImplementation</code></a>; 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>
<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>