org.apache.lucene.store.jdbc.index
Class RAMJdbcIndexOutput

java.lang.Object
  extended by org.apache.lucene.store.IndexOutput
      extended by org.apache.lucene.store.ConfigurableBufferedIndexOutput
          extended by org.apache.lucene.store.jdbc.index.JdbcBufferedIndexOutput
              extended by org.apache.lucene.store.jdbc.index.AbstractJdbcIndexOutput
                  extended by org.apache.lucene.store.jdbc.index.RAMJdbcIndexOutput
All Implemented Interfaces:
JdbcIndexConfigurable
Direct Known Subclasses:
OracleRAMJdbcIndexOutput

public class RAMJdbcIndexOutput
extends AbstractJdbcIndexOutput

An IndexOutput implemenation that stores all the data written to it in memory, and flushes it to the database when the output is closed.

Useful for small file entries like the segment file.

Author:
kimchy

Field Summary
 
Fields inherited from class org.apache.lucene.store.jdbc.index.AbstractJdbcIndexOutput
jdbcDirectory, name
 
Fields inherited from class org.apache.lucene.store.jdbc.index.JdbcBufferedIndexOutput
BUFFER_SIZE_SETTING
 
Fields inherited from class org.apache.lucene.store.ConfigurableBufferedIndexOutput
bufferSize, DEFAULT_BUFFER_SIZE
 
Constructor Summary
RAMJdbcIndexOutput()
           
 
Method Summary
 void configure(String name, JdbcDirectory jdbcDirectory, JdbcFileEntrySettings settings)
          Configures the newly created IndexInput or IndexOutput implementations.
protected  void doAfterClose()
           
 void flushBuffer(byte[] src, int offset, int len)
          Expert: implements buffer write.
 void flushToIndexOutput(IndexOutput indexOutput)
           
 long length()
          The number of bytes in the file.
protected  InputStream openInputStream()
           
 void seek(long pos)
          Sets current position in this file, where the next write will occur.
 
Methods inherited from class org.apache.lucene.store.jdbc.index.AbstractJdbcIndexOutput
close, doBeforeClose
 
Methods inherited from class org.apache.lucene.store.ConfigurableBufferedIndexOutput
flush, getFilePointer, initBuffer, writeByte, writeBytes
 
Methods inherited from class org.apache.lucene.store.IndexOutput
copyBytes, writeBytes, writeChars, writeChars, writeInt, writeLong, writeString, writeVInt, writeVLong
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RAMJdbcIndexOutput

public RAMJdbcIndexOutput()
Method Detail

configure

public void configure(String name,
                      JdbcDirectory jdbcDirectory,
                      JdbcFileEntrySettings settings)
               throws IOException
Description copied from interface: JdbcIndexConfigurable
Configures the newly created IndexInput or IndexOutput implementations.

Specified by:
configure in interface JdbcIndexConfigurable
Overrides:
configure in class AbstractJdbcIndexOutput
Parameters:
name - The name of the file entry
jdbcDirectory - The jdbc directory instance
settings - The relevant file entry settings
Throws:
IOException

flushBuffer

public void flushBuffer(byte[] src,
                        int offset,
                        int len)
Description copied from class: ConfigurableBufferedIndexOutput
Expert: implements buffer write. Writes bytes at the current position in the output.

Specified by:
flushBuffer in class ConfigurableBufferedIndexOutput
Parameters:
src - the bytes to write
offset - the offset in the byte array
len - the number of bytes to write

openInputStream

protected InputStream openInputStream()
                               throws IOException
Specified by:
openInputStream in class AbstractJdbcIndexOutput
Throws:
IOException

doAfterClose

protected void doAfterClose()
                     throws IOException
Overrides:
doAfterClose in class AbstractJdbcIndexOutput
Throws:
IOException

seek

public void seek(long pos)
          throws IOException
Description copied from class: ConfigurableBufferedIndexOutput
Sets current position in this file, where the next write will occur.

Overrides:
seek in class ConfigurableBufferedIndexOutput
Throws:
IOException
See Also:
ConfigurableBufferedIndexOutput.getFilePointer()

length

public long length()
Description copied from class: ConfigurableBufferedIndexOutput
The number of bytes in the file.

Specified by:
length in class ConfigurableBufferedIndexOutput

flushToIndexOutput

public void flushToIndexOutput(IndexOutput indexOutput)
                        throws IOException
Throws:
IOException


Copyright (c) 2004-2008 The Compass Project.