org.apache.jackrabbit.core.query.lucene
Class CachingMultiReader

java.lang.Object
  extended by org.apache.lucene.index.IndexReader
      extended by org.apache.lucene.index.MultiReader
          extended by org.apache.jackrabbit.core.query.lucene.CachingMultiReader
All Implemented Interfaces:
HierarchyResolver, MultiIndexReader

public final class CachingMultiReader
extends org.apache.lucene.index.MultiReader
implements HierarchyResolver, MultiIndexReader

Extends a MultiReader with support for cached TermDocs on FieldNames.UUID field.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader
org.apache.lucene.index.IndexReader.FieldOption
 
Constructor Summary
CachingMultiReader(org.apache.jackrabbit.core.query.lucene.ReadOnlyIndexReader[] subReaders, org.apache.jackrabbit.core.query.lucene.DocNumberCache cache)
          Creates a new CachingMultiReader based on sub readers.
 
Method Summary
protected  void doClose()
          Decrements the reference count and closes the underlying readers if this reader is not in use anymore.
 org.apache.lucene.index.IndexReader[] getIndexReaders()
          
 int getParent(int n)
          Returns the document number of the parent of n or -1 if n does not have a parent (n is the root node).
 org.apache.jackrabbit.core.query.lucene.DocId getParentDocId(int n)
          Returns the DocId of the parent of n or DocId#NULL if n does not have a parent (n is the root node).
 org.apache.lucene.index.TermDocs termDocs(org.apache.lucene.index.Term term)
          
 
Methods inherited from class org.apache.lucene.index.MultiReader
docFreq, doCommit, document, doDelete, doSetNorm, doUndeleteAll, getFieldNames, getTermFreqVector, getTermFreqVectors, hasDeletions, hasNorms, isDeleted, maxDoc, norms, norms, numDocs, termDocs, termPositions, terms, terms
 
Methods inherited from class org.apache.lucene.index.IndexReader
close, commit, deleteDocument, deleteDocuments, directory, finalize, getCurrentVersion, getCurrentVersion, getCurrentVersion, getVersion, indexExists, indexExists, indexExists, isCurrent, isLocked, isLocked, lastModified, lastModified, lastModified, main, open, open, open, setNorm, setNorm, termPositions, undeleteAll, unlock
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachingMultiReader

public CachingMultiReader(org.apache.jackrabbit.core.query.lucene.ReadOnlyIndexReader[] subReaders,
                          org.apache.jackrabbit.core.query.lucene.DocNumberCache cache)
                   throws IOException
Creates a new CachingMultiReader based on sub readers.

Parameters:
subReaders - the sub readers.
cache - the document number cache.
Throws:
IOException - if an error occurs while reading from the indexes.
Method Detail

getParent

public int getParent(int n)
              throws IOException
Returns the document number of the parent of n or -1 if n does not have a parent (n is the root node).

Specified by:
getParent in interface HierarchyResolver
Parameters:
n - the document number.
Returns:
the document number of n's parent.
Throws:
IOException - if an error occurs while reading from the index.

getParentDocId

public org.apache.jackrabbit.core.query.lucene.DocId getParentDocId(int n)
                                                             throws IOException
Returns the DocId of the parent of n or DocId#NULL if n does not have a parent (n is the root node).

Parameters:
n - the document number.
Returns:
the DocId of n's parent.
Throws:
IOException - if an error occurs while reading from the index.

termDocs

public org.apache.lucene.index.TermDocs termDocs(org.apache.lucene.index.Term term)
                                          throws IOException

Overrides:
termDocs in class org.apache.lucene.index.IndexReader
Throws:
IOException

doClose

protected void doClose()
                throws IOException
Decrements the reference count and closes the underlying readers if this reader is not in use anymore.

Overrides:
doClose in class org.apache.lucene.index.MultiReader
Throws:
IOException - if an error occurs while closing this reader.

getIndexReaders

public org.apache.lucene.index.IndexReader[] getIndexReaders()

Specified by:
getIndexReaders in interface MultiIndexReader
Returns:
the IndexReaders that are contained in this MultiIndexReader.


Copyright © 2004-2007 The Apache Software Foundation. All Rights Reserved.