gov.lbl.fastbit
Class FastBitStringWriter

java.lang.Object
  extended by gov.lbl.fastbit.FastBitStringWriter

public class FastBitStringWriter
extends java.lang.Object

Java StringWriter for FastBit. For a Java program to write string-valued data to a format required by FastBit. See java/tests/TestFastBitJava.java for an example of use.


Nested Class Summary
 class FastBitStringWriter.WriteHandle
          An auxiliary thread-safe class to hold file locks and buffers.
 
Constructor Summary
FastBitStringWriter()
          FastBitStringWriter constructor with default buffer size
FastBitStringWriter(int bufferLength)
          FastBitStringWriter constructor
 
Method Summary
 void addCategories(java.lang.String partition, java.lang.String colname, java.lang.String[] arr, java.lang.String charsetName)
          Add String values with a small number of distinct choices.
 void addRow(FastBitStringWriter.WriteHandle handler, java.lang.String row)
          Add row by row String values
 void addStringColumnToMetadata(java.lang.String partitionDirectory, java.lang.String columnName, java.lang.String type)
          Add column info to existing index metadata
 void addText(java.lang.String partition, java.lang.String colname, java.lang.String[] arr, java.lang.String charsetName)
          Add arbitrary string values
 void createMetadata(java.lang.String partitionDirectory, java.lang.String columnName, java.lang.String type, int rowCount)
          Create metadata for a data partition with a single column.
 FastBitStringWriter.WriteHandle getHandle(java.lang.String partition, java.lang.String colname, java.lang.String charsetName)
          Create WriteHandle.
 void saveDictionary(FastBitStringWriter.WriteHandle handler, java.util.Set<java.lang.String> keys, java.lang.String fileName)
          Add dictionary strings to a .dic file
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FastBitStringWriter

public FastBitStringWriter()
FastBitStringWriter constructor with default buffer size


FastBitStringWriter

public FastBitStringWriter(int bufferLength)
FastBitStringWriter constructor

Parameters:
bufferLength -
Method Detail

addText

public void addText(java.lang.String partition,
                    java.lang.String colname,
                    java.lang.String[] arr,
                    java.lang.String charsetName)
             throws FastBitStringWriterException
Add arbitrary string values

Parameters:
partition -
colname -
arr -
charsetName -
Throws:
FastBitStringWriterException

addCategories

public void addCategories(java.lang.String partition,
                          java.lang.String colname,
                          java.lang.String[] arr,
                          java.lang.String charsetName)
                   throws FastBitStringWriterException
Add String values with a small number of distinct choices.

Parameters:
partition -
colname -
arr -
charsetName -
Throws:
FastBitStringWriterException

saveDictionary

public void saveDictionary(FastBitStringWriter.WriteHandle handler,
                           java.util.Set<java.lang.String> keys,
                           java.lang.String fileName)
                    throws FastBitStringWriterException
Add dictionary strings to a .dic file

Parameters:
handler -
keys -
fileName -
Throws:
FastBitStringWriterException

addRow

public void addRow(FastBitStringWriter.WriteHandle handler,
                   java.lang.String row)
            throws FastBitStringWriterException
Add row by row String values

Parameters:
handler -
row -
Throws:
FastBitStringWriterException

addStringColumnToMetadata

public void addStringColumnToMetadata(java.lang.String partitionDirectory,
                                      java.lang.String columnName,
                                      java.lang.String type)
                               throws FastBitStringWriterException
Add column info to existing index metadata

Parameters:
partitionDirectory -
columnName -
type -
Throws:
FastBitStringWriterException

createMetadata

public void createMetadata(java.lang.String partitionDirectory,
                           java.lang.String columnName,
                           java.lang.String type,
                           int rowCount)
                    throws FastBitStringWriterException
Create metadata for a data partition with a single column.

Parameters:
partitionDirectory - Directory for the data partition
columnName - Column name. Also used as the data partition name.
type - Data type.
rowCount - Number of rows.
Throws:
FastBitStringWriterException

getHandle

public FastBitStringWriter.WriteHandle getHandle(java.lang.String partition,
                                                 java.lang.String colname,
                                                 java.lang.String charsetName)
                                          throws FastBitStringWriterException
Create WriteHandle.

Parameters:
partition -
colname -
charsetName -
Returns:
Throws:
FastBitStringWriterException