com.jstatcom.io
Class TSGaussFMTHandler

java.lang.Object
  extended by com.jstatcom.io.TSGaussFMTHandler
All Implemented Interfaces:
DataHandler

public final class TSGaussFMTHandler
extends java.lang.Object
implements DataHandler

Class for importing files from Gauss .fmt files. There are 4 supported formats, see the Gauss reference manual for a specification of the binary formats:

Version v96 is also supported for exporting data via a static method.

Author:
Markus Kraetzig

Method Summary
 void exportData(java.io.File file, JSCData data, java.lang.String description)
          Exports data to a file in the format that the respective implementation of this interface handles.
 void exportTS(java.io.File file, TS[] ts, java.lang.String description)
          Exports time series to a file in the format that the respective implementation of this interface handles.
 JSCData getData(ImportTypes type)
          Gets the imported data according to an instance of TSImportTypes.
static TSGaussFMTHandler getInstance()
          Gets the singleton instance of this handler.
static java.lang.String[] getNamesArray(java.io.File fName, int cols, java.lang.String namesFromDialog)
          Helper method to get an array of valid variable names.
 boolean importData(java.io.File file)
          Initiates parsing of .fmt Gauss matrix file.
 void setTestMode(boolean noDialog)
          Sets this handler in test mode.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static TSGaussFMTHandler getInstance()
Gets the singleton instance of this handler.

Returns:
instance

getNamesArray

public static java.lang.String[] getNamesArray(java.io.File fName,
                                               int cols,
                                               java.lang.String namesFromDialog)
Helper method to get an array of valid variable names.

Parameters:
fName - filename of the file to be read in
cols - number of columns with numerical data
namesFromDialog - string with space separated names, typically from a dialog, for example "a b c d"
Returns:
a cols x 1 string array with valid names that are either assembled from fName and an index or from namesFromDialog

importData

public boolean importData(java.io.File file)
Initiates parsing of .fmt Gauss matrix file.

Specified by:
importData in interface DataHandler
Parameters:
file - the file to read in
Returns:
true of import was ok, false if cancelled or erroneous
Throws:
java.lang.IllegalArgumentException - if (file == null || !file.isFile())
java.lang.RuntimeException - when file reading fails

getData

public JSCData getData(ImportTypes type)
Gets the imported data according to an instance of TSImportTypes.

Specified by:
getData in interface DataHandler
Parameters:
type - the elementtype of a time series dataset
Returns:
the data stored as JSCData
Throws:
java.lang.IllegalArgumentException - if (type == null)
java.lang.IllegalStateException - if nothing was imported before

exportTS

public void exportTS(java.io.File file,
                     TS[] ts,
                     java.lang.String description)
Description copied from interface: DataHandler
Exports time series to a file in the format that the respective implementation of this interface handles.

Implementation Note:
Not every handler implementation uses all information contained in a time series. For example, some handlers might not store the variable names, the date, and the description, because this may not be supported by the respective format.

Implementations of this method should throw unchecked exceptions in case of errors, which should be dealt with by the calling objects.

Specified by:
exportTS in interface DataHandler
Parameters:
file - the file to store the time series to
ts - array of time series to export
description - an optional dataset description that handler implementations might use

exportData

public void exportData(java.io.File file,
                       JSCData data,
                       java.lang.String description)
Description copied from interface: DataHandler
Exports data to a file in the format that the respective implementation of this interface handles. This method should throw an exception if the type of data is not suppported.

Implementations of this method should throw unchecked exceptions in case of errors, which should be dealt with by the calling objects.

Specified by:
exportData in interface DataHandler
Parameters:
file - the file to store the data to
data - the data object to store, must be supported
description - an optional description that handler implementations might use

setTestMode

public void setTestMode(boolean noDialog)
Sets this handler in test mode. No user dialog is shown, default values are used instead. This is helpful for running automated unit tests.

Parameters:
noDialog -