<!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.Util.AttributeSource 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_util.html">Util</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">AttributeSource</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_lucene_1_1_net_1_1_util_1_1_attribute_source-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Lucene.Net.Util.AttributeSource Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>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> contains a list of different <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>s, and methods to add and get them. There can only be a single instance of an attribute in the same <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 is ensured by passing in the actual type of 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...">Attribute</a> (Class&lt;<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;) to the AddAttribute{T}(), which then checks if an instance of that type is already present. If yes, it returns the instance, otherwise it creates a new instance and returns it.  
 <a href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#details">More...</a></p>

<p>Inherited by <a class="el" href="class_lucene_1_1_net_1_1_analysis_1_1_token_stream.html">Lucene.Net.Analysis.TokenStream</a>, and Lucene.Net.Index.DocInverterPerThread.SingleTokenAttributeSource.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_attribute_factory.html">AttributeFactory</a></td></tr>
<tr class="memdesc:"><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_1_1_attribute_factory.html" title="An AttributeFactory creates instances of Attributes.">AttributeFactory</a> creates instances of <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>s. <a href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_attribute_factory.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_state.html">State</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class holds 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>. <a href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_state.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:af8654555ddde74d7e463266371f3508c"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4657daf56cbc2d4510904a77d945997c"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4372366a8ca0b624dae66733e3553386"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca60de1d129a37ebe8e53c0a4998b9b"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeac0f9d6ba00ffe0befc22c2f72d22f2"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa077979929068d17e3a5627fa5c1c180"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a024db4fdac7177bbec9ccf0a55947ac8"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a944174da417e353469198d70f71ab074"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13d275abdba07913cee5cd2ab139b545"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10993674504f3065a2320a6c498c773e"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab94ad5134881f56412343ef1eb1b601b"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a875f18e12c9c37c6447a6d9bb04e44"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5094d29f2eee8d0382599c92d4942c6b"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a964f3c705f0565903edfb4961d522d"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40578cd0ceac27cc1c8107865af89b2a"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63aa777fc3258cfe0ff89b879bddb376"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a2d4a930c02c088e18b14c25e94f5089b"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7335286469fdd008e4a7d40cc97056ab"><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"><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"><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>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> contains a list of different <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>s, and methods to add and get them. There can only be a single instance of an attribute in the same <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 is ensured by passing in the actual type of 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...">Attribute</a> (Class&lt;<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;) to the AddAttribute{T}(), which then checks if an instance of that type is already present. If yes, it returns the instance, otherwise it creates a new instance and returns it. </p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00036">36</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af8654555ddde74d7e463266371f3508c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Lucene.Net.Util.AttributeSource.AttributeSource </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>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.</p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00109">109</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4657daf56cbc2d4510904a77d945997c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Lucene.Net.Util.AttributeSource.AttributeSource </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">AttributeSource</a>&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>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.</p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00114">114</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4372366a8ca0b624dae66733e3553386"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Lucene.Net.Util.AttributeSource.AttributeSource </td>
          <td>(</td>
          <td class="paramtype"><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="paramname"><em>factory</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>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.</p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00127">127</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a024db4fdac7177bbec9ccf0a55947ac8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual T Lucene.Net.Util.AttributeSource.AddAttribute&lt; T &gt; </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>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. </p>
<div class="typeconstraint">
<dl><dt><b>Type Constraints</b><dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em>T</em></td><td>&#160;:</td><td valign="top"><em>IAttribute</em></td><td>&#160;</td></tr>
</table>
</dl>
</div>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00244">244</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="aa077979929068d17e3a5627fa5c1c180"></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.Util.AttributeSource.AddAttributeImpl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html">Attribute</a>&#160;</td>
          <td class="paramname"><em>att</em></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><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. </p>
<p>&lt;font color="red"&gt;<b>Please note:</b> It is not guaranteed, that <code>att</code> is added to the <code><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></code>, because the provided attributes may already exist. You should always retrieve the wanted attributes using GetAttribute{T} after adding with this method and cast to your class. The recommended way to use custom implementations is using an <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> &lt;/font&gt;</p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00184">184</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ab94ad5134881f56412343ef1eb1b601b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_state.html">State</a> Lucene.Net.Util.AttributeSource.CaptureState </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>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>. </p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00364">364</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a10993674504f3065a2320a6c498c773e"></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.Util.AttributeSource.ClearAttributes </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 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. </p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00353">353</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a63aa777fc3258cfe0ff89b879bddb376"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html">AttributeSource</a> Lucene.Net.Util.AttributeSource.CloneAttributes </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>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>) </p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00483">483</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a8a964f3c705f0565903edfb4961d522d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">override bool Lucene.Net.Util.AttributeSource.Equals </td>
          <td>(</td>
          <td class="paramtype">System.Object&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00413">413</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a13d275abdba07913cee5cd2ab139b545"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual T Lucene.Net.Util.AttributeSource.GetAttribute&lt; T &gt; </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>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> </p>
<p>&lt;throws&gt; IllegalArgumentException if 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> does not contain 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...">Attribute</a>. It is recommended to always use AddAttribute{T} even in consumers of TokenStreams, because you cannot know if a specific TokenStream really uses a specific <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>. AddAttribute{T} will automatically make the attribute available. If you want to only use the attribute, if it is available (to optimize consuming), use HasAttribute. &lt;/throws&gt; </p>
<div class="typeconstraint">
<dl><dt><b>Type Constraints</b><dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em>T</em></td><td>&#160;:</td><td valign="top"><em>IAttribute</em></td><td>&#160;</td></tr>
</table>
</dl>
</div>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00290">290</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="aeac0f9d6ba00ffe0befc22c2f72d22f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual IEnumerable&lt;<a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute.html">Attribute</a>&gt; Lucene.Net.Util.AttributeSource.GetAttributeImplsIterator </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>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> </p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00160">160</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="aaca60de1d129a37ebe8e53c0a4998b9b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual IEnumerable&lt;Type&gt; Lucene.Net.Util.AttributeSource.GetAttributeTypesIterator </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>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> </p>
<p>Note that this return value is different from Java in that it enumerates over the values and not the keys </p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00149">149</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a5094d29f2eee8d0382599c92d4942c6b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">override int Lucene.Net.Util.AttributeSource.GetHashCode </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="_attribute_source_8cs_source.html#l00401">401</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a944174da417e353469198d70f71ab074"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Lucene.Net.Util.AttributeSource.HasAttribute&lt; T &gt; </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>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>. </p>
<p>\ </p>
<div class="typeconstraint">
<dl><dt><b>Type Constraints</b><dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em>T</em></td><td>&#160;:</td><td valign="top"><em>IAttribute</em></td><td>&#160;</td></tr>
</table>
</dl>
</div>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00272">272</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a0a875f18e12c9c37c6447a6d9bb04e44"></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.Util.AttributeSource.RestoreState </td>
          <td>(</td>
          <td class="paramtype"><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="paramname"><em>state</em></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>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). </p>
<p>Note that this method does not affect attributes of the targetStream that are not contained in this state. In other words, if for example the targetStream contains an OffsetAttribute, but this state doesn't, then the value of the OffsetAttribute remains unchanged. It might be desirable to reset its value to the default, in which case the caller should first call <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source.html#a10993674504f3065a2320a6c498c773e" title="Resets all Attributes in this AttributeSource by calling Attribute.Clear() on each Attribute implemen...">AttributeSource.ClearAttributes()</a> on the targetStream. </p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00384">384</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a40578cd0ceac27cc1c8107865af89b2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">override System.String Lucene.Net.Util.AttributeSource.ToString </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="_attribute_source_8cs_source.html#l00459">459</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a2d4a930c02c088e18b14c25e94f5089b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_lucene_1_1_net_1_1_util_1_1_attribute_source_1_1_attribute_factory.html">AttributeFactory</a> Lucene.Net.Util.AttributeSource.Factory</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>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>.</p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00137">137</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a7335286469fdd008e4a7d40cc97056ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Lucene.Net.Util.AttributeSource.HasAttributes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>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 </p>

<p>Definition at line <a class="el" href="_attribute_source_8cs_source.html#l00265">265</a> of file <a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>core/Util/<a class="el" href="_attribute_source_8cs_source.html">AttributeSource.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:59 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>
