org.apache.lucene.index
Class SegmentInfos.FindSegmentsFile

java.lang.Object
  extended by org.apache.lucene.index.SegmentInfos.FindSegmentsFile
Enclosing class:
SegmentInfos

public abstract static class SegmentInfos.FindSegmentsFile
extends Object

Utility class for executing code that needs to do something with the current segments file. This is necessary with lock-less commits because from the time you locate the current segments file name, until you actually open it, read its contents, or check modified time, etc., it could have been deleted due to a writer commit finishing.


Constructor Summary
SegmentInfos.FindSegmentsFile(Directory directory)
           
 
Method Summary
protected abstract  Object doBody(String segmentFileName)
          Subclass must implement this.
 Object run()
           
 Object run(IndexCommit commit)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SegmentInfos.FindSegmentsFile

public SegmentInfos.FindSegmentsFile(Directory directory)
Method Detail

run

public Object run()
           throws CorruptIndexException,
                  IOException
Throws:
CorruptIndexException
IOException

run

public Object run(IndexCommit commit)
           throws CorruptIndexException,
                  IOException
Throws:
CorruptIndexException
IOException

doBody

protected abstract Object doBody(String segmentFileName)
                          throws CorruptIndexException,
                                 IOException
Subclass must implement this. The assumption is an IOException will be thrown if something goes wrong during the processing that could have been caused by a writer committing.

Throws:
CorruptIndexException
IOException