blob: a78d8f1866f8f37b60d25c0cf2043bf4454048ac [file] [log] [blame]
<html>
<!--
NO NO NO NO NO!
==============> DO NOT EDIT ME! <======================
AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT
SEE openidex/api/apichanges.xml
-->
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Change History for the Search API</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 <code>Search API</code>.
</p>
<!-- The actual lists of changes, as summaries and details: -->
<hr>
<h1>
<a name="list-all-apis">Index of APIs</a>
</h1>
<ul>
<li>
<a href="#search">Search API</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></ul>
<h1>
<a name="all-by-date">All changes by date</a>
</h1>
<ul>
<li>(Sep 2 '11) <a href="#SearchGroup.onStopSearch">Added method <code>SearchGroup.onStopSearch</code></a>
</li>
<li>(Jan 13 '09) <a href="#SearchUtils">Added utility class <code>Utils</code></a>
</li>
<li>(Jan 13 '09) <a href="#SearchInfo.Files">Added interface <code>SearchInfo.Files</code></a>
</li>
<li>(Jun 10 '07) <a href="#SearchInfoFactory.createCompoundSearchInfo">Added method <code>createCompoundSearchInfo(...)</code>
to class <code>SearchInfoFactory</code></a>
</li>
<li>(Jan 12 '07) <a href="#issue-64392">
<code>SearchInfo</code>
objects contained in <code>Project</code>s'
lookups are now taken into account by action <em>Find in Projects...</em>
</a>
</li>
<li>(Feb 15 '05) <a href="#SearchHistory.ADD_TO_HISTORY">Added <code>ADD_TO_HISTORY</code> field</a>
</li>
<li>(Jan 7 '05) <a href="#SearchHistory-SearchPattern">Added <code>SearchHistory</code> and <code>SearchPattern</code> classes</a>
</li>
<li>(Aug 13 '04) <a href="#version-3.3">Added <code>SearchInfo</code> interface
together with a factory class <code>SearchInfoFactory</code>
and interface <code>FileObjectFilter</code></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.openidex.util/3 &gt; 1.20</pre>
<ul>
<li>
(3.31) <a href="#SearchGroup.onStopSearch">Added method <code>SearchGroup.onStopSearch</code></a>
</li>
<li>
(3.20) <a href="#SearchUtils">Added utility class <code>Utils</code></a>
</li>
<li>
(3.20) <a href="#SearchInfo.Files">Added interface <code>SearchInfo.Files</code></a>
</li>
<li>
(3.13) <a href="#SearchInfoFactory.createCompoundSearchInfo">Added method <code>createCompoundSearchInfo(...)</code>
to class <code>SearchInfoFactory</code></a>
</li>
<li>
(3.11) <a href="#issue-64392">
<code>SearchInfo</code>
objects contained in <code>Project</code>s'
lookups are now taken into account by action <em>Find in Projects...</em>
</a>
</li>
<li>
(3.6) <a href="#SearchHistory.ADD_TO_HISTORY">Added <code>ADD_TO_HISTORY</code> field</a>
</li>
<li>
(3.5) <a href="#SearchHistory-SearchPattern">Added <code>SearchHistory</code> and <code>SearchPattern</code> classes</a>
</li>
<li>
(3.3) <a href="#version-3.3">Added <code>SearchInfo</code> interface
together with a factory class <code>SearchInfoFactory</code>
and interface <code>FileObjectFilter</code></a>
</li>
</ul>
<h1>
<a name="all-by-class">Changes by affected class</a>
</h1>
<h2>
<a name="org.openidex.search.FileObjectFilter"><code><span style="color:gray">org.openidex.search.</span>FileObjectFilter</code></a>
</h2><ul><li>(Aug 13 '04) <a href="#version-3.3">Added <code>SearchInfo</code> interface
together with a factory class <code>SearchInfoFactory</code>
and interface <code>FileObjectFilter</code></a>
</li></ul><h2>
<a name="org.openidex.search.SearchGroup"><code><span style="color:gray">org.openidex.search.</span>SearchGroup</code></a>
</h2><ul><li>(Sep 2 '11) <a href="#SearchGroup.onStopSearch">Added method <code>SearchGroup.onStopSearch</code></a>
</li></ul><h2>
<a name="org.openidex.search.SearchHistory"><code><span style="color:gray">org.openidex.search.</span>SearchHistory</code></a>
</h2><ul><li>(Feb 15 '05) <a href="#SearchHistory.ADD_TO_HISTORY">Added <code>ADD_TO_HISTORY</code> field</a>
</li>
<li>(Jan 7 '05) <a href="#SearchHistory-SearchPattern">Added <code>SearchHistory</code> and <code>SearchPattern</code> classes</a>
</li></ul><h2>
<a name="org.openidex.search.SearchInfo"><code><span style="color:gray">org.openidex.search.</span>SearchInfo</code></a>
</h2><ul><li>(Jan 13 '09) <a href="#SearchInfo.Files">Added interface <code>SearchInfo.Files</code></a>
</li>
<li>(Aug 13 '04) <a href="#version-3.3">Added <code>SearchInfo</code> interface
together with a factory class <code>SearchInfoFactory</code>
and interface <code>FileObjectFilter</code></a>
</li></ul><h2>
<a name="org.openidex.search.SearchInfoFactory"><code><span style="color:gray">org.openidex.search.</span>SearchInfoFactory</code></a>
</h2><ul><li>(Jun 10 '07) <a href="#SearchInfoFactory.createCompoundSearchInfo">Added method <code>createCompoundSearchInfo(...)</code>
to class <code>SearchInfoFactory</code></a>
</li>
<li>(Aug 13 '04) <a href="#version-3.3">Added <code>SearchInfo</code> interface
together with a factory class <code>SearchInfoFactory</code>
and interface <code>FileObjectFilter</code></a>
</li></ul><h2>
<a name="org.openidex.search.SearchPattern"><code><span style="color:gray">org.openidex.search.</span>SearchPattern</code></a>
</h2><ul><li>(Jan 7 '05) <a href="#SearchHistory-SearchPattern">Added <code>SearchHistory</code> and <code>SearchPattern</code> classes</a>
</li></ul><h2>
<a name="org.openidex.search.Utils"><code><span style="color:gray">org.openidex.search.</span>Utils</code></a>
</h2><ul><li>(Jan 13 '09) <a href="#SearchUtils">Added utility class <code>Utils</code></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="search">Search API</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="SearchGroup.onStopSearch">Added method <code>SearchGroup.onStopSearch</code></a>
</h3>
<em>Sep 2 '11; API spec. version: 3.31; affected top-level classes: <a href="./org/openidex/search/SearchGroup.html"><code>SearchGroup</code></a>; made by: jhavlin; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=193361">
#193361</a></em>
<br>
<p>
Class <code>SearchGroup</code> now contains method
<code>onStopSearch</code>, that can be overriden in subclasses
to perform some custom operations that are needed to stop the
search, e.g. terminate internal tasks.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="SearchUtils">Added utility class <code>Utils</code></a>
</h3>
<em>Jan 13 '09; API spec. version: 3.20; affected top-level classes: <a href="./org/openidex/search/Utils.html"><code>Utils</code></a>; made by: kaktus</em>
<br>
<p>
Class <code>Utils</code> made public with one public static method
<code>getFileObjectsIterator(SearchInfo si)</code>. This utility
method returns <code>Iterator</code> of <code>FileObject</code>s
for the provided <code>SearchInfo</code>. This change simplifies
the work with <code>SearchInfo</code> implementations.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="SearchInfo.Files">Added interface <code>SearchInfo.Files</code></a>
</h3>
<em>Jan 13 '09; API spec. version: 3.20; affected top-level classes: <a href="./org/openidex/search/SearchInfo.html"><code>SearchInfo</code></a>; made by: kaktus; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=134558">
#134558</a></em>
<br>
<p>
Added <code>SearchInfo.Files</code> interface which extends
<code>SearchInfo</code> interface. It adds method
<code>filesToSearch()</code> to provide <code>FileObject</code>s
which should be searched. This change allows to operate <code>FileObject</code>s
in the search mechanism instead of <code>DataObject</code>s and
as a result improves search performance.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="SearchInfoFactory.createCompoundSearchInfo">Added method <code>createCompoundSearchInfo(...)</code>
to class <code>SearchInfoFactory</code></a>
</h3>
<em>Jun 10 '07; API spec. version: 3.13; affected top-level classes: <a href="./org/openidex/search/SearchInfoFactory.html"><code>SearchInfoFactory</code></a>; made by: mpetras</em>
<br>
<p>
Compound <code>SearchInfo</code> is a useful functionality that
has been present in the package since the
<code>SearchInfo</code> interface had been introduced. It just
was not available from outside the
<code>org.openidex.search</code> package. This change makes it
available through a public factory method.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-64392">
<code>SearchInfo</code>
objects contained in <code>Project</code>s'
lookups are now taken into account by action <em>Find in Projects...</em>
</a>
</h3>
<em>Jan 12 '07; API spec. version: 3.11; made by: mpetras; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=64392">
#64392</a></em>
<br>
The change is not in the API itself but in the range of its usage.
Before the change, action <em>Find in Projects...</em> did not look
for
<a href="../org-openidex-util/org/openidex/search/SearchInfo.html" shape="rect"><code>SearchInfo</code></a>
objects &ndash; it always searched
projects' <a href="../org-netbeans-modules-projectapi/org/netbeans/api/project/SourceGroup.html" shape="rect"><code>SourceGroup</code></a>s.
Now the action first checks the
<a href="../org-netbeans-modules-projectapi/org/netbeans/api/project/Project.html#getLookup--" shape="rect">project's <code>Lookup</code></a>
for presence of a <code>SearchInfo</code> object. If some
<code>SearchInfo</code> is present, it is used for the search,
and only if there is no <code>SearchInfo</code>,
the project's <code>SourceGroup</code>s are searched.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="SearchHistory.ADD_TO_HISTORY">Added <code>ADD_TO_HISTORY</code> field</a>
</h3>
<em>Feb 15 '05; API spec. version: 3.6; affected top-level classes: <a href="./org/openidex/search/SearchHistory.html"><code>SearchHistory</code></a>; made by: mroskanin; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=54028">
#54028</a> <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=54451">
#54451</a></em>
<br>
<p>
It is necessary to fire further
PropertyChangeEvent to fix it. (Details in the
issue #54028)It is event ADD_TO_HISTORY, that will
be fired after adding new SearchPattern to
history. Old value of event would be null, new
value would be added pattern.
Also pattern checking before adding to history is
a subject of the API change.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="SearchHistory-SearchPattern">Added <code>SearchHistory</code> and <code>SearchPattern</code> classes</a>
</h3>
<em>Jan 7 '05; API spec. version: 3.5; affected top-level classes: <a href="./org/openidex/search/SearchHistory.html"><code>SearchHistory</code></a> <a href="./org/openidex/search/SearchPattern.html"><code>SearchPattern</code></a>; made by: mroskanin; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=51964">
#51964</a></em>
<br>
<p>
Editor find and replace dialog and search over files
in explorer should have one and shareable history. Editor module should
be notified about last selected search expression to highlight(in yellow)
the matched patterns.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="version-3.3">Added <code>SearchInfo</code> interface
together with a factory class <code>SearchInfoFactory</code>
and interface <code>FileObjectFilter</code></a>
</h3>
<em>Aug 13 '04; API spec. version: 3.3; affected top-level classes: <a href="./org/openidex/search/SearchInfo.html"><code>SearchInfo</code></a> <a href="./org/openidex/search/SearchInfoFactory.html"><code>SearchInfoFactory</code></a> <a href="./org/openidex/search/FileObjectFilter.html"><code>FileObjectFilter</code></a>; made by: mpetras; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=42540">
#42540</a> <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=43940">
#43940</a></em>
<br>
<p>
In NetBeans 3.6, only nodes representing file folders were
searchable. In NetBeans 4.0, there are several special views
and nodes not representing folders. But many of these nodes
still need to be searchable. Interface <code>SearchInfo</code>
allows to specify how a particular node should be searched
- simply by putting a <code>SearchInfo</code> object to the
node's lookup.
</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>