org.teiid.internal.core.index
Class BlocksIndexInput

java.lang.Object
  extended by org.teiid.internal.core.index.IndexInput
      extended by org.teiid.internal.core.index.BlocksIndexInput

public class BlocksIndexInput
extends IndexInput

This input is used for reading indexes saved using a BlocksIndexOutput.


Field Summary
protected  LRUCache blockCache
           
static int CACHE_SIZE
           
protected  FileListBlock currentFileListBlock
           
protected  int currentFileListBlockNum
           
protected  IndexBlock currentIndexBlock
           
protected  int currentIndexBlockNum
           
protected  org.jboss.virtual.VirtualFile indexFile
           
protected  IndexSummary summary
           
 
Fields inherited from class org.teiid.internal.core.index.IndexInput
currentWordEntry, filePosition, wordPosition
 
Constructor Summary
BlocksIndexInput(org.jboss.virtual.VirtualFile inputFile)
           
 
Method Summary
 void clearCache()
          clears the cache of this indexInput, if it keeps track of the information already read.
 void close()
          Closes the IndexInput.
 IndexedFile getCurrentFile()
          Returns the current file the indexInput is pointing to in the index.
protected  WordEntry getEntry(char[] word)
          Returns the entry corresponding to the given word.
protected  FileListBlock getFileListBlock(int blockNum)
          Returns the FileListBlock with the given number.
