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)
          Sole constructor.
 
Method Summary
protected abstract  Object doBody(String segmentFileName)
          Subclass must implement this.
 Object run()
          Locate the most recent segments file and run doBody(java.lang.String) on it.
 Object run(IndexCommit commit)
          Run doBody(java.lang.String) on the provided 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)
Sole constructor.

Method Detail

run

public Object run()
           throws IOException
Locate the most recent segments file and run doBody(java.lang.String) on it.

Throws:
IOException

run

public Object run(IndexCommit commit)
           throws IOException
Run doBody(java.lang.String) on the provided commit.

Throws:
IOException

doBody

protected abstract Object doBody(String segmentFileName)
                          throws 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:
IOException


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