org.apache.lucene.codecs.lucene40
Class Lucene40StoredFieldsWriter

java.lang.Object
  extended by org.apache.lucene.codecs.StoredFieldsWriter
      extended by org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsWriter
All Implemented Interfaces:
Closeable

public final class Lucene40StoredFieldsWriter
extends StoredFieldsWriter

Class responsible for writing stored document fields.

It uses <segment>.fdt and <segment>.fdx; files.

See Also:
Lucene40StoredFieldsFormat
WARNING: This API is experimental and might change in incompatible ways in the next release.

Field Summary
static String FIELDS_EXTENSION
          Extension of stored fields file
static String FIELDS_INDEX_EXTENSION
          Extension of stored fields index file
 
Constructor Summary
Lucene40StoredFieldsWriter(Directory directory, String segment, IOContext context)
          Sole constructor.
 
Method Summary
 void abort()
          Aborts writing entirely, implementation should remove any partially-written files, etc.
 void addRawDocuments(IndexInput stream, int[] lengths, int numDocs)
          Bulk write a contiguous series of documents.
 void close()
           
 void finish(FieldInfos fis, int numDocs)
          Called before StoredFieldsWriter.close(), passing in the number of documents that were written.
 int merge(MergeState mergeState)
          Merges in the stored fields from the readers in mergeState.
 void startDocument(int numStoredFields)
          Called before writing the stored fields of the document.
 void writeField(FieldInfo info, IndexableField field)
          Writes a single stored field.
 
Methods inherited from class org.apache.lucene.codecs.StoredFieldsWriter
addDocument, finishDocument
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FIELDS_EXTENSION

public static final String FIELDS_EXTENSION
Extension of stored fields file

See Also:
Constant Field Values

FIELDS_INDEX_EXTENSION

public static final String FIELDS_INDEX_EXTENSION
Extension of stored fields index file

See Also:
Constant Field Values
Constructor Detail

Lucene40StoredFieldsWriter

public Lucene40StoredFieldsWriter(Directory directory,
                                  String segment,
                                  IOContext context)
                           throws IOException
Sole constructor.

Throws:
IOException
Method Detail

startDocument

public void startDocument(int numStoredFields)
                   throws IOException
Description copied from class: StoredFieldsWriter
Called before writing the stored fields of the document. StoredFieldsWriter.writeField(FieldInfo, IndexableField) will be called numStoredFields times. Note that this is called even if the document has no stored fields, in this case numStoredFields will be zero.

Specified by:
startDocument in class StoredFieldsWriter
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Specified by:
close in class StoredFieldsWriter
Throws:
IOException

abort

public void abort()
Description copied from class: StoredFieldsWriter
Aborts writing entirely, implementation should remove any partially-written files, etc.

Specified by:
abort in class StoredFieldsWriter

writeField

public void writeField(FieldInfo info,
                       IndexableField field)
                throws IOException
Description copied from class: StoredFieldsWriter
Writes a single stored field.

Specified by:
writeField in class StoredFieldsWriter
Throws:
IOException

addRawDocuments

public void addRawDocuments(IndexInput stream,
                            int[] lengths,
                            int numDocs)
                     throws IOException
Bulk write a contiguous series of documents. The lengths array is the length (in bytes) of each raw document. The stream IndexInput is the fieldsStream from which we should bulk-copy all bytes.

Throws:
IOException

finish

public void finish(FieldInfos fis,
                   int numDocs)
Description copied from class: StoredFieldsWriter
Called before StoredFieldsWriter.close(), passing in the number of documents that were written. Note that this is intentionally redundant (equivalent to the number of calls to StoredFieldsWriter.startDocument(int), but a Codec should check that this is the case to detect the JRE bug described in LUCENE-1282.

Specified by:
finish in class StoredFieldsWriter

merge

public int merge(MergeState mergeState)
          throws IOException
Description copied from class: StoredFieldsWriter
Merges in the stored fields from the readers in mergeState. The default implementation skips over deleted documents, and uses StoredFieldsWriter.startDocument(int), StoredFieldsWriter.writeField(FieldInfo, IndexableField), and StoredFieldsWriter.finish(FieldInfos, int), returning the number of documents that were written. Implementations can override this method for more sophisticated merging (bulk-byte copying, etc).

Overrides:
merge in class StoredFieldsWriter
Throws:
IOException


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.