blob: a4090e53f4e6683459bd56bce78df38445de3f67 [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: contrib/Analyzers/Compound/CompoundWordTokenFilterBase.cs Source File</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><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><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="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#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="dir_3a8d697be1e2feab9f01acc78e9570fb.html">contrib</a></li><li class="navelem"><a class="el" href="dir_d6f46d6f08706e7c5949ba49fb409a42.html">Analyzers</a></li><li class="navelem"><a class="el" href="dir_0c39958a16795e510d8212dfcb44062f.html">Compound</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">CompoundWordTokenFilterBase.cs</div> </div>
</div><!--header-->
<div class="contents">
<a href="_compound_word_token_filter_base_8cs.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * this work for additional information regarding copyright ownership.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * (the &quot;License&quot;); you may not use this file except in compliance with</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * the License. You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * limitations under the License.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">using</span> System;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">using</span> System.Collections.Generic;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">using</span> Lucene.Net.Analysis.Tokenattributes;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="code" href="namespace_lucene_1_1_net_1_1_analysis_1_1_compound.html"> 22</a></span>&#160;<span class="keyword">namespace </span>Lucene.Net.Analysis.Compound</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;{</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Base class for decomposition token filters.</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html"> 28</a></span>&#160; <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class </span><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html">CompoundWordTokenFilterBase</a> : <a class="code" 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></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * The default for minimal word length that gets decomposed</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#ac7c75761d13e852acbdd309005ff0702"> 33</a></span>&#160; <span class="keyword">public</span> <span class="keyword">static</span> readonly <span class="keywordtype">int</span> DEFAULT_MIN_WORD_SIZE = 5;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"> * The default for minimal length of subwords that get propagated to the output of this filter</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a4ffd58acf06df70fabe88becaa636ea4"> 38</a></span>&#160; <span class="keyword">public</span> <span class="keyword">static</span> readonly <span class="keywordtype">int</span> DEFAULT_MIN_SUBWORD_SIZE = 2;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> * The default for maximal length of subwords that get propagated to the output of this filter</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#acae8ccab30905ccf71efbdd457ad9e11"> 43</a></span>&#160; <span class="keyword">public</span> <span class="keyword">static</span> readonly <span class="keywordtype">int</span> DEFAULT_MAX_SUBWORD_SIZE = 15;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a61f883b767e54fec59db991db7cdfa07"> 45</a></span>&#160; <span class="keyword">protected</span> readonly <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_char_array_set.html" title="A simple class that stores Strings as char[]&#39;s in a hash table. Note that this is not a general purpo...">CharArraySet</a> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a61f883b767e54fec59db991db7cdfa07">dictionary</a>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#aac835012ad2a679cb681661616ac5eb9"> 46</a></span>&#160; <span class="keyword">protected</span> readonly LinkedList&lt;Token&gt; <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#aac835012ad2a679cb681661616ac5eb9">tokens</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#addddad5cab227310f62ad486bdfb9751"> 47</a></span>&#160; <span class="keyword">protected</span> readonly <span class="keywordtype">int</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#addddad5cab227310f62ad486bdfb9751">minWordSize</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a610d5c68bc87309cc3c8fbc77a319e87"> 48</a></span>&#160; <span class="keyword">protected</span> readonly <span class="keywordtype">int</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a610d5c68bc87309cc3c8fbc77a319e87">minSubwordSize</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a70f3db046f0efa3163db8ed0594894d5"> 49</a></span>&#160; <span class="keyword">protected</span> readonly <span class="keywordtype">int</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a70f3db046f0efa3163db8ed0594894d5">maxSubwordSize</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a4b2cc1b558334f940ff2cef21c878175"> 50</a></span>&#160; <span class="keyword">protected</span> readonly <span class="keywordtype">bool</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a4b2cc1b558334f940ff2cef21c878175">onlyLongestMatch</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keyword">private</span> <a class="code" href="interface_lucene_1_1_net_1_1_analysis_1_1_tokenattributes_1_1_i_term_attribute.html" title="The term text of a Token.">ITermAttribute</a> termAtt;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">private</span> <a class="code" href="interface_lucene_1_1_net_1_1_analysis_1_1_tokenattributes_1_1_i_offset_attribute.html" title="The start and end character offset of a Token. ">IOffsetAttribute</a> offsetAtt;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">private</span> <a class="code" href="interface_lucene_1_1_net_1_1_analysis_1_1_tokenattributes_1_1_i_flags_attribute.html" title="This attribute can be used to pass different flags down the Tokenizer chain, eg from one TokenFilter ...">IFlagsAttribute</a> flagsAtt;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">private</span> <a class="code" href="interface_lucene_1_1_net_1_1_analysis_1_1_tokenattributes_1_1_i_position_increment_attribute.html" title="The positionIncrement determines the position of this token relative to the previous Token in a Token...">IPositionIncrementAttribute</a> posIncAtt;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">private</span> <a class="code" href="interface_lucene_1_1_net_1_1_analysis_1_1_tokenattributes_1_1_i_type_attribute.html" title="A Token&#39;s lexical type. The Default value is &quot;word&quot;. ">ITypeAttribute</a> typeAtt;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">private</span> <a class="code" href="interface_lucene_1_1_net_1_1_analysis_1_1_tokenattributes_1_1_i_payload_attribute.html" title="The payload of a Token. See also Payload.">IPayloadAttribute</a> payloadAtt;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">private</span> readonly <a class="code" 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> wrapper = <span class="keyword">new</span> <a class="code" href="_snowball_filter_8cs.html#a6f0cf8ca71e14fbb50a33080d0492fff">Token</a>();</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#aeda9fbf841d34410dd78bec8b33459ed"> 61</a></span>&#160; <span class="keyword">protected</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html">CompoundWordTokenFilterBase</a>(<a class="code" 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> input, String[] dictionary, <span class="keywordtype">int</span> minWordSize, <span class="keywordtype">int</span> minSubwordSize, <span class="keywordtype">int</span> maxSubwordSize, <span class="keywordtype">bool</span> onlyLongestMatch)</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; : this(input, MakeDictionary(dictionary), minWordSize, minSubwordSize, maxSubwordSize, onlyLongestMatch)</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; }</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a3a3e3fac01758f8e19a1351eb881a02e"> 67</a></span>&#160; <span class="keyword">protected</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html">CompoundWordTokenFilterBase</a>(<a class="code" 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> input, String[] dictionary, <span class="keywordtype">bool</span> onlyLongestMatch)</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; : this(input, MakeDictionary(dictionary), DEFAULT_MIN_WORD_SIZE, DEFAULT_MIN_SUBWORD_SIZE, DEFAULT_MAX_SUBWORD_SIZE, onlyLongestMatch)</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#aa3acc9b9d97b9f18ff2096ad773326b6"> 73</a></span>&#160; <span class="keyword">protected</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html">CompoundWordTokenFilterBase</a>(<a class="code" 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> input, ISet&lt;string&gt; dictionary, <span class="keywordtype">bool</span> onlyLongestMatch)</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; : this(input, dictionary, DEFAULT_MIN_WORD_SIZE, DEFAULT_MIN_SUBWORD_SIZE, DEFAULT_MAX_SUBWORD_SIZE, onlyLongestMatch)</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a3cc3110d25b51d4ecbaebd5c258a60ef"> 79</a></span>&#160; <span class="keyword">protected</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html">CompoundWordTokenFilterBase</a>(<a class="code" 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> input, String[] dictionary)</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; : this(input, MakeDictionary(dictionary), DEFAULT_MIN_WORD_SIZE, DEFAULT_MIN_SUBWORD_SIZE, DEFAULT_MAX_SUBWORD_SIZE, false)</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a81ac019556d4a965ad7b15ad88fc32c2"> 85</a></span>&#160; <span class="keyword">protected</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html">CompoundWordTokenFilterBase</a>(<a class="code" 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> input, ISet&lt;string&gt; dictionary)</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; : this(input, dictionary, DEFAULT_MIN_WORD_SIZE, DEFAULT_MIN_SUBWORD_SIZE, DEFAULT_MAX_SUBWORD_SIZE, false)</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#ab48bae9a990ea28c15eb70dd6be5c2bf"> 91</a></span>&#160; <span class="keyword">protected</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html">CompoundWordTokenFilterBase</a>(<a class="code" 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> input, ISet&lt;string&gt; dictionary, <span class="keywordtype">int</span> minWordSize, <span class="keywordtype">int</span> minSubwordSize, <span class="keywordtype">int</span> maxSubwordSize, <span class="keywordtype">bool</span> onlyLongestMatch)</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; : base(input)</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; this.tokens = <span class="keyword">new</span> LinkedList&lt;Token&gt;();</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; this.minWordSize = minWordSize;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; this.minSubwordSize = minSubwordSize;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; this.maxSubwordSize = maxSubwordSize;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; this.onlyLongestMatch = onlyLongestMatch;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span> (dictionary is <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_char_array_set.html" title="A simple class that stores Strings as char[]&#39;s in a hash table. Note that this is not a general purpo...">CharArraySet</a>)</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; this.dictionary = (CharArraySet)dictionary;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; this.dictionary = <span class="keyword">new</span> CharArraySet(dictionary.Count, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; AddAllLowerCase(this.dictionary, dictionary);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; termAtt = AddAttribute&lt;ITermAttribute&gt;();</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; offsetAtt = AddAttribute&lt;IOffsetAttribute&gt;();</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; flagsAtt = AddAttribute&lt;IFlagsAttribute&gt;();</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; posIncAtt = AddAttribute&lt;IPositionIncrementAttribute&gt;();</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; typeAtt = AddAttribute&lt;ITypeAttribute&gt;();</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; payloadAtt = AddAttribute&lt;IPayloadAttribute&gt;();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * Create a set of words from an array</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * The resulting Set does case insensitive matching</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> * TODO We should look for a faster dictionary lookup approach.</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * @param dictionary </span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * @return {@link Set} of lowercased terms </span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#abefd5cbb1a5d63275acbc27033649409"> 125</a></span>&#160; <span class="keyword">public</span> <span class="keyword">static</span> ISet&lt;string&gt; MakeDictionary(String[] dictionary)</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// is the below really case insensitive? </span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_char_array_set.html" title="A simple class that stores Strings as char[]&#39;s in a hash table. Note that this is not a general purpo...">CharArraySet</a> dict = <span class="keyword">new</span> <a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_char_array_set.html" title="A simple class that stores Strings as char[]&#39;s in a hash table. Note that this is not a general purpo...">CharArraySet</a>(dictionary.Length, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; AddAllLowerCase(dict, dictionary);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> dict;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">private</span> <span class="keywordtype">void</span> setToken(<a class="code" 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> token)</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; ClearAttributes();</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; termAtt.SetTermBuffer(token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a452174268b8297bbfd5a3fb464cbe04c" title="Returns the internal termBuffer character array which you can then directly alter. If the array is too small for your token, use ResizeTermBuffer(int) to increase it. After altering the buffer be sure to call SetTermLength to record the number of valid characters that were placed into the termBuffer. ">TermBuffer</a>(), 0, token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a06d3ac24f755c433802c6200a60dbda4" title="Return number of valid characters (length of the term) in the termBuffer array. ">TermLength</a>());</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; flagsAtt.Flags = token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a7a2c75871d2e56906e8329e8dfe92125" title="EXPERIMENTAL: While we think this is here to stay, we may want to change it to be a long...">Flags</a>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; typeAtt.Type = token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a61943bcca47590fc996a1ced87587ebc" title="Returns this Token&#39;s lexical type. Defaults to &quot;word&quot;. ">Type</a>;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; offsetAtt.SetOffset(token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a421271c40ecfd6be5852f55a4a08ccb0" title="Gets or sets this Token&#39;s starting offset, the position of the first character corresponding to this ...">StartOffset</a>, token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a8dac36e25c06d03003cf46748858026f" title="Gets or sets this Token&#39;s ending offset, one greater than the position of the last character correspo...">EndOffset</a>);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; posIncAtt.PositionIncrement = token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a18cc1de69d72cea8f63246b9437a1399" title="Set the position increment. This determines the position of this token relative to the previous Token...">PositionIncrement</a>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; payloadAtt.Payload = token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#aed3aa6f2f6759e126b1d837c2049cee7" title="Returns this Token&#39;s payload.">Payload</a>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#aead7102e12d50ae83c14db953271fa05"> 144</a></span>&#160; <span class="keyword">public</span> sealed <span class="keyword">override</span> <span class="keywordtype">bool</span> IncrementToken()</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">if</span> (tokens.Count &gt; 0)</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; setToken((<a class="code" 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>)tokens.First.Value);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; tokens.RemoveFirst();</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (input.IncrementToken() == <span class="keyword">false</span>)</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; wrapper.SetTermBuffer(termAtt.TermBuffer(), 0, termAtt.TermLength());</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; wrapper.StartOffset = offsetAtt.StartOffset;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; wrapper.EndOffset = offsetAtt.EndOffset;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; wrapper.Flags = flagsAtt.Flags;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; wrapper.Type = typeAtt.Type;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; wrapper.PositionIncrement = posIncAtt.PositionIncrement;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; wrapper.Payload = payloadAtt.Payload;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; Decompose(wrapper);</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">if</span> (tokens.Count &gt; 0)</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; setToken(tokens.First.Value);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; tokens.RemoveFirst();</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#aa96b2e0f2af4f23d62f386613a14b25b"> 178</a></span>&#160; <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keywordtype">void</span> AddAllLowerCase(ISet&lt;string&gt; target, ICollection&lt;string&gt; col)</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">foreach</span> (var str <span class="keywordflow">in</span> col)</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; target.Add(str.ToLower(System.Globalization.CultureInfo.GetCultureInfo(<span class="stringliteral">&quot;en-US&quot;</span>)));</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a6ea303c74ba1ab614f439d261205f7b9"> 186</a></span>&#160; <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keywordtype">char</span>[] MakeLowerCaseCopy(<span class="keywordtype">char</span>[] buffer)</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordtype">char</span>[] result = <span class="keyword">new</span> <span class="keywordtype">char</span>[buffer.Length];</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; Array.Copy(buffer, 0, result, 0, buffer.Length);</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; buffer.Length; ++i)</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; result[i] = <span class="keywordtype">char</span>.ToLower(buffer[i]); <span class="comment">// Is java invariant?</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#ad4aacba12a43740e127d26725e19f365"> 199</a></span>&#160; <span class="keyword">protected</span> <a class="code" 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> CreateToken(<span class="keywordtype">int</span> offset, <span class="keywordtype">int</span> length,</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" 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> prototype)</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordtype">int</span> newStart = prototype.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a421271c40ecfd6be5852f55a4a08ccb0" title="Gets or sets this Token&#39;s starting offset, the position of the first character corresponding to this ...">StartOffset</a> + offset;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" 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> t = prototype.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#aed1714059d4be96d62a674e7be53c573" title="Shallow clone. Subclasses must override this if they need to clone any members deeply, ">Clone</a>(prototype.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a452174268b8297bbfd5a3fb464cbe04c" title="Returns the internal termBuffer character array which you can then directly alter. If the array is too small for your token, use ResizeTermBuffer(int) to increase it. After altering the buffer be sure to call SetTermLength to record the number of valid characters that were placed into the termBuffer. ">TermBuffer</a>(), offset, length, newStart, newStart + length);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; t.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a18cc1de69d72cea8f63246b9437a1399" title="Set the position increment. This determines the position of this token relative to the previous Token...">PositionIncrement</a> = 0;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> t;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a08dc06b393e11138fa67e2900c5fc978"> 208</a></span>&#160; <span class="keyword">protected</span> <span class="keywordtype">void</span> Decompose(<a class="code" 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> token)</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="comment">// In any case we give the original token back</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; tokens.AddLast((<a class="code" 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>)token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#aed1714059d4be96d62a674e7be53c573" title="Shallow clone. Subclasses must override this if they need to clone any members deeply, ">Clone</a>());</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="comment">// Only words longer than minWordSize get processed</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span> (token.<a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_token.html#a06d3ac24f755c433802c6200a60dbda4" title="Return number of valid characters (length of the term) in the termBuffer array. ">TermLength</a>() &lt; this.minWordSize)</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; DecomposeInternal(token);</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keywordtype">void</span> DecomposeInternal(<a class="code" 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> token);</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_analysis_1_1_compound_1_1_compound_word_token_filter_base.html#a02cae3667ee6be12b6a47057ab7ca6bc"> 224</a></span>&#160; <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> Reset()</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; base.Reset();</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; tokens.Clear();</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; }</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:42 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>