﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class TestDocValuesFormatFactory
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class TestDocValuesFormatFactory
   | Apache Lucene.NET 4.8.0-beta00008 Documentation ">
    <meta name="generator" content="docfx 2.50.0.0">
    
    <link rel="shortcut icon" href="../../logo/favicon.ico">
    <link rel="stylesheet" href="../../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../../styles/docfx.css">
    <link rel="stylesheet" href="../../styles/main.css">
    <meta property="docfx:navrel" content="../../toc.html">
    <meta property="docfx:tocrel" content="../toc.html">
    
    <meta property="docfx:rel" content="../../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../../index.html">
                <img id="logo" class="svg" src="../../logo/lucene-net-color.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Lucene.Net.Codecs.TestDocValuesFormatFactory">
  
  
  <h1 id="Lucene_Net_Codecs_TestDocValuesFormatFactory" data-uid="Lucene.Net.Codecs.TestDocValuesFormatFactory" class="text-break">Class TestDocValuesFormatFactory
  </h1>
  <div class="markdown level0 summary"><p>LUCENENET specific class used to add the DocValuesFormats from the test framework.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="../Lucene.Net/Lucene.Net.Util.NamedServiceFactory-1.html">NamedServiceFactory</a>&lt;<a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DocValuesFormat.html">DocValuesFormat</a>&gt;</div>
    <div class="level2"><a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html">DefaultDocValuesFormatFactory</a></div>
    <div class="level3"><span class="xref">TestDocValuesFormatFactory</span></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.IDocValuesFormatFactory.html">IDocValuesFormatFactory</a></div>
    <div><a class="xref" href="../Lucene.Net/Lucene.Net.Util.IServiceListable.html">IServiceListable</a></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_CustomDocValuesFormatTypes">DefaultDocValuesFormatFactory.CustomDocValuesFormatTypes</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_ScanForDocValuesFormats_System_Collections_Generic_IEnumerable_System_Reflection_Assembly__">DefaultDocValuesFormatFactory.ScanForDocValuesFormats(IEnumerable&lt;Assembly&gt;)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_ScanForDocValuesFormats_System_Reflection_Assembly_">DefaultDocValuesFormatFactory.ScanForDocValuesFormats(Assembly)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_PutDocValuesFormatType_System_Type_">DefaultDocValuesFormatFactory.PutDocValuesFormatType(Type)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_GetDocValuesFormat_System_String_">DefaultDocValuesFormatFactory.GetDocValuesFormat(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_GetDocValuesFormat_System_Type_">DefaultDocValuesFormatFactory.GetDocValuesFormat(Type)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_NewDocValuesFormat_System_Type_">DefaultDocValuesFormatFactory.NewDocValuesFormat(Type)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_GetDocValuesFormatType_System_String_">DefaultDocValuesFormatFactory.GetDocValuesFormatType(String)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_AvailableServices">DefaultDocValuesFormatFactory.AvailableServices</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.NamedServiceFactory-1.html#Lucene_Net_Util_NamedServiceFactory_1_m_initializationLock">NamedServiceFactory&lt;DocValuesFormat&gt;.m_initializationLock</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.NamedServiceFactory-1.html#Lucene_Net_Util_NamedServiceFactory_1_EnsureInitialized">NamedServiceFactory&lt;DocValuesFormat&gt;.EnsureInitialized()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.NamedServiceFactory-1.html#Lucene_Net_Util_NamedServiceFactory_1_CodecsAssembly">NamedServiceFactory&lt;DocValuesFormat&gt;.CodecsAssembly</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.NamedServiceFactory-1.html#Lucene_Net_Util_NamedServiceFactory_1_IsServiceType_System_Type_">NamedServiceFactory&lt;DocValuesFormat&gt;.IsServiceType(Type)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.NamedServiceFactory-1.html#Lucene_Net_Util_NamedServiceFactory_1_GetServiceName_System_Type_">NamedServiceFactory&lt;DocValuesFormat&gt;.GetServiceName(Type)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.NamedServiceFactory-1.html#Lucene_Net_Util_NamedServiceFactory_1_GetCanonicalName_System_Type_">NamedServiceFactory&lt;DocValuesFormat&gt;.GetCanonicalName(Type)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.NamedServiceFactory-1.html#Lucene_Net_Util_NamedServiceFactory_1_IsFullyTrusted">NamedServiceFactory&lt;DocValuesFormat&gt;.IsFullyTrusted</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.Codecs.html">Lucene.Net.Codecs</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.TestFramework.dll</h6>
  <h5 id="Lucene_Net_Codecs_TestDocValuesFormatFactory_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class TestDocValuesFormatFactory : DefaultDocValuesFormatFactory, IDocValuesFormatFactory, IServiceListable</code></pre>
  </div>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Codecs_TestDocValuesFormatFactory_Initialize.md&amp;value=---%0Auid%3A%20Lucene.Net.Codecs.TestDocValuesFormatFactory.Initialize%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Support/Codecs/TestDocValuesFormatFactory.cs/#L27">View Source</a>
  </span>
  <a id="Lucene_Net_Codecs_TestDocValuesFormatFactory_Initialize_" data-uid="Lucene.Net.Codecs.TestDocValuesFormatFactory.Initialize*"></a>
  <h4 id="Lucene_Net_Codecs_TestDocValuesFormatFactory_Initialize" data-uid="Lucene.Net.Codecs.TestDocValuesFormatFactory.Initialize">Initialize()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected override void Initialize()</code></pre>
  </div>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.DefaultDocValuesFormatFactory.html#Lucene_Net_Codecs_DefaultDocValuesFormatFactory_Initialize">DefaultDocValuesFormatFactory.Initialize()</a></div>
  <h3 id="implements">Implements</h3>
  <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Codecs.IDocValuesFormatFactory.html">IDocValuesFormatFactory</a>
  </div>
  <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.IServiceListable.html">IServiceListable</a>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Codecs_TestDocValuesFormatFactory.md&amp;value=---%0Auid%3A%20Lucene.Net.Codecs.TestDocValuesFormatFactory%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.TestFramework/Support/Codecs/TestDocValuesFormatFactory.cs/#L25" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            Copyright © 2020 Licensed to the Apache Software Foundation (ASF)
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../../styles/docfx.js"></script>
    <script type="text/javascript" src="../../styles/main.js"></script>
  </body>
</html>
