blob: 9fa469449678b69d579263e5fbf30844573e9e15 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3"/>
<title>Lucene.Net: Lucene.Net.Analysis.TokenStream Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="lucene-net-icon-128x128.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Lucene.Net
&#160;<span id="projectnumber">3.0.3</span>
</div>
<div id="projectbrief">Lucene.Net is a .NET port of the Java Lucene Indexing Library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="Index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Packages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Properties</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespace_lucene.html">Lucene</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net.html">Net</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net_1_1_analysis.html">Analysis</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html">TokenStream</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Lucene.Net.Analysis.TokenStream Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>A <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> enumerates the sequence of tokens, either from <a class="el" href="_token_stream_8cs.html#a6d7b175c6799cf1d18e9493727d23fc6">Field</a>s of a <a class="el" href="_searcher_8cs.html#a2ad6aef8641c7b7a6cf9277f7d54b2cd">Document</a> or from query text. This is an abstract class. Concrete subclasses are: </p>
<ul>
<li>
<a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tokenizer.html" title="A Tokenizer is a TokenStream whose input is a Reader. This is an abstract class; subclasses must over...">Tokenizer</a>, a <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> whose input is a Reader; and </li>
<li>
<a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_filter.html" title="A TokenFilter is a TokenStream whose input is another TokenStream. This is an abstract class; subclas...">TokenFilter</a>, a <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> whose input is another <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code>. </li>
</ul>
<p>A new <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> API has been introduced with <a class="el" href="namespace_lucene.html">Lucene</a> 2.9. This API has moved from being <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html" title="A Token is an occurrence of a term from the text of a field. It consists of a term&#39;s text...">Token</a> based to IAttribute based. While <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html" title="A Token is an occurrence of a term from the text of a field. It consists of a term&#39;s text...">Token</a> still exists in 2.9 as a convenience class, the preferred way to store the information of a <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html" title="A Token is an occurrence of a term from the text of a field. It consists of a term&#39;s text...">Token</a> is to use <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a>s. <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> now extends <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#af8654555ddde74d7e463266371f3508c" title="An AttributeSource using the default attribute factory AttributeSource.AttributeFactory.DEFAULT_ATTRIBUTE_FACTORY.">AttributeSource</a>, which provides access to all of the token IAttributes for the <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code>. Note that only one instance per <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a> is created and reused for every token. This approach reduces object creation and allows local caching of references to the <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a>s. See <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken()</a> for further details. <b>The workflow of the new <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> API is as follows:</b> </p>
<ul>
<li>
Instantiation of <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code>/<a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_filter.html" title="A TokenFilter is a TokenStream whose input is another TokenStream. This is an abstract class; subclas...">TokenFilter</a>s which add/get attributes to/from the <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#af8654555ddde74d7e463266371f3508c" title="An AttributeSource using the default attribute factory AttributeSource.AttributeFactory.DEFAULT_ATTRIBUTE_FACTORY.">AttributeSource</a>. </li>
<li>
The consumer calls <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965" title="Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...">TokenStream.Reset()</a>. </li>
<li>
The consumer retrieves attributes from the stream and stores local references to all attributes it wants to access </li>
<li>
The consumer calls <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken()</a> until it returns false and consumes the attributes after each call. </li>
<li>
The consumer calls <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a92b3c4eab12fbf83daa07b7684cfbcaf" title="This method is called by the consumer after the last token has been consumed, after IncrementToken re...">End()</a> so that any end-of-stream operations can be performed. </li>
<li>
The consumer calls <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a5f66ac4c37218611b4a13f81f98332cd" title="Releases resources associated with this stream. ">Close()</a> to release any resource when finished using the <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> </li>
</ul>
<p>To make sure that filters and consumers know which attributes are available, the attributes must be added during instantiation. Filters and consumers are not required to check for availability of attributes in <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken()</a>. You can find some example code for the new API in the analysis package level Javadoc. Sometimes it is desirable to capture a current state of a <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> , e. g. for buffering purposes (see <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_caching_token_filter.html" title="This class can be used if the token attributes of a TokenStream are intended to be consumed more than...">CachingTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter.html" title="This TokenFilter provides the ability to set aside attribute states that have already been analyzed...">TeeSinkTokenFilter</a>). For this usecase AttributeSource.CaptureState and AttributeSource.RestoreState can be used.
<a href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#details">More...</a></p>
<p>Inherits <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">Lucene.Net.Util.AttributeSource</a>, and IDisposable.</p>
<p>Inherited by <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_empty_token_stream.html">Lucene.Net.Analysis.Miscellaneous.EmptyTokenStream</a>, Lucene.Net.Analysis.Miscellaneous.PatternAnalyzer.FastStringTokenizer, Lucene.Net.Analysis.Miscellaneous.PatternAnalyzer.RegexTokenizer, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_prefix_and_suffix_aware_token_filter.html">Lucene.Net.Analysis.Miscellaneous.PrefixAndSuffixAwareTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_prefix_aware_token_filter.html">Lucene.Net.Analysis.Miscellaneous.PrefixAwareTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_single_token_token_stream.html">Lucene.Net.Analysis.Miscellaneous.SingleTokenTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_numeric_token_stream.html">Lucene.Net.Analysis.NumericTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_shingle_1_1_shingle_matrix_filter.html">Lucene.Net.Analysis.Shingle.ShingleMatrixFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter_1_1_sink_token_stream.html">Lucene.Net.Analysis.TeeSinkTokenFilter.SinkTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_filter.html">Lucene.Net.Analysis.TokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tokenizer.html">Lucene.Net.Analysis.Tokenizer</a>, Lucene.Net.Index.Memory.MemoryIndex.KeywordTokenStream&lt; T &gt;, <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_highlight_1_1_token_sources_1_1_stored_token_stream.html">Lucene.Net.Search.Highlight.TokenSources.StoredTokenStream</a>, and <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_prefix_1_1_prefix_tree_strategy_1_1_cell_token_stream.html">Lucene.Net.Spatial.Prefix.PrefixTreeStrategy.CellTokenStream</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a358a544108511440a57b134e722f6027"><td class="memItemLeft" align="right" valign="top">abstract bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027">IncrementToken</a> ()</td></tr>
<tr class="memdesc:a358a544108511440a57b134e722f6027"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consumers (i.e., <a class="el" href="_f_s_directory_8cs.html#a7d90824eac5b2433e714cc9faeb34d1b">IndexWriter</a>) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a>s with the attributes of the next token. <a href="#a358a544108511440a57b134e722f6027"></a><br/></td></tr>
<tr class="separator:a358a544108511440a57b134e722f6027"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92b3c4eab12fbf83daa07b7684cfbcaf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a92b3c4eab12fbf83daa07b7684cfbcaf">End</a> ()</td></tr>
<tr class="memdesc:a92b3c4eab12fbf83daa07b7684cfbcaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called by the consumer after the last token has been consumed, after <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken</a> returned <code>false</code> (using the new <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> API). Streams implementing the old API should upgrade to use this feature. This method can be used to perform any end-of-stream operations, such as setting the final offset of a stream. The final offset of a stream might differ from the offset of the last token eg in case one or more whitespaces followed after the last token, but a <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_whitespace_tokenizer.html" title="A WhitespaceTokenizer is a tokenizer that divides text at whitespace. Adjacent sequences of non-White...">WhitespaceTokenizer</a> was used. <a href="#a92b3c4eab12fbf83daa07b7684cfbcaf"></a><br/></td></tr>
<tr class="separator:a92b3c4eab12fbf83daa07b7684cfbcaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7c4a3464dc78b1d0451492d9c520965"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965">Reset</a> ()</td></tr>
<tr class="memdesc:af7c4a3464dc78b1d0451492d9c520965"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets this stream to the beginning. This is an optional operation, so subclasses may or may not implement this method. <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965" title="Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...">Reset()</a> is not needed for the standard indexing process. However, if the tokens of a <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> are intended to be consumed more than once, it is necessary to implement <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965" title="Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...">Reset()</a>. Note that if your <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a> caches tokens and feeds them back again after a reset, it is imperative that you clone the tokens when you store them away (on the first pass) as well as when you return them (on future passes after <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965" title="Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...">Reset()</a>). <a href="#af7c4a3464dc78b1d0451492d9c520965"></a><br/></td></tr>
<tr class="separator:af7c4a3464dc78b1d0451492d9c520965"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f66ac4c37218611b4a13f81f98332cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a5f66ac4c37218611b4a13f81f98332cd">Close</a> ()</td></tr>
<tr class="memdesc:a5f66ac4c37218611b4a13f81f98332cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases resources associated with this stream. <a href="#a5f66ac4c37218611b4a13f81f98332cd"></a><br/></td></tr>
<tr class="separator:a5f66ac4c37218611b4a13f81f98332cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae80b4c03fb07780821b0bbecbf472b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#aae80b4c03fb07780821b0bbecbf472b2">Dispose</a> ()</td></tr>
<tr class="separator:aae80b4c03fb07780821b0bbecbf472b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">Lucene.Net.Util.AttributeSource</a></td></tr>
<tr class="memitem:af8654555ddde74d7e463266371f3508c inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#af8654555ddde74d7e463266371f3508c">AttributeSource</a> ()</td></tr>
<tr class="memdesc:af8654555ddde74d7e463266371f3508c inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">An <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> using the default attribute factory AttributeSource.AttributeFactory.DEFAULT_ATTRIBUTE_FACTORY. <a href="#af8654555ddde74d7e463266371f3508c"></a><br/></td></tr>
<tr class="separator:af8654555ddde74d7e463266371f3508c inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4657daf56cbc2d4510904a77d945997c inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a4657daf56cbc2d4510904a77d945997c">AttributeSource</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">AttributeSource</a> input)</td></tr>
<tr class="memdesc:a4657daf56cbc2d4510904a77d945997c inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">An <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> that uses the same attributes as the supplied one. <a href="#a4657daf56cbc2d4510904a77d945997c"></a><br/></td></tr>
<tr class="separator:a4657daf56cbc2d4510904a77d945997c inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4372366a8ca0b624dae66733e3553386 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a4372366a8ca0b624dae66733e3553386">AttributeSource</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_attribute_factory.html">AttributeFactory</a> factory)</td></tr>
<tr class="memdesc:a4372366a8ca0b624dae66733e3553386 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">An <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> using the supplied <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_attribute_factory.html" title="An AttributeFactory creates instances of Attributes.">AttributeFactory</a> for creating new <a class="el" href="interface_lucene_1_1_net_1_1_util_1_1_i_attribute.html" title="Base interface for attributes.">IAttribute</a> instances. <a href="#a4372366a8ca0b624dae66733e3553386"></a><br/></td></tr>
<tr class="separator:a4372366a8ca0b624dae66733e3553386 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca60de1d129a37ebe8e53c0a4998b9b inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual IEnumerable&lt; Type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#aaca60de1d129a37ebe8e53c0a4998b9b">GetAttributeTypesIterator</a> ()</td></tr>
<tr class="memdesc:aaca60de1d129a37ebe8e53c0a4998b9b inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a new iterator that iterates the attribute classes in the same order they were added in. Signature for Java 1.5: <code>public Iterator&lt;Class&lt;? extends <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a>&gt;&gt; getAttributeClassesIterator()</code> <a href="#aaca60de1d129a37ebe8e53c0a4998b9b"></a><br/></td></tr>
<tr class="separator:aaca60de1d129a37ebe8e53c0a4998b9b inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeac0f9d6ba00ffe0befc22c2f72d22f2 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual IEnumerable&lt; <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html">Attribute</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#aeac0f9d6ba00ffe0befc22c2f72d22f2">GetAttributeImplsIterator</a> ()</td></tr>
<tr class="memdesc:aeac0f9d6ba00ffe0befc22c2f72d22f2 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a new iterator that iterates all unique <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a> implementations. This iterator may contain less entries that <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#aaca60de1d129a37ebe8e53c0a4998b9b" title="Returns a new iterator that iterates the attribute classes in the same order they were added in...">GetAttributeTypesIterator</a>, if one instance implements more than one <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a> interface. Signature for Java 1.5: <code>public Iterator&lt;AttributeImpl&gt; getAttributeImplsIterator()</code> <a href="#aeac0f9d6ba00ffe0befc22c2f72d22f2"></a><br/></td></tr>
<tr class="separator:aeac0f9d6ba00ffe0befc22c2f72d22f2 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa077979929068d17e3a5627fa5c1c180 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#aa077979929068d17e3a5627fa5c1c180">AddAttributeImpl</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html">Attribute</a> att)</td></tr>
<tr class="memdesc:aa077979929068d17e3a5627fa5c1c180 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight"><b>Expert:</b> Adds a custom AttributeImpl instance with one or more <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a> interfaces. <a href="#aa077979929068d17e3a5627fa5c1c180"></a><br/></td></tr>
<tr class="separator:aa077979929068d17e3a5627fa5c1c180 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a024db4fdac7177bbec9ccf0a55947ac8 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a024db4fdac7177bbec9ccf0a55947ac8">AddAttribute&lt; T &gt;</a> ()</td></tr>
<tr class="memdesc:a024db4fdac7177bbec9ccf0a55947ac8 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">The caller must pass in a Class&lt;? extends <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a>&gt; value. This method first checks if an instance of that class is already in this <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> and returns it. Otherwise a new instance is created, added to this <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> and returned. <a href="#a024db4fdac7177bbec9ccf0a55947ac8"></a><br/></td></tr>
<tr class="separator:a024db4fdac7177bbec9ccf0a55947ac8 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a944174da417e353469198d70f71ab074 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a944174da417e353469198d70f71ab074">HasAttribute&lt; T &gt;</a> ()</td></tr>
<tr class="memdesc:a944174da417e353469198d70f71ab074 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">The caller must pass in a Class&lt;? extends <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a>&gt; value. Returns true, iff this <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> contains the passed-in <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a>. <a href="#a944174da417e353469198d70f71ab074"></a><br/></td></tr>
<tr class="separator:a944174da417e353469198d70f71ab074 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13d275abdba07913cee5cd2ab139b545 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a13d275abdba07913cee5cd2ab139b545">GetAttribute&lt; T &gt;</a> ()</td></tr>
<tr class="memdesc:a13d275abdba07913cee5cd2ab139b545 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">The caller must pass in a Class&lt;? extends <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a>&gt; value. Returns the instance of the passed in <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a> contained in this <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> <a href="#a13d275abdba07913cee5cd2ab139b545"></a><br/></td></tr>
<tr class="separator:a13d275abdba07913cee5cd2ab139b545 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10993674504f3065a2320a6c498c773e inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a10993674504f3065a2320a6c498c773e">ClearAttributes</a> ()</td></tr>
<tr class="memdesc:a10993674504f3065a2320a6c498c773e inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets all Attributes in this <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> by calling <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html#ad9e96b3c91feb9bc6014150c8027884b" title="Clears the values in this AttributeImpl and resets it to its default value. If this implementation im...">Attribute.Clear()</a> on each <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a> implementation. <a href="#a10993674504f3065a2320a6c498c773e"></a><br/></td></tr>
<tr class="separator:a10993674504f3065a2320a6c498c773e inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab94ad5134881f56412343ef1eb1b601b inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_state.html">State</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#ab94ad5134881f56412343ef1eb1b601b">CaptureState</a> ()</td></tr>
<tr class="memdesc:ab94ad5134881f56412343ef1eb1b601b inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Captures the state of all Attributes. The return value can be passed to <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a0a875f18e12c9c37c6447a6d9bb04e44" title="Restores this state by copying the values of all attribute implementations that this state contains i...">RestoreState</a> to restore the state of this or another <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a>. <a href="#ab94ad5134881f56412343ef1eb1b601b"></a><br/></td></tr>
<tr class="separator:ab94ad5134881f56412343ef1eb1b601b inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a875f18e12c9c37c6447a6d9bb04e44 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a0a875f18e12c9c37c6447a6d9bb04e44">RestoreState</a> (<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_state.html">State</a> state)</td></tr>
<tr class="memdesc:a0a875f18e12c9c37c6447a6d9bb04e44 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restores this state by copying the values of all attribute implementations that this state contains into the attributes implementations of the targetStream. The targetStream must contain a corresponding instance for each argument contained in this state (e.g. it is not possible to restore the state of an <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> containing a TermAttribute into a <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> using a Token instance as implementation). <a href="#a0a875f18e12c9c37c6447a6d9bb04e44"></a><br/></td></tr>
<tr class="separator:a0a875f18e12c9c37c6447a6d9bb04e44 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5094d29f2eee8d0382599c92d4942c6b inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">override int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a5094d29f2eee8d0382599c92d4942c6b">GetHashCode</a> ()</td></tr>
<tr class="separator:a5094d29f2eee8d0382599c92d4942c6b inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a964f3c705f0565903edfb4961d522d inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">override bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a8a964f3c705f0565903edfb4961d522d">Equals</a> (System.Object obj)</td></tr>
<tr class="separator:a8a964f3c705f0565903edfb4961d522d inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40578cd0ceac27cc1c8107865af89b2a inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">override System.String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a40578cd0ceac27cc1c8107865af89b2a">ToString</a> ()</td></tr>
<tr class="separator:a40578cd0ceac27cc1c8107865af89b2a inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63aa777fc3258cfe0ff89b879bddb376 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">AttributeSource</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a63aa777fc3258cfe0ff89b879bddb376">CloneAttributes</a> ()</td></tr>
<tr class="memdesc:a63aa777fc3258cfe0ff89b879bddb376 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a clone of all <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Attribute</a> instances returned in a new <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> instance. This method can be used to e.g. create another TokenStream with exactly the same attributes (using <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a4657daf56cbc2d4510904a77d945997c" title="An AttributeSource that uses the same attributes as the supplied one.">AttributeSource(AttributeSource)</a>) <a href="#a63aa777fc3258cfe0ff89b879bddb376"></a><br/></td></tr>
<tr class="separator:a63aa777fc3258cfe0ff89b879bddb376 inherit pub_methods_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a508c67675f1fa1e9c7b229452945e24a"><td class="memItemLeft" align="right" valign="top">abstract void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a508c67675f1fa1e9c7b229452945e24a">Dispose</a> (bool disposing)</td></tr>
<tr class="separator:a508c67675f1fa1e9c7b229452945e24a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header properties_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td colspan="2" onclick="javascript:toggleInherit('properties_class_lucene_1_1_net_1_1_util_1_1_attribute_source')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">Lucene.Net.Util.AttributeSource</a></td></tr>
<tr class="memitem:a2d4a930c02c088e18b14c25e94f5089b inherit properties_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_attribute_factory.html">AttributeFactory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a2d4a930c02c088e18b14c25e94f5089b">Factory</a><code> [get]</code></td></tr>
<tr class="memdesc:a2d4a930c02c088e18b14c25e94f5089b inherit properties_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the used <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_attribute_factory.html" title="An AttributeFactory creates instances of Attributes.">AttributeFactory</a>. <a href="#a2d4a930c02c088e18b14c25e94f5089b"></a><br/></td></tr>
<tr class="separator:a2d4a930c02c088e18b14c25e94f5089b inherit properties_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7335286469fdd008e4a7d40cc97056ab inherit properties_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a7335286469fdd008e4a7d40cc97056ab">HasAttributes</a><code> [get]</code></td></tr>
<tr class="memdesc:a7335286469fdd008e4a7d40cc97056ab inherit properties_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true, iff this <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html" title="An AttributeSource contains a list of different Attributes, and methods to add and get them...">AttributeSource</a> has any attributes <a href="#a7335286469fdd008e4a7d40cc97056ab"></a><br/></td></tr>
<tr class="separator:a7335286469fdd008e4a7d40cc97056ab inherit properties_class_lucene_1_1_net_1_1_util_1_1_attribute_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> enumerates the sequence of tokens, either from <a class="el" href="_token_stream_8cs.html#a6d7b175c6799cf1d18e9493727d23fc6">Field</a>s of a <a class="el" href="_searcher_8cs.html#a2ad6aef8641c7b7a6cf9277f7d54b2cd">Document</a> or from query text. </p>
<p>This is an abstract class. Concrete subclasses are: </p>
<ul>
<li>
<a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tokenizer.html" title="A Tokenizer is a TokenStream whose input is a Reader. This is an abstract class; subclasses must over...">Tokenizer</a>, a <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> whose input is a Reader; and </li>
<li>
<a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_filter.html" title="A TokenFilter is a TokenStream whose input is another TokenStream. This is an abstract class; subclas...">TokenFilter</a>, a <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> whose input is another <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code>. </li>
</ul>
<p>A new <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> API has been introduced with <a class="el" href="namespace_lucene.html">Lucene</a> 2.9. This API has moved from being <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html" title="A Token is an occurrence of a term from the text of a field. It consists of a term&#39;s text...">Token</a> based to IAttribute based. While <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html" title="A Token is an occurrence of a term from the text of a field. It consists of a term&#39;s text...">Token</a> still exists in 2.9 as a convenience class, the preferred way to store the information of a <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html" title="A Token is an occurrence of a term from the text of a field. It consists of a term&#39;s text...">Token</a> is to use <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a>s. </p>
<p><code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> now extends <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#af8654555ddde74d7e463266371f3508c" title="An AttributeSource using the default attribute factory AttributeSource.AttributeFactory.DEFAULT_ATTRIBUTE_FACTORY.">AttributeSource</a>, which provides access to all of the token IAttributes for the <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code>. Note that only one instance per <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a> is created and reused for every token. This approach reduces object creation and allows local caching of references to the <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a>s. See <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken()</a> for further details. </p>
<p><b>The workflow of the new <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> API is as follows:</b> </p>
<ul>
<li>
Instantiation of <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code>/<a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_filter.html" title="A TokenFilter is a TokenStream whose input is another TokenStream. This is an abstract class; subclas...">TokenFilter</a>s which add/get attributes to/from the <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#af8654555ddde74d7e463266371f3508c" title="An AttributeSource using the default attribute factory AttributeSource.AttributeFactory.DEFAULT_ATTRIBUTE_FACTORY.">AttributeSource</a>. </li>
<li>
The consumer calls <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965" title="Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...">TokenStream.Reset()</a>. </li>
<li>
The consumer retrieves attributes from the stream and stores local references to all attributes it wants to access </li>
<li>
The consumer calls <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken()</a> until it returns false and consumes the attributes after each call. </li>
<li>
The consumer calls <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a92b3c4eab12fbf83daa07b7684cfbcaf" title="This method is called by the consumer after the last token has been consumed, after IncrementToken re...">End()</a> so that any end-of-stream operations can be performed. </li>
<li>
The consumer calls <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a5f66ac4c37218611b4a13f81f98332cd" title="Releases resources associated with this stream. ">Close()</a> to release any resource when finished using the <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> </li>
</ul>
<p>To make sure that filters and consumers know which attributes are available, the attributes must be added during instantiation. Filters and consumers are not required to check for availability of attributes in <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken()</a>. </p>
<p>You can find some example code for the new API in the analysis package level Javadoc. </p>
<p>Sometimes it is desirable to capture a current state of a <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> , e. g. for buffering purposes (see <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_caching_token_filter.html" title="This class can be used if the token attributes of a TokenStream are intended to be consumed more than...">CachingTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter.html" title="This TokenFilter provides the ability to set aside attribute states that have already been analyzed...">TeeSinkTokenFilter</a>). For this usecase AttributeSource.CaptureState and AttributeSource.RestoreState can be used. </p>
<p>Definition at line <a class="el" href="_token_stream_8cs_source.html#l00077">77</a> of file <a class="el" href="_token_stream_8cs_source.html">TokenStream.cs</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5f66ac4c37218611b4a13f81f98332cd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Lucene.Net.Analysis.TokenStream.Close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases resources associated with this stream. </p>
<p>Definition at line <a class="el" href="_token_stream_8cs_source.html#l00150">150</a> of file <a class="el" href="_token_stream_8cs_source.html">TokenStream.cs</a>.</p>
</div>
</div>
<a class="anchor" id="aae80b4c03fb07780821b0bbecbf472b2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Lucene.Net.Analysis.TokenStream.Dispose </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_token_stream_8cs_source.html#l00155">155</a> of file <a class="el" href="_token_stream_8cs_source.html">TokenStream.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a508c67675f1fa1e9c7b229452945e24a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract void Lucene.Net.Analysis.TokenStream.Dispose </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>disposing</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_shingle_1_1_shingle_matrix_filter.html#a78c40485f765e2b702cf2c6a130311ba">Lucene.Net.Analysis.Shingle.ShingleMatrixFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter_1_1_sink_token_stream.html#ac608e11e13d757951a060432e490d7d6">Lucene.Net.Analysis.TeeSinkTokenFilter.SinkTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_numeric_token_stream.html#abedc11d94d5191ed80b4153245663b79">Lucene.Net.Analysis.NumericTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_prefix_aware_token_filter.html#a6297281f2e8a4c003f1f2db39feee8ed">Lucene.Net.Analysis.Miscellaneous.PrefixAwareTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_prefix_1_1_prefix_tree_strategy_1_1_cell_token_stream.html#afd17b88f187ab00434c45dad4cfeb04d">Lucene.Net.Spatial.Prefix.PrefixTreeStrategy.CellTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tokenizer.html#ad3eaa17e4598d5c15aa93741f6088b02">Lucene.Net.Analysis.Tokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_prefix_and_suffix_aware_token_filter.html#a062318ee5a62bcf624db1e0e25ccde9a">Lucene.Net.Analysis.Miscellaneous.PrefixAndSuffixAwareTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_highlight_1_1_token_sources_1_1_stored_token_stream.html#a94cb4558ce5b59515ac5b27a100fa4c4">Lucene.Net.Search.Highlight.TokenSources.StoredTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_single_token_token_stream.html#a09667f084f2f1582dea04da73d3c9160">Lucene.Net.Analysis.Miscellaneous.SingleTokenTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_filter.html#ab69bd6df058df11c73cef6e49fd9bb96">Lucene.Net.Analysis.TokenFilter</a>, and <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_empty_token_stream.html#a606caed88ef9b6c1bf104c8a7cf54dc8">Lucene.Net.Analysis.Miscellaneous.EmptyTokenStream</a>.</p>
</div>
</div>
<a class="anchor" id="a92b3c4eab12fbf83daa07b7684cfbcaf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Analysis.TokenStream.End </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is called by the consumer after the last token has been consumed, after <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken</a> returned <code>false</code> (using the new <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> API). Streams implementing the old API should upgrade to use this feature. This method can be used to perform any end-of-stream operations, such as setting the final offset of a stream. The final offset of a stream might differ from the offset of the last token eg in case one or more whitespaces followed after the last token, but a <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_whitespace_tokenizer.html" title="A WhitespaceTokenizer is a tokenizer that divides text at whitespace. Adjacent sequences of non-White...">WhitespaceTokenizer</a> was used. </p>
<p>&lt;throws&gt; IOException &lt;/throws&gt; </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_c_j_k_1_1_c_j_k_tokenizer.html#a55ad7de33684568bb2efa01d1227201c">Lucene.Net.Analysis.CJK.CJKTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter_1_1_sink_token_stream.html#abfd9a84d4312d27bcae57443084c85d6">Lucene.Net.Analysis.TeeSinkTokenFilter.SinkTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_standard_1_1_standard_tokenizer.html#af80e0ac4865731d362aab4f2fc565b6b">Lucene.Net.Analysis.Standard.StandardTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_edge_n_gram_tokenizer.html#ad004fc75f64abc17bcc394bd2c92766a">Lucene.Net.Analysis.NGram.EdgeNGramTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_cn_1_1_chinese_tokenizer.html#ad5292695fcc723ca2a94daaf3079153d">Lucene.Net.Analysis.Cn.ChineseTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter.html#a93c585bc4703e295000185d6d792ef0e">Lucene.Net.Analysis.TeeSinkTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_n_gram_tokenizer.html#a832e99593466a57cdee19bcc93969a9b">Lucene.Net.Analysis.NGram.NGramTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_char_tokenizer.html#a2e7b8a28d1894a6ac3770492417f1d74">Lucene.Net.Analysis.CharTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_keyword_tokenizer.html#a7fe3d1d728eaf72091edb0646ea25942">Lucene.Net.Analysis.KeywordTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_caching_token_filter.html#a2f1a3efe08f7385226a5aa9aba805c8a">Lucene.Net.Analysis.CachingTokenFilter</a>, and <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_filter.html#aaa0df38303968e69795c3cdfd59cc741">Lucene.Net.Analysis.TokenFilter</a>.</p>
<p>Definition at line <a class="el" href="_token_stream_8cs_source.html#l00130">130</a> of file <a class="el" href="_token_stream_8cs_source.html">TokenStream.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a358a544108511440a57b134e722f6027"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">abstract bool Lucene.Net.Analysis.TokenStream.IncrementToken </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Consumers (i.e., <a class="el" href="_f_s_directory_8cs.html#a7d90824eac5b2433e714cc9faeb34d1b">IndexWriter</a>) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a>s with the attributes of the next token. </p>
<p>The producer must make no assumptions about the attributes after the method has been returned: the caller may arbitrarily change it. If the producer needs to preserve the state for subsequent calls, it can use AttributeSource.CaptureState to create a copy of the current attribute state.</p>
<p>This method is called for every token of a document, so an efficient implementation is crucial for good performance. To avoid calls to AttributeSource.AddAttribute{T}() and AttributeSource.GetAttribute{T}(), references to all <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html" title="Base class for Attributes that can be added to a Lucene.Net.Util.AttributeSource. Attributes are used...">Util.Attribute</a>s that this stream uses should be retrieved during instantiation.</p>
<p>To ensure that filters and consumers know which attributes are available, the attributes must be added during instantiation. Filters and consumers are not required to check for availability of attributes in <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#a358a544108511440a57b134e722f6027" title="Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate Util.Attributes with the attributes of the next token.">IncrementToken()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>false for end of stream; true otherwise</dd></dl>
<p>Implemented in <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_shingle_1_1_shingle_matrix_filter.html#ae7bb9d5011b8527cf2571994d3492eae">Lucene.Net.Analysis.Shingle.ShingleMatrixFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter_1_1_sink_token_stream.html#a4517abe609b364ecdf197202c6a8e620">Lucene.Net.Analysis.TeeSinkTokenFilter.SinkTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_numeric_token_stream.html#a1bba27b9942b7a36f064398484462e69">Lucene.Net.Analysis.NumericTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_c_j_k_1_1_c_j_k_tokenizer.html#aa46cb44252e78e985bb596b9871c168d">Lucene.Net.Analysis.CJK.CJKTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_edge_n_gram_tokenizer.html#aa33076183273e64f655372b62cf55928">Lucene.Net.Analysis.NGram.EdgeNGramTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_shingle_1_1_shingle_filter.html#ad30432abc83914f9c796e4730a4752ce">Lucene.Net.Analysis.Shingle.ShingleFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_standard_1_1_standard_tokenizer.html#aac8f7ccf35da37ea8b22e808f885ebb3">Lucene.Net.Analysis.Standard.StandardTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_edge_n_gram_token_filter.html#a8e844590fb9a59e4d837628350ddeec7">Lucene.Net.Analysis.NGram.EdgeNGramTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#aead7102e12d50ae83c14db953271fa05">Lucene.Net.Analysis.Compound.CompoundWordTokenFilterBase</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter.html#a4bb4526dc3bb7c6902cc8be2b4d9d2df">Lucene.Net.Analysis.TeeSinkTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_stop_filter.html#a0ed3bea416f49c24e305ca6ef703f799">Lucene.Net.Analysis.StopFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_spatial_1_1_prefix_1_1_prefix_tree_strategy_1_1_cell_token_stream.html#a4dc7b1c6504cfb491c21511a8b302741">Lucene.Net.Spatial.Prefix.PrefixTreeStrategy.CellTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_cn_1_1_chinese_tokenizer.html#ad71dabe1232b503cbc2f9bdfc49b94c5">Lucene.Net.Analysis.Cn.ChineseTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_n_gram_tokenizer.html#a0a415e1b633a97c252d6b3040383b146">Lucene.Net.Analysis.NGram.NGramTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_reverse_1_1_reverse_string_filter.html#a2e3f6ecfb4c272c63a080af2d44382af">Lucene.Net.Analysis.Reverse.ReverseStringFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_n_gram_token_filter.html#a1623b7f9f54d43ff40cce7a12debd0a1">Lucene.Net.Analysis.NGram.NGramTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_de_1_1_german_stem_filter.html#a0541f580a8f257e2b51349cd3dd65a62">Lucene.Net.Analysis.De.GermanStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_nl_1_1_dutch_stem_filter.html#a3b4b1db9b24d246b188062a33cf867c1">Lucene.Net.Analysis.Nl.DutchStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_prefix_aware_token_filter.html#a64bece4ca461d75b10789d6cb3b6e65f">Lucene.Net.Analysis.Miscellaneous.PrefixAwareTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_fr_1_1_elision_filter.html#a628bf9260c32471ad55f0b5403bd7766">Lucene.Net.Analysis.Fr.ElisionFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_fr_1_1_french_stem_filter.html#a6789c77fcfe0498b00f3a798ad9a8039">Lucene.Net.Analysis.Fr.FrenchStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_snowball_1_1_snowball_filter.html#a028ef6fc9eaa37db47b8489215db600a">Lucene.Net.Analysis.Snowball.SnowballFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_position_1_1_position_filter.html#a8d979970d1e65980c0d4fb3808a90506">Lucene.Net.Analysis.Position.PositionFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_cn_1_1_chinese_filter.html#ae988234c48e90c17b8892551fccfa55a">Lucene.Net.Analysis.Cn.ChineseFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_char_tokenizer.html#a24d19295780e10c1ea34f895a9d2d0a3">Lucene.Net.Analysis.CharTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_a_s_c_i_i_folding_filter.html#a53e0cb078016b55decec32efe44fe6f6">Lucene.Net.Analysis.ASCIIFoldingFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_keyword_tokenizer.html#ac4e0336424543660beb924f2c091c94e">Lucene.Net.Analysis.KeywordTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_payloads_1_1_delimited_payload_token_filter.html#a09b08ed8fdd1ee3207472ee7da664cdf">Lucene.Net.Analysis.Payloads.DelimitedPayloadTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_prefix_and_suffix_aware_token_filter.html#a1f7e5bb672289957333c294124ff8e1f">Lucene.Net.Analysis.Miscellaneous.PrefixAndSuffixAwareTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_th_1_1_thai_word_filter.html#af871b66494b580b7db812caef6fa7679">Lucene.Net.Analysis.Th.ThaiWordFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_b_r_1_1_brazilian_stem_filter.html#a481fb4301be9de2adfbb885a3aa1630f">Lucene.Net.Analysis.BR.BrazilianStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_ru_1_1_russian_stem_filter.html#a10c5e44834abcd0085eabb41d8b0baa2">Lucene.Net.Analysis.Ru.RussianStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_search_1_1_highlight_1_1_token_sources_1_1_stored_token_stream.html#aba3299da723184852cac31c239634da2">Lucene.Net.Search.Highlight.TokenSources.StoredTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_hunspell_1_1_hunspell_stem_filter.html#a07d6220242293dfccc47354ac0bd950d">Lucene.Net.Analysis.Hunspell.HunspellStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_porter_stem_filter.html#a09bb0e00a2d3f5452f4eb1b0528e059c">Lucene.Net.Analysis.PorterStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_standard_1_1_standard_filter.html#a1d9f9fdba0b0818b061775728bf1f3d0">Lucene.Net.Analysis.Standard.StandardFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_payloads_1_1_numeric_payload_token_filter.html#abe337ddfbaee7b9c6d2a31163d87d714">Lucene.Net.Analysis.Payloads.NumericPayloadTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_a_r_1_1_arabic_stem_filter.html#a50d7d4b8843823aa92ba5fa30bcf3d37">Lucene.Net.Analysis.AR.ArabicStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_i_s_o_latin1_accent_filter.html#a63f9a502308e0b807e5f5b12efbe3306">Lucene.Net.Analysis.ISOLatin1AccentFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_a_r_1_1_arabic_normalization_filter.html#a01c0fb8c8fa6894d9f7c10be31cfba42">Lucene.Net.Analysis.AR.ArabicNormalizationFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_single_token_token_stream.html#a082ff21efcf853dd94a9edd3c858ec1a">Lucene.Net.Analysis.Miscellaneous.SingleTokenTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_payloads_1_1_type_as_payload_token_filter.html#aca66ff376de5d136863592ce35b1dd73">Lucene.Net.Analysis.Payloads.TypeAsPayloadTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_fa_1_1_persian_normalization_filter.html#a8ef367374d19abdea85f9505c5e5b650">Lucene.Net.Analysis.Fa.PersianNormalizationFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_payloads_1_1_token_offset_payload_token_filter.html#ac939ded72076e7afb7148ded5c576f63">Lucene.Net.Analysis.Payloads.TokenOffsetPayloadTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_length_filter.html#a28a8f7bffd5cb6266c044deeb1a088cf">Lucene.Net.Analysis.LengthFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_ru_1_1_russian_lower_case_filter.html#af8237af0eed266255e533854e804b462">Lucene.Net.Analysis.Ru.RussianLowerCaseFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_el_1_1_greek_lower_case_filter.html#a0cfff15e2a2c333d33a0ebc45f57f9a4">Lucene.Net.Analysis.El.GreekLowerCaseFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_caching_token_filter.html#a3fc274731685ad3d6082ba322c717518">Lucene.Net.Analysis.CachingTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_lower_case_filter.html#a8c345598fdeb9882440fd808b10480ad">Lucene.Net.Analysis.LowerCaseFilter</a>, and <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_empty_token_stream.html#a1b6411300dac4e5c645ea418be36739a">Lucene.Net.Analysis.Miscellaneous.EmptyTokenStream</a>.</p>
</div>
</div>
<a class="anchor" id="af7c4a3464dc78b1d0451492d9c520965"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Lucene.Net.Analysis.TokenStream.Reset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets this stream to the beginning. This is an optional operation, so subclasses may or may not implement this method. <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965" title="Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...">Reset()</a> is not needed for the standard indexing process. However, if the tokens of a <code><a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a></code> are intended to be consumed more than once, it is necessary to implement <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965" title="Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...">Reset()</a>. Note that if your <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html" title="A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text...">TokenStream</a> caches tokens and feeds them back again after a reset, it is imperative that you clone the tokens when you store them away (on the first pass) as well as when you return them (on future passes after <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html#af7c4a3464dc78b1d0451492d9c520965" title="Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...">Reset()</a>). </p>
<p>Reimplemented in <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_c_j_k_1_1_c_j_k_tokenizer.html#a1d0d74b6294c8bfe0a4dd1582a2e8e34">Lucene.Net.Analysis.CJK.CJKTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_shingle_1_1_shingle_filter.html#a420c14d45bd742b431117a173753e1ce">Lucene.Net.Analysis.Shingle.ShingleFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_shingle_1_1_shingle_matrix_filter.html#a38d93cb7458afcbfae55dc3554e02e71">Lucene.Net.Analysis.Shingle.ShingleMatrixFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_tee_sink_token_filter_1_1_sink_token_stream.html#a9065b9e053e4173cf8d25e2a67e98684">Lucene.Net.Analysis.TeeSinkTokenFilter.SinkTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a02cae3667ee6be12b6a47057ab7ca6bc">Lucene.Net.Analysis.Compound.CompoundWordTokenFilterBase</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_edge_n_gram_tokenizer.html#acb2c47c8d4892775826c97b4ea32d0a5">Lucene.Net.Analysis.NGram.EdgeNGramTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_numeric_token_stream.html#a46d2a8a32530232e2032d1a8c4ebe7d0">Lucene.Net.Analysis.NumericTokenStream</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_edge_n_gram_token_filter.html#af896bc6b38a820b3ce5e082d76dc4368">Lucene.Net.Analysis.NGram.EdgeNGramTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_cn_1_1_chinese_tokenizer.html#a5237e0e772eae62b061c22881e774635">Lucene.Net.Analysis.Cn.ChineseTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_prefix_aware_token_filter.html#a55fb177f0b6174df2f638b3732b6bcc8">Lucene.Net.Analysis.Miscellaneous.PrefixAwareTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_n_gram_tokenizer.html#a6379eac7f4d6f07146374b9ecf4f2202">Lucene.Net.Analysis.NGram.NGramTokenizer</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_n_gram_1_1_n_gram_token_filter.html#af17ae13d04cbdd0257f66955d232069d">Lucene.Net.Analysis.NGram.NGramTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_th_1_1_thai_word_filter.html#aa85fd75d9479d9649acb4d5fef39469c">Lucene.Net.Analysis.Th.ThaiWordFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_position_1_1_position_filter.html#a15bf824ea2fc805a75a16e7f4c9314d7">Lucene.Net.Analysis.Position.PositionFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_hunspell_1_1_hunspell_stem_filter.html#a24f716ba89996d58d6b1778158488194">Lucene.Net.Analysis.Hunspell.HunspellStemFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_caching_token_filter.html#a82b367ec2276798af934946d241a3f19">Lucene.Net.Analysis.CachingTokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_filter.html#ab386a16fe7b8974a90c362f194f28e1d">Lucene.Net.Analysis.TokenFilter</a>, <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_prefix_and_suffix_aware_token_filter.html#a1bb9b9f775f241d9598db13d54d3cc14">Lucene.Net.Analysis.Miscellaneous.PrefixAndSuffixAwareTokenFilter</a>, and <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_miscellaneous_1_1_single_token_token_stream.html#afb02c1dcd5ddcbdd947da975a355eb72">Lucene.Net.Analysis.Miscellaneous.SingleTokenTokenStream</a>.</p>
<p>Definition at line <a class="el" href="_token_stream_8cs_source.html#l00144">144</a> of file <a class="el" href="_token_stream_8cs_source.html">TokenStream.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>core/Analysis/<a class="el" href="_token_stream_8cs_source.html">TokenStream.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:48 for Lucene.Net by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3
</small></address>
</body>
</html>