Lucene.Net.Search.FieldCacheImpl.StringCache.CreateValue C# (CSharp) Method

CreateValue() protected method

protected CreateValue ( Lucene.Net.Index.IndexReader reader, Entry entryKey ) : Object
reader Lucene.Net.Index.IndexReader
entryKey Entry
return System.Object
            protected internal override System.Object CreateValue(IndexReader reader, Entry entryKey)
            {
                System.String field = StringHelper.Intern(entryKey.field);
                System.String[] retArray = new System.String[reader.MaxDoc];
                TermDocs termDocs = reader.TermDocs();
                TermEnum termEnum = reader.Terms(new Term(field));
                try
                {
                    do 
                    {
                        Term term = termEnum.Term;
                        if (term == null || (System.Object) term.Field != (System.Object) field)
                            break;
                        System.String termval = term.Text;
                        termDocs.Seek(termEnum);
                        while (termDocs.Next())
                        {
                            retArray[termDocs.Doc] = termval;
                        }
                    }
                    while (termEnum.Next());
                }
                finally
                {
                    termDocs.Close();
                    termEnum.Close();
                }
                return retArray;
            }
        }
FieldCacheImpl.StringCache