Package org.apache.lucene.index
Class ExitableDirectoryReader
- java.lang.Object
-
- org.apache.lucene.index.IndexReader
-
- org.apache.lucene.index.CompositeReader
-
- org.apache.lucene.index.BaseCompositeReader<LeafReader>
-
- org.apache.lucene.index.DirectoryReader
-
- org.apache.lucene.index.FilterDirectoryReader
-
- org.apache.lucene.index.ExitableDirectoryReader
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class ExitableDirectoryReader extends FilterDirectoryReader
TheExitableDirectoryReaderwraps a real indexDirectoryReaderand allows for aQueryTimeoutimplementation object to be checked periodically to see if the thread should exit or not. IfQueryTimeout.shouldExit()returns true, anExitableDirectoryReader.ExitingReaderExceptionis thrown.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExitableDirectoryReader.ExitableFilterAtomicReaderWrapper class for another FilterAtomicReader.static classExitableDirectoryReader.ExitableSubReaderWrapperWrapper class for a SubReaderWrapper that is used by the ExitableDirectoryReader.static classExitableDirectoryReader.ExitableTermsWrapper class for another Terms implementation that is used by ExitableFields.static classExitableDirectoryReader.ExitableTermsEnumWrapper class for TermsEnum that is used by ExitableTerms for implementing an exitable enumeration of terms.static classExitableDirectoryReader.ExitingReaderExceptionException that is thrown to prematurely terminate a term enumeration.-
Nested classes/interfaces inherited from class org.apache.lucene.index.FilterDirectoryReader
FilterDirectoryReader.DelegatingCacheHelper, FilterDirectoryReader.SubReaderWrapper
-
Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader
IndexReader.CacheHelper, IndexReader.CacheKey, IndexReader.ClosedListener
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.index.FilterDirectoryReader
in
-
Fields inherited from class org.apache.lucene.index.DirectoryReader
directory
-
Fields inherited from class org.apache.lucene.index.BaseCompositeReader
subReadersSorter
-
-
Constructor Summary
Constructors Constructor Description ExitableDirectoryReader(DirectoryReader in, QueryTimeout queryTimeout)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DirectoryReaderdoWrapDirectoryReader(DirectoryReader in)Called by the doOpenIfChanged() methods to return a new wrapped DirectoryReader.IndexReader.CacheHelpergetReaderCacheHelper()Optional method: Return aIndexReader.CacheHelperthat can be used to cache based on the content of this reader.StringtoString()static DirectoryReaderwrap(DirectoryReader in, QueryTimeout queryTimeout)Wraps a provided DirectoryReader.-
Methods inherited from class org.apache.lucene.index.FilterDirectoryReader
doClose, doOpenIfChanged, doOpenIfChanged, doOpenIfChanged, getDelegate, getIndexCommit, getVersion, isCurrent, unwrap
-
Methods inherited from class org.apache.lucene.index.DirectoryReader
directory, indexExists, listCommits, open, open, open, open, open, open, openIfChanged, openIfChanged, openIfChanged, openIfChanged
-
Methods inherited from class org.apache.lucene.index.BaseCompositeReader
docFreq, document, getDocCount, getSequentialSubReaders, getSumDocFreq, getSumTotalTermFreq, getTermVectors, maxDoc, numDocs, readerBase, readerIndex, storedFields, termVectors, totalTermFreq
-
Methods inherited from class org.apache.lucene.index.CompositeReader
getContext
-
Methods inherited from class org.apache.lucene.index.IndexReader
close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, notifyReaderClosedListeners, numDeletedDocs, registerParentReader, tryIncRef
-
-
-
-
Constructor Detail
-
ExitableDirectoryReader
public ExitableDirectoryReader(DirectoryReader in, QueryTimeout queryTimeout) throws IOException
Constructor- Parameters:
in- DirectoryReader that this ExitableDirectoryReader wraps around to make it Exitable.queryTimeout- The object to periodically check if the query should time out.- Throws:
IOException
-
-
Method Detail
-
doWrapDirectoryReader
protected DirectoryReader doWrapDirectoryReader(DirectoryReader in) throws IOException
Description copied from class:FilterDirectoryReaderCalled by the doOpenIfChanged() methods to return a new wrapped DirectoryReader.Implementations should just return an instantiation of themselves, wrapping the passed in DirectoryReader.
- Specified by:
doWrapDirectoryReaderin classFilterDirectoryReader- Parameters:
in- the DirectoryReader to wrap- Returns:
- the wrapped DirectoryReader
- Throws:
IOException
-
wrap
public static DirectoryReader wrap(DirectoryReader in, QueryTimeout queryTimeout) throws IOException
Wraps a provided DirectoryReader. Note that for convenience, the returned reader can be used normally (e.g. passed toDirectoryReader.openIfChanged(DirectoryReader)) and so on.- Throws:
IOException
-
getReaderCacheHelper
public IndexReader.CacheHelper getReaderCacheHelper()
Description copied from class:IndexReaderOptional method: Return aIndexReader.CacheHelperthat can be used to cache based on the content of this reader. Two readers that have different data or different sets of deleted documents will be considered different.A return value of
nullindicates that this reader is not suited for caching, which is typically the case for short-lived wrappers that alter the content of the wrapped reader.- Specified by:
getReaderCacheHelperin classIndexReader
-
toString
public String toString()
- Overrides:
toStringin classCompositeReader
-
-