blob: a7b661af3b9217a2e265b5a05fc7111f577b835b [file] [log] [blame]
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Change History for the SendOpts API and SPI</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>
<h2>What do the Dates Mean?</h2>
<p>The supplied dates indicate when the API change was made, on the CVS
trunk. From this you can generally tell whether the change should be
present in a given build or not; for trunk builds, simply whether it
was made before or after the change; for builds on a stabilization
branch, whether the branch was made before or after the given date. In
some cases corresponding API changes have been made both in the trunk
and in an in-progress stabilization branch, if they were needed for a
bug fix; this ought to be marked in this list.</p>
<hr>
<h1>
<a name="list-all-apis">Index of APIs</a>
</h1>
<ul>
<li>
<a href="#sendoptsapi">SendOpts API</a>
</li>
<li>
<a href="#sendoptsspi">SendOpts SPI</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>(Aug 20 '06) <a href="#completerewrite">Completelly rewritten</a>
</li>
</ul>
<h1>
<a name="all-by-date">All changes by date</a>
</h1>
<ul>
<li>(Mar 23 '17) <a href="#instances">Command line with instances</a>
</li>
<li>(Mar 21 '17) <a href="#usage-into">Print Usage into Caller's Stream</a>
</li>
<li>(Mar 21 '17) <a href="#explicit-options-processor">Explictly specify option processors</a>
</li>
<li>(Mar 18 '12) <a href="#own-hep">Easier way to process own <code>--help</code> request</a>
</li>
<li>(Dec 31 '11) <a href="#declarative-options">@Arg annotation</a>
</li>
<li>(Jul 30 '07) <a href="#always">An option that is always on</a>
</li>
<li>(Aug 20 '06) <a href="#completerewrite">Completelly rewritten</a>
</li>
<li>(Mar 18 '06) <a href="#shortdescription">Use short description for each Option</a>
</li>
<li>(Mar 18 '06) <a href="#localizederrors">Command exceptions can have localized messages</a>
</li>
<li>(Mar 15 '06) <a href="#printusage">Using PrintStream</a>
</li>
<li>(Feb 26 '06) <a href="#printstream">Using PrintStream</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: $codebase &gt; 1.20</pre>
<ul>
<li>
(2.37) <a href="#instances">Command line with instances</a>
</li>
<li>
(2.37) <a href="#usage-into">Print Usage into Caller's Stream</a>
</li>
<li>
(2.37) <a href="#explicit-options-processor">Explictly specify option processors</a>
</li>
<li>
(2.21) <a href="#own-hep">Easier way to process own <code>--help</code> request</a>
</li>
<li>
(2.20) <a href="#declarative-options">@Arg annotation</a>
</li>
<li>
(2.1) <a href="#always">An option that is always on</a>
</li>
<li>
(2.0) <a href="#completerewrite">Completelly rewritten</a>
</li>
<li>
(1.8) <a href="#shortdescription">Use short description for each Option</a>
</li>
<li>
(1.8) <a href="#localizederrors">Command exceptions can have localized messages</a>
</li>
<li>
(1.7) <a href="#printusage">Using PrintStream</a>
</li>
<li>
(1.4) <a href="#printstream">Using PrintStream</a>
</li>
</ul>
<h1>
<a name="all-by-class">Changes by affected class</a>
</h1>
<h2>
<a name="org.netbeans.spi.sendopts.Arg"><code><span style="color:gray">org.netbeans.spi.sendopts.</span>Arg</code></a>
</h2><ul><li>(Dec 31 '11) <a href="#declarative-options">@Arg annotation</a>
</li></ul><h2>
<a name="org.netbeans.spi.sendopts.ArgsProcessor"><code><span style="color:gray">org.netbeans.spi.sendopts.</span>ArgsProcessor</code></a>
</h2><ul><li>(Dec 31 '11) <a href="#declarative-options">@Arg annotation</a>
</li></ul><h2>
<a name="org.netbeans.api.sendopts.CommandException"><code><span style="color:gray">org.netbeans.api.sendopts.</span>CommandException</code></a>
</h2><ul><li>(Mar 18 '06) <a href="#localizederrors">Command exceptions can have localized messages</a>
</li></ul><h2>
<a name="org.netbeans.api.sendopts.CommandLine"><code><span style="color:gray">org.netbeans.api.sendopts.</span>CommandLine</code></a>
</h2><ul><li>(Mar 23 '17) <a href="#instances">Command line with instances</a>
</li>
<li>(Mar 21 '17) <a href="#explicit-options-processor">Explictly specify option processors</a>
</li>
<li>(Dec 31 '11) <a href="#declarative-options">@Arg annotation</a>
</li>
<li>(Mar 15 '06) <a href="#printusage">Using PrintStream</a>
</li></ul><h2>
<a name="org.netbeans.spi.sendopts.Env"><code><span style="color:gray">org.netbeans.spi.sendopts.</span>Env</code></a>
</h2><ul><li>(Mar 21 '17) <a href="#usage-into">Print Usage into Caller's Stream</a>
</li>
<li>(Mar 18 '12) <a href="#own-hep">Easier way to process own <code>--help</code> request</a>
</li>
<li>(Feb 26 '06) <a href="#printstream">Using PrintStream</a>
</li></ul><h2>
<a name="org.netbeans.spi.sendopts.Option"><code><span style="color:gray">org.netbeans.spi.sendopts.</span>Option</code></a>
</h2><ul><li>(Mar 18 '06) <a href="#shortdescription">Use short description for each Option</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="sendoptsapi">SendOpts API</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="instances">Command line with instances</a>
</h3>
<em>Mar 23 '17; API spec. version: 2.37; affected top-level classes: <a href="./org/netbeans/api/sendopts/CommandLine.html"><code>CommandLine</code></a>; made by: jtulach</em>
<br>
<a href="org/netbeans/api/sendopts/CommandLine.html#create-java.lang.Object...-" shape="rect">Create</a>
command line with instances of
<a href="org/netbeans/spi/sendopts/OptionProcessor.html" shape="rect">OptionProcessor</a>
and
<a href="org/netbeans/spi/sendopts/ArgsProcessor.html" shape="rect">ArgsProcessor</a>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="localizederrors">Command exceptions can have localized messages</a>
</h3>
<em>Mar 18 '06; API spec. version: 1.8; affected top-level classes: <a href="./org/netbeans/api/sendopts/CommandException.html"><code>CommandException</code></a>; made by: jtulach</em>
<br>
There is a new factory method in <code>CommandException</code>
that can influence the localized message which is then printed
to the user as a description of the error.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="printusage">Using PrintStream</a>
</h3>
<em>Mar 15 '06; API spec. version: 1.7; affected top-level classes: <a href="./org/netbeans/api/sendopts/CommandLine.html"><code>CommandLine</code></a>; made by: jtulach</em>
<br>
There is new method <a href="org/netbeans/api/sendopts/CommandLine.html#usage-java.io.PrintWriter-" shape="rect">usage</a>
that
allows to print description of all available options in the command
line.
<hr style="width:50%">
<h2>
<a name="sendoptsspi">SendOpts SPI</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="usage-into">Print Usage into Caller's Stream</a>
</h3>
<em>Mar 21 '17; API spec. version: 2.37; affected top-level classes: <a href="./org/netbeans/spi/sendopts/Env.html"><code>Env</code></a>; made by: jtulach</em>
<br>
<a href="org/netbeans/spi/sendopts/Env.html#usage-java.io.OutputStream-" shape="rect">Env.usage</a>
method now takes an optional <code>OutputStream</code> parameter.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="explicit-options-processor">Explictly specify option processors</a>
</h3>
<em>Mar 21 '17; API spec. version: 2.37; affected top-level classes: <a href="./org/netbeans/api/sendopts/CommandLine.html"><code>CommandLine</code></a>; made by: jtulach</em>
<br>
<a href="org/netbeans/api/sendopts/CommandLine.html#create-java.lang.Class...-" shape="rect">CommandLine.html.create(Class...)</a>
can now be called with classes that extend
<a href="org/netbeans/spi/sendopts/OptionProcessor.html" shape="rect">OptionProcessor</a>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="own-hep">Easier way to process own <code>--help</code> request</a>
</h3>
<em>Mar 18 '12; API spec. version: 2.21; affected top-level classes: <a href="./org/netbeans/spi/sendopts/Env.html"><code>Env</code></a>; made by: jtulach</em>
<br>
<a href="org/netbeans/spi/sendopts/Env.html#usage--" shape="rect">Env.usage</a>
can be called when one wants to process own <code>--help</code> option.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="declarative-options">@Arg annotation</a>
</h3>
<em>Dec 31 '11; API spec. version: 2.20; affected top-level classes: <a href="./org/netbeans/spi/sendopts/Arg.html"><code>Arg</code></a> <a href="./org/netbeans/spi/sendopts/ArgsProcessor.html"><code>ArgsProcessor</code></a> <a href="./org/netbeans/api/sendopts/CommandLine.html"><code>CommandLine</code></a>; made by: jtulach</em>
<br>
<a href="org/netbeans/spi/sendopts/Arg.html" shape="rect">@Arg</a> annotation
and associated classes allow to register options declaratively. There
is a new <a href="org/netbeans/api/sendopts/CommandLine.html#create-java.lang.Class...-" shape="rect">
factory method
</a> to create multiple instances of differently configured
<a href="org/netbeans/api/sendopts/CommandLine.html" shape="rect">command lines</a>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="always">An option that is always on</a>
</h3>
<em>Jul 30 '07; API spec. version: 2.1; made by: jtulach</em>
<br>
Those processors that wish to be informed about every command line
processing, can register themselves as providers of
<a href="org/netbeans/spi/sendopts/Option.html#always--" shape="rect">always</a>
option. This one is automatically present in each successfully parsed
command line.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="completerewrite">Completelly rewritten</a>
</h3>
<em>Aug 20 '06; API spec. version: 2.0; made by: jtulach</em>
<br>
After the <a href="http://www.netbeans.org/issues/show_bug.cgi?id=57611" shape="rect">review from others</a>
it has been decided to de-generify the interfaces. As a result
of this complete rewrite, the API clients need to be fully
rewritten as most of the method signatures changed.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="shortdescription">Use short description for each Option</a>
</h3>
<em>Mar 18 '06; API spec. version: 1.8; affected top-level classes: <a href="./org/netbeans/spi/sendopts/Option.html"><code>Option</code></a>; made by: jtulach</em>
<br>
Use <code>Option.shortDescription</code> to associate a one-liner
text with an option. This description will be printed when showing
usage for the command line.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="printstream">Using PrintStream</a>
</h3>
<em>Feb 26 '06; API spec. version: 1.4; affected top-level classes: <a href="./org/netbeans/spi/sendopts/Env.html"><code>Env</code></a>; made by: jtulach</em>
<br>
<code>Env.getErrorStream()</code> and <code>Env.getOutputStream()</code>
return <code>PrintStream</code>.
<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>