blob: cd73c7db79cb5bb5baf4ad959d862940b1e600e9 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_12) on Fri May 30 11:16:00 CDT 2008 -->
<TITLE>
SearchParticipant
</TITLE>
<META NAME="keywords" CONTENT="org.eclipse.wst.jsdt.core.search.SearchParticipant class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="SearchParticipant";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SearchParticipant.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchMatch.html" title="class in org.eclipse.wst.jsdt.core.search"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchPattern.html" title="class in org.eclipse.wst.jsdt.core.search"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/eclipse/wst/jsdt/core/search/SearchParticipant.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SearchParticipant.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.eclipse.wst.jsdt.core.search</FONT>
<BR>
Class SearchParticipant</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.eclipse.wst.jsdt.core.search.SearchParticipant</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../../org/eclipse/wst/jsdt/web/core/javascript/search/JsSearchParticipant.html" title="class in org.eclipse.wst.jsdt.web.core.javascript.search">JsSearchParticipant</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>SearchParticipant</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
A search participant describes a particular extension to a generic search
mechanism, permitting combined search actions which will involve all required
participants.
<p>
A search participant is involved in the indexing phase and in the search phase.
The indexing phase consists in taking one or more search documents, parse them, and
add index entries in an index chosen by the participant. An index is identified by a
path on disk.
The search phase consists in selecting the indexes corresponding to a search pattern
and a search scope, from these indexes the search infrastructure extracts the document paths
that match the search pattern asking the search participant for the corresponding document,
finally the search participant is asked to locate the matches precisely in these search documents.
</p>
<p>
This class is intended to be subclassed by clients. During the indexing phase,
a subclass will be called with the following requests in order:
<ul>
<li><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#scheduleDocumentIndexing(org.eclipse.wst.jsdt.core.search.SearchDocument, IPath)"><CODE>scheduleDocumentIndexing(SearchDocument, IPath)</CODE></A></li>
<li><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#indexDocument(org.eclipse.wst.jsdt.core.search.SearchDocument, IPath)"><CODE>indexDocument(SearchDocument, IPath)</CODE></A></li>
</ul>
During the search phase, a subclass will be called with the following requests in order:
<ul>
<li><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#selectIndexes(org.eclipse.wst.jsdt.core.search.SearchPattern, org.eclipse.wst.jsdt.core.search.IJavaScriptSearchScope)"><CODE>selectIndexes(SearchPattern, IJavaScriptSearchScope)</CODE></A></li>
<li>one or more <A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#getDocument(java.lang.String)"><CODE>getDocument(String)</CODE></A></li>
<li><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#locateMatches(org.eclipse.wst.jsdt.core.search.SearchDocument[], org.eclipse.wst.jsdt.core.search.SearchPattern, org.eclipse.wst.jsdt.core.search.IJavaScriptSearchScope, org.eclipse.wst.jsdt.core.search.SearchRequestor, IProgressMonitor)"><CODE>locateMatches(SearchDocument[], SearchPattern, IJavaScriptSearchScope, SearchRequestor, IProgressMonitor)</CODE></A></li>
</ul>
</p>
Provisional API: This class/interface is part of an interim API that is still under development and expected to
change significantly before reaching stability. It is being made available at this early stage to solicit feedback
from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
(repeatedly) as the API evolves.
<P>
<P>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#beginSearching()">beginSearching</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that this participant's help is needed in a search.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#doneSearching()">doneSearching</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that this participant's help is no longer needed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#getDescription()">getDescription</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a displayable name of this search participant.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search">SearchDocument</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#getDocument(java.lang.String)">getDocument</A></B>(java.lang.String&nbsp;documentPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a search document for the given path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#indexDocument(org.eclipse.wst.jsdt.core.search.SearchDocument, IPath)">indexDocument</A></B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search">SearchDocument</A>&nbsp;document,
IPath&nbsp;indexLocation)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indexes the given document in the given index.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#locateMatches(org.eclipse.wst.jsdt.core.search.SearchDocument[], org.eclipse.wst.jsdt.core.search.SearchPattern, org.eclipse.wst.jsdt.core.search.IJavaScriptSearchScope, org.eclipse.wst.jsdt.core.search.SearchRequestor, IProgressMonitor)">locateMatches</A></B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search">SearchDocument</A>[]&nbsp;documents,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchPattern.html" title="class in org.eclipse.wst.jsdt.core.search">SearchPattern</A>&nbsp;pattern,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/IJavaScriptSearchScope.html" title="interface in org.eclipse.wst.jsdt.core.search">IJavaScriptSearchScope</A>&nbsp;scope,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchRequestor.html" title="class in org.eclipse.wst.jsdt.core.search">SearchRequestor</A>&nbsp;requestor,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Locates the matches in the given documents using the given search pattern
and search scope, and reports them to the givenn search requestor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#removeIndex(IPath)">removeIndex</A></B>(IPath&nbsp;indexLocation)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the index for a given path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#scheduleDocumentIndexing(org.eclipse.wst.jsdt.core.search.SearchDocument, IPath)">scheduleDocumentIndexing</A></B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search">SearchDocument</A>&nbsp;document,
IPath&nbsp;indexLocation)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Schedules the indexing of the given document.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;IPath[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#selectIndexes(org.eclipse.wst.jsdt.core.search.SearchPattern, org.eclipse.wst.jsdt.core.search.IJavaScriptSearchScope)">selectIndexes</A></B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchPattern.html" title="class in org.eclipse.wst.jsdt.core.search">SearchPattern</A>&nbsp;query,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/IJavaScriptSearchScope.html" title="interface in org.eclipse.wst.jsdt.core.search">IJavaScriptSearchScope</A>&nbsp;scope)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the collection of index locations to consider when performing the
given search query in the given scope.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="beginSearching()"><!-- --></A><H3>
beginSearching</H3>
<PRE>
public void <B>beginSearching</B>()</PRE>
<DL>
<DD>Notification that this participant's help is needed in a search.
<p>
This method should be re-implemented in subclasses that need to do something
when the participant is needed in a search.
</p>
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="doneSearching()"><!-- --></A><H3>
doneSearching</H3>
<PRE>
public void <B>doneSearching</B>()</PRE>
<DL>
<DD>Notification that this participant's help is no longer needed.
<p>
This method should be re-implemented in subclasses that need to do something
when the participant is no longer needed in a search.
</p>
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getDescription()"><!-- --></A><H3>
getDescription</H3>
<PRE>
public java.lang.String <B>getDescription</B>()</PRE>
<DL>
<DD>Returns a displayable name of this search participant.
<p>
This method should be re-implemented in subclasses that need to
display a meaningfull name.
</p>
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the displayable name of this search participant</DL>
</DD>
</DL>
<HR>
<A NAME="getDocument(java.lang.String)"><!-- --></A><H3>
getDocument</H3>
<PRE>
public abstract <A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search">SearchDocument</A> <B>getDocument</B>(java.lang.String&nbsp;documentPath)</PRE>
<DL>
<DD>Returns a search document for the given path.
The given document path is a string that uniquely identifies the document.
Most of the time it is a workspace-relative path, but it can also be a file system path, or a path inside a zip file.
<p>
Implementors of this method can either create an instance of their own subclass of
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search"><CODE>SearchDocument</CODE></A> or return an existing instance of such a subclass.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>documentPath</CODE> - the path of the document.
<DT><B>Returns:</B><DD>a search document</DL>
</DD>
</DL>
<HR>
<A NAME="indexDocument(org.eclipse.wst.jsdt.core.search.SearchDocument, IPath)"><!-- --></A><H3>
indexDocument</H3>
<PRE>
public abstract void <B>indexDocument</B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search">SearchDocument</A>&nbsp;document,
IPath&nbsp;indexLocation)</PRE>
<DL>
<DD>Indexes the given document in the given index. A search participant
asked to index a document should parse it and call
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html#addIndexEntry(char[], char[])"><CODE>SearchDocument.addIndexEntry(char[], char[])</CODE></A> as many times as
needed to add index entries to the index. If delegating to another
participant, it should use the original index location (and not the
delegatee's one). In the particular case of delegating to the default
search participant (see <A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchEngine.html#getDefaultSearchParticipant()"><CODE>SearchEngine.getDefaultSearchParticipant()</CODE></A>),
the provided document's path must be a path ending with one of the
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/JavaScriptCore.html#getJavaScriptLikeExtensions()"><CODE>Java-like extensions</CODE></A>
or with '.class'.
<p>
The given index location must represent a path in the file system to a file that
either already exists or is going to be created. If it exists, it must be an index file,
otherwise its data might be overwritten.
</p><p>
Clients are not expected to call this method.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>document</CODE> - the document to index<DD><CODE>indexLocation</CODE> - the location in the file system to the index</DL>
</DD>
</DL>
<HR>
<A NAME="locateMatches(org.eclipse.wst.jsdt.core.search.SearchDocument[], org.eclipse.wst.jsdt.core.search.SearchPattern, org.eclipse.wst.jsdt.core.search.IJavaScriptSearchScope, org.eclipse.wst.jsdt.core.search.SearchRequestor, IProgressMonitor)"><!-- --></A><H3>
locateMatches</H3>
<PRE>
public abstract void <B>locateMatches</B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search">SearchDocument</A>[]&nbsp;documents,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchPattern.html" title="class in org.eclipse.wst.jsdt.core.search">SearchPattern</A>&nbsp;pattern,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/IJavaScriptSearchScope.html" title="interface in org.eclipse.wst.jsdt.core.search">IJavaScriptSearchScope</A>&nbsp;scope,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchRequestor.html" title="class in org.eclipse.wst.jsdt.core.search">SearchRequestor</A>&nbsp;requestor,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD>Locates the matches in the given documents using the given search pattern
and search scope, and reports them to the givenn search requestor. This
method is called by the search engine once it has search documents
matching the given pattern in the given search scope.
<p>
Note that a participant (e.g. a JSP participant) can pre-process the contents of the given documents,
create its own documents whose contents are JavaScript javascript unit s and delegate the match location
to the default participant (see <A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchEngine.html#getDefaultSearchParticipant()"><CODE>SearchEngine.getDefaultSearchParticipant()</CODE></A>). Passing its own
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchRequestor.html" title="class in org.eclipse.wst.jsdt.core.search"><CODE>SearchRequestor</CODE></A> this particpant can then map the match positions back to the original
contents, create its own matches and report them to the original requestor.
</p><p>
Implementors of this method should check the progress monitor
for cancelation when it is safe and appropriate to do so. The cancelation
request should be propagated to the caller by throwing
<code>OperationCanceledException</code>.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>documents</CODE> - the documents to locate matches in<DD><CODE>pattern</CODE> - the search pattern to use when locating matches<DD><CODE>scope</CODE> - the scope to limit the search to<DD><CODE>requestor</CODE> - the requestor to report matches to<DD><CODE>monitor</CODE> - the progress monitor to report progress to,
or <code>null</code> if no progress should be reported
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE> - if the requestor had problem accepting one of the matches</DL>
</DD>
</DL>
<HR>
<A NAME="removeIndex(IPath)"><!-- --></A><H3>
removeIndex</H3>
<PRE>
public void <B>removeIndex</B>(IPath&nbsp;indexLocation)</PRE>
<DL>
<DD>Removes the index for a given path.
<p>
The given index location must represent a path in the file system to a file that
already exists and must be an index file, otherwise nothing will be done.
</p><p>
It is strongly recommended to use this method instead of deleting file directly
otherwise cached index will not be removed.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>indexLocation</CODE> - the location in the file system to the index</DL>
</DD>
</DL>
<HR>
<A NAME="scheduleDocumentIndexing(org.eclipse.wst.jsdt.core.search.SearchDocument, IPath)"><!-- --></A><H3>
scheduleDocumentIndexing</H3>
<PRE>
public final void <B>scheduleDocumentIndexing</B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchDocument.html" title="class in org.eclipse.wst.jsdt.core.search">SearchDocument</A>&nbsp;document,
IPath&nbsp;indexLocation)</PRE>
<DL>
<DD>Schedules the indexing of the given document.
Once the document is ready to be indexed,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#indexDocument(org.eclipse.wst.jsdt.core.search.SearchDocument, IPath)"><CODE>indexDocument(document, indexPath)</CODE></A>
will be called in a different thread than the caller's thread.
<p>
The given index location must represent a path in the file system to a file that
either already exists or is going to be created. If it exists, it must be an index file,
otherwise its data might be overwritten.
</p><p>
When the index is no longer needed, clients should use <A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchParticipant.html#removeIndex(IPath)"><CODE>removeIndex(IPath)</CODE></A>
to discard it.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>document</CODE> - the document to index<DD><CODE>indexLocation</CODE> - the location on the file system of the index</DL>
</DD>
</DL>
<HR>
<A NAME="selectIndexes(org.eclipse.wst.jsdt.core.search.SearchPattern, org.eclipse.wst.jsdt.core.search.IJavaScriptSearchScope)"><!-- --></A><H3>
selectIndexes</H3>
<PRE>
public abstract IPath[] <B>selectIndexes</B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchPattern.html" title="class in org.eclipse.wst.jsdt.core.search">SearchPattern</A>&nbsp;query,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/IJavaScriptSearchScope.html" title="interface in org.eclipse.wst.jsdt.core.search">IJavaScriptSearchScope</A>&nbsp;scope)</PRE>
<DL>
<DD>Returns the collection of index locations to consider when performing the
given search query in the given scope. The search engine calls this
method before locating matches.
<p>
An index location represents a path in the file system to a file that holds index information.
</p><p>
Clients are not expected to call this method.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>query</CODE> - the search pattern to consider<DD><CODE>scope</CODE> - the given search scope
<DT><B>Returns:</B><DD>the collection of index paths to consider</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SearchParticipant.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchMatch.html" title="class in org.eclipse.wst.jsdt.core.search"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/search/SearchPattern.html" title="class in org.eclipse.wst.jsdt.core.search"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/eclipse/wst/jsdt/core/search/SearchParticipant.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SearchParticipant.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>