adams.data.io.input
Class SqlDumpSpreadSheetReader

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.data.io.input.AbstractSpreadSheetReader
              extended by adams.data.io.input.SqlDumpSpreadSheetReader
All Implemented Interfaces:
Debuggable, Destroyable, OptionHandler, SizeOfHandler, Stoppable, ChunkedSpreadSheetReader, SpreadSheetReader, Serializable

public class SqlDumpSpreadSheetReader
extends AbstractSpreadSheetReader
implements ChunkedSpreadSheetReader

Reads in SQL dump files.

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-data-row-type <DENSE|SPARSE> (property: dataRowType)
    The type of row to use for the data.
    default: DENSE
 
-custom-column-headers <java.lang.String> (property: customColumnHeaders)
    The custom headers to use for the columns (comma-separated list).
    default: 
 
-time-zone <java.util.TimeZone> (property: timeZone)
    The time zone to use for interpreting dates/times; default is the system-wide 
    defined one.
 
-use-backslashes (property: useBackslashes)
    If enabled, any output file that exists when the writer is executed for 
    the first time won't get replaced with the current header; useful when outputting 
    data in multiple locations in the flow, but one needs to be cautious as 
    to not stored mixed content (eg varying number of columns, etc).
 
-chunk-size <int> (property: chunkSize)
    The maximum number of rows per chunk; using -1 will read put all data into 
    a single spreadsheet object.
    default: -1
    minimum: -1
 

Version:
$Revision: 7020 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Nested Class Summary
static class SqlDumpSpreadSheetReader.ChunkReader
          Reads CSV files chunk by chunk.
 
Nested classes/interfaces inherited from class adams.data.io.input.AbstractSpreadSheetReader
AbstractSpreadSheetReader.InputType
 
Field Summary
protected  int m_ChunkSize
          the chunk size to use.
protected  String m_CustomColumnHeaders
          the comma-separated list of column header names.
protected  SqlDumpSpreadSheetReader.ChunkReader m_Reader
          for reading the actual data.
protected  TimeZone m_TimeZone
          the timezone to use.
protected  boolean m_UseBackslashes
          whether to use backslashes for escaping.
 
Fields inherited from class adams.data.io.input.AbstractSpreadSheetReader
m_DataRowType, m_Stopped
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Constructor Summary
SqlDumpSpreadSheetReader()
           
 
Method Summary
 String chunkSizeTipText()
          Returns the tip text for this property.
 String customColumnHeadersTipText()
          Returns the tip text for this property.
 void defineOptions()
          Adds options to the internal list of options.
protected  SpreadSheet doRead(Reader r)
          Performs the actual reading.
 int getChunkSize()
          Returns the current chunk size.
 String getCustomColumnHeaders()
          Returns whether the file contains a header row or not.
 String getFormatDescription()
          Returns a string describing the format (used in the file chooser).
 String[] getFormatExtensions()
          Returns the extension(s) of the format.
protected  AbstractSpreadSheetReader.InputType getInputType()
          Returns how to read the data, from a file, stream or reader.
 TimeZone getTimeZone()
          Returns the time zone in use.
 boolean getUseBackslashes()
          Returns whether to use backslashes for escaping quotes rather than doubling them.
 String globalInfo()
          Returns a string describing the object.
 boolean hasMoreChunks()
          Checks whether there is more data to read.
 SpreadSheet nextChunk()
          Returns the next chunk.
 void setChunkSize(int value)
          Sets the maximum chunk size.
 void setCustomColumnHeaders(String value)
          Sets the custom headers to use.
 void setTimeZone(TimeZone value)
          Sets the time zone to use.
 void setUseBackslashes(boolean value)
          Sets whether to use backslashes for escaping quotes rather than doubling them.
 String timeZoneTipText()
          Returns the tip text for this property.
 String useBackslashesTipText()
          Returns the tip text for this property.
 