protected  IndexBlock getIndexBlock(int blockNum)
          Returns the IndexBlock (containing words) with the given number.
 IndexedFile getIndexedFile(IDocument document)
          Returns the indexedFile corresponding to the given document in the index the input reads in (e.g.
 IndexedFile getIndexedFile(int fileNum)
          Returns the indexedFile corresponding to the given document number in the index the input reads in, or null if such indexedFile does not exist.
protected  int[] getMatchingFileNumbers(char[] word)
          Returns the list of numbers of files containing the given word.
 int getNumFiles()
          Returns the number of files in the index.
 int getNumWords()
          Returns the number of unique words in the index.
 java.lang.Object getSource()
          Returns the Object the input is reading from.
protected  void init()
          Initialises the blocksIndexInput
 void moveToNextFile()
          Moves the pointer on the current file to the next file in the index.
 void moveToNextWordEntry()
          Moves the pointer on the current word to the next file in the index.
 void open()
          Open the Source where the input gets the information from.
 IQueryResult[] query(java.lang.String word)
           
 IEntryResult[] queryEntriesMatching(char[] pattern, boolean isCaseSensitive)
          Overloaded the method in BlocksIndexInput to allow a user to specify if the query should be case sensitive.
 IEntryResult[] queryEntriesPrefixedBy(char[] prefix)
          Returns the list of the files containing the given word in the index.
 IEntryResult[] queryEntriesPrefixedBy(char[] prefix, boolean isCaseSensitive)
          Overloaded the method in BlocksIndexInput to allow a user to specify if the query should be case sensitive.
 IQueryResult[] queryFilesReferringToPrefix(char[] prefix)
           
 IQueryResult[] queryInDocumentNames(java.lang.String word)
          Returns the list of the files whose name contain the given word in the index.
protected  void setFirstFile()
          Set the pointer on the current file to the first file of the index.
protected  void setFirstWord()
          Set the pointer on the current word to the first word of the index.
 
Methods inherited from class org.teiid.internal.core.index.IndexInput
getCurrentWordEntry, getFilePosition, hasMoreFiles, hasMoreWords, isOpen, setOpen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CACHE_SIZE

public static final int CACHE_SIZE
See Also:
Constant Field Values

currentFileListBlock

protected FileListBlock currentFileListBlock

currentFileListBlockNum

protected int currentFileListBlockNum

currentIndexBlockNum

protected int currentIndexBlockNum

currentIndexBlock

protected IndexBlock currentIndexBlock

indexFile

protected org.jboss.virtual.VirtualFile indexFile

blockCache

protected LRUCache blockCache

summary

protected IndexSummary summary
Constructor Detail

BlocksIndexInput

public BlocksIndexInput(org.jboss.virtual.VirtualFile inputFile)
Method Detail

clearCache

public void clearCache()
Description copied from class: IndexInput
clears the cache of this indexInput, if it keeps track of the information already read.

Specified by:
clearCache in class IndexInput
See Also:
IndexInput.clearCache()

close

public void close()
           throws java.io.IOException
Description copied from class: IndexInput
Closes the IndexInput. For example, if the input is on a RandomAccessFile, it calls the close() method of RandomAccessFile.

Specified by:
close in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.close()

getCurrentFile

public IndexedFile getCurrentFile()
                           throws java.io.IOException
Description copied from class: IndexInput
Returns the current file the indexInput is pointing to in the index.

Specified by:
getCurrentFile in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.getCurrentFile()

getEntry

protected WordEntry getEntry(char[] word)
                      throws java.io.IOException
Returns the entry corresponding to the given word.

Throws:
java.io.IOException

getFileListBlock

protected FileListBlock getFileListBlock(int blockNum)
                                  throws java.io.IOException
Returns the FileListBlock with the given number.

Throws:
java.io.IOException

getIndexBlock

protected IndexBlock getIndexBlock(int blockNum)
                            throws java.io.IOException
Returns the IndexBlock (containing words) with the given number.

Throws:
java.io.IOException

getIndexedFile

public IndexedFile getIndexedFile(int fileNum)
                           throws java.io.IOException
Description copied from class: IndexInput
Returns the indexedFile corresponding to the given document number in the index the input reads in, or null if such indexedFile does not exist.

Specified by:
getIndexedFile in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.getIndexedFile(int)

getIndexedFile

public IndexedFile getIndexedFile(IDocument document)
                           throws java.io.IOException
Description copied from class: IndexInput
Returns the indexedFile corresponding to the given document in the index the input reads in (e.g. the indexedFile with the same path in this index), or null if such indexedFile does not exist.

Specified by:
getIndexedFile in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.getIndexedFile(IDocument)

getMatchingFileNumbers

protected int[] getMatchingFileNumbers(char[] word)
                                throws java.io.IOException
Returns the list of numbers of files containing the given word.

Throws:
java.io.IOException

getNumFiles

public int getNumFiles()
Description copied from class: IndexInput
Returns the number of files in the index.

Specified by:
getNumFiles in class IndexInput
See Also:
IndexInput.getNumFiles()

getNumWords

public int getNumWords()
Description copied from class: IndexInput
Returns the number of unique words in the index.

Specified by:
getNumWords in class IndexInput
See Also:
IndexInput.getNumWords()

getSource

public java.lang.Object getSource()
Description copied from class: IndexInput
Returns the Object the input is reading from. It can be an IIndex, a File, ...

Specified by:
getSource in class IndexInput
See Also:
IndexInput.getSource()

init

protected void init()
             throws java.io.IOException
Initialises the blocksIndexInput

Throws:
java.io.IOException

moveToNextFile

public void moveToNextFile()
                    throws java.io.IOException
Description copied from class: IndexInput
Moves the pointer on the current file to the next file in the index.

Specified by:
moveToNextFile in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.moveToNextFile()

moveToNextWordEntry

public void moveToNextWordEntry()
                         throws java.io.IOException
Description copied from class: IndexInput
Moves the pointer on the current word to the next file in the index.

Specified by:
moveToNextWordEntry in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.moveToNextWordEntry()

open

public void open()
          throws java.io.IOException
Description copied from class: IndexInput
Open the Source where the input gets the information from.

Specified by:
open in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.open()

query

public IQueryResult[] query(java.lang.String word)
                     throws java.io.IOException
Throws:
java.io.IOException
See Also:
IndexInput#query(String)

queryEntriesMatching

public IEntryResult[] queryEntriesMatching(char[] pattern,
                                           boolean isCaseSensitive)
                                    throws java.io.IOException
Overloaded the method in BlocksIndexInput to allow a user to specify if the query should be case sensitive.

Parameters:
pattern -
isCaseSensitive -
Returns:
Throws:
java.io.IOException

queryEntriesPrefixedBy

public IEntryResult[] queryEntriesPrefixedBy(char[] prefix)
                                      throws java.io.IOException
Description copied from class: IndexInput
Returns the list of the files containing the given word in the index.

Specified by:
queryEntriesPrefixedBy in class IndexInput
Throws:
java.io.IOException

queryEntriesPrefixedBy

public IEntryResult[] queryEntriesPrefixedBy(char[] prefix,
                                             boolean isCaseSensitive)
                                      throws java.io.IOException
Overloaded the method in BlocksIndexInput to allow a user to specify if the query should be case sensitive.

Throws:
java.io.IOException

queryFilesReferringToPrefix

public IQueryResult[] queryFilesReferringToPrefix(char[] prefix)
                                           throws java.io.IOException
Specified by:
queryFilesReferringToPrefix in class IndexInput
Throws:
java.io.IOException

queryInDocumentNames

public IQueryResult[] queryInDocumentNames(java.lang.String word)
                                    throws java.io.IOException
Description copied from class: IndexInput
Returns the list of the files whose name contain the given word in the index.

Specified by:
queryInDocumentNames in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.queryInDocumentNames(String)

setFirstFile

protected void setFirstFile()
                     throws java.io.IOException
Description copied from class: IndexInput
Set the pointer on the current file to the first file of the index.

Specified by:
setFirstFile in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.setFirstFile()

setFirstWord

protected void setFirstWord()
                     throws java.io.IOException
Description copied from class: IndexInput
Set the pointer on the current word to the first word of the index.

Specified by:
setFirstWord in class IndexInput
Throws:
java.io.IOException
See Also:
IndexInput.setFirstWord()


Copyright © 2011. All Rights Reserved.