Methods inherited from class adams.data.io.input.AbstractSpreadSheetReader
check, dataRowTypeTipText, doRead, doRead, getDataRowType, getDefaultDataRowType, getReaders, isStopped, read, read, read, read, setDataRowType, stopExecution
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debug, debugLevelTipText, destroy, finishInit, getDebugLevel, getOptionManager, initialize, isDebugOn, newOptionManager, reset, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut, sizeOf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 
Methods inherited from interface adams.core.Destroyable
destroy
 

Field Detail

m_CustomColumnHeaders

protected String m_CustomColumnHeaders
the comma-separated list of column header names.


m_TimeZone

protected TimeZone m_TimeZone
the timezone to use.


m_ChunkSize

protected int m_ChunkSize
the chunk size to use.


m_UseBackslashes

protected boolean m_UseBackslashes
whether to use backslashes for escaping.


m_Reader

protected SqlDumpSpreadSheetReader.ChunkReader m_Reader
for reading the actual data.

Constructor Detail

SqlDumpSpreadSheetReader

public SqlDumpSpreadSheetReader()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractSpreadSheetReader

getFormatDescription

public String getFormatDescription()
Returns a string describing the format (used in the file chooser).

Specified by:
getFormatDescription in interface SpreadSheetReader
Specified by:
getFormatDescription in class AbstractSpreadSheetReader
Returns:
a description suitable for displaying in the file chooser

getFormatExtensions

public String[] getFormatExtensions()
Returns the extension(s) of the format.

Specified by:
getFormatExtensions in interface SpreadSheetReader
Specified by:
getFormatExtensions in class AbstractSpreadSheetReader
Returns:
the extension (without the dot!)

setCustomColumnHeaders

public void setCustomColumnHeaders(String value)
Sets the custom headers to use.

Parameters:
value - the comma-separated list

getCustomColumnHeaders

public String getCustomColumnHeaders()
Returns whether the file contains a header row or not.

Returns:
the comma-separated list

customColumnHeadersTipText

public String customColumnHeadersTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the gui

setTimeZone

public void setTimeZone(TimeZone value)
Sets the time zone to use.

Parameters:
value - the time zone

getTimeZone

public TimeZone getTimeZone()
Returns the time zone in use.

Returns:
the time zone

timeZoneTipText

public String timeZoneTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the gui

setUseBackslashes

public void setUseBackslashes(boolean value)
Sets whether to use backslashes for escaping quotes rather than doubling them.

Parameters:
value - if true then backslashes are used

getUseBackslashes

public boolean getUseBackslashes()
Returns whether to use backslashes for escaping quotes rather than doubling them.

Returns:
true if backslashes are used

useBackslashesTipText

public String useBackslashesTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setChunkSize

public void setChunkSize(int value)
Sets the maximum chunk size.

Specified by:
setChunkSize in interface ChunkedSpreadSheetReader
Parameters:
value - the size of the chunks, < 1 denotes infinity

getChunkSize

public int getChunkSize()
Returns the current chunk size.

Specified by:
getChunkSize in interface ChunkedSpreadSheetReader
Parameters:
value - the size of the chunks, < 1 denotes infinity

chunkSizeTipText

public String chunkSizeTipText()
Returns the tip text for this property.

Specified by:
chunkSizeTipText in interface ChunkedSpreadSheetReader
Returns:
tip text for this property suitable for displaying in the gui

getInputType

protected AbstractSpreadSheetReader.InputType getInputType()
Returns how to read the data, from a file, stream or reader.

Specified by:
getInputType in class AbstractSpreadSheetReader
Returns:
how to read the data

doRead

protected SpreadSheet doRead(Reader r)
Performs the actual reading.

Overrides:
doRead in class AbstractSpreadSheetReader
Parameters:
r - the reader to read from
Returns:
the spreadsheet or null in case of an error

hasMoreChunks

public boolean hasMoreChunks()
Checks whether there is more data to read.

Specified by:
hasMoreChunks in interface ChunkedSpreadSheetReader
Returns:
true if there is more data available

nextChunk

public SpreadSheet nextChunk()
Returns the next chunk.

Specified by:
nextChunk in interface ChunkedSpreadSheetReader
Returns:
the next chunk, null if no data available


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.