public class DOEDataLogger
extends java.lang.Object
implements java.beans.PropertyChangeListener
To use, whenever the factor settings change, be sure to call
setFactors(Object...) with a complete list of the factor values.
Also, after all runs are complete, call close() to close and
write the output file.
| Modifier and Type | Field and Description |
|---|---|
private java.io.BufferedWriter |
bufferedWriter |
private java.lang.String |
delimiter |
private java.lang.Object[] |
factors |
private java.lang.String |
factorString |
private java.lang.String[] |
header |
private static java.util.logging.Logger |
LOGGER |
private java.lang.String |
propertyName |
| Constructor and Description |
|---|
DOEDataLogger()
Zero parameter constructor - user must explicitly call setters plus
buildFactorString() and writeHeader()
|
DOEDataLogger(java.lang.String propertyName,
java.io.File outputFile,
java.lang.String[] header)
Uses default delimiter ","
|
DOEDataLogger(java.lang.String propertyName,
java.io.File outputFile,
java.lang.String[] header,
java.lang.Object... factors) |
DOEDataLogger(java.lang.String propertyName,
java.io.File outputFile,
java.lang.String[] header,
java.lang.String delimiter) |
DOEDataLogger(java.lang.String propertyName,
java.io.File outputFile,
java.lang.String[] header,
java.lang.String delimiter,
java.lang.Object... factors) |
DOEDataLogger(java.lang.String propertyName,
java.lang.String outputFileName,
java.lang.String[] header,
java.lang.Object... factors)
Default delimiter ","
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
buildFactorString()
Builds the factorString from the factors object
|
void |
close()
flush and close bufferedWriter
|
java.lang.String |
getDelimiter() |
java.lang.Object[] |
getFactors() |
java.lang.String |
getFactorString() |
java.lang.String[] |
getHeader() |
java.lang.String |
getPropertyName() |
void |
propertyChange(java.beans.PropertyChangeEvent evt)
If evt has right propertyName, append a line to the output, consisting of
the factors followed by the newValue, separated by the delimiter.
|
void |
setDelimiter(java.lang.String delimiter) |
void |
setFactors(java.lang.Object... factors) |
void |
setHeader(java.lang.String... header) |
void |
setOutputFile(java.io.File outputFile) |
void |
setPropertyName(java.lang.String propertyName) |
protected void |
writeHeader()
Writes the first row with the factor names and the property name to the
output file
|
private static final java.util.logging.Logger LOGGER
private java.io.BufferedWriter bufferedWriter
private java.lang.String delimiter
private java.lang.Object[] factors
private java.lang.String propertyName
private java.lang.String[] header
private java.lang.String factorString
public DOEDataLogger(java.lang.String propertyName,
java.io.File outputFile,
java.lang.String[] header,
java.lang.String delimiter,
java.lang.Object... factors)
throws java.io.IOException
propertyName - Name of property to listen foroutputFile - File to which output is writtenheader - First row names of parameters; must be same length as
factorsdelimiter - Delimiter - default is ","factors - Values of factors corresponding to the heard property
valuesjava.io.IOException - if thrown when writing to outputFilejava.lang.IllegalArgumentException - if header.length ≠ factors.lengthpublic DOEDataLogger()
public DOEDataLogger(java.lang.String propertyName,
java.lang.String outputFileName,
java.lang.String[] header,
java.lang.Object... factors)
throws java.io.IOException
propertyName - Name of property to listen foroutputFileName - name of File to which output is writtenheader - First row names of parameters; must be same length as
factorsfactors - Values of factors corresponding to the heard property
valuesjava.io.IOException - If thrown when writing to File given by
outputFileNamejava.lang.IllegalArgumentException - if header.length ≠ factors.lengthpublic DOEDataLogger(java.lang.String propertyName,
java.io.File outputFile,
java.lang.String[] header,
java.lang.Object... factors)
throws java.io.IOException
propertyName - Name of property to listen foroutputFile - File to which output is writtenheader - First row names of parameters; must be same length as
factorsfactors - Values of factors corresponding to the heard property
valuesjava.io.IOException - if thrown when writing to outputFilejava.lang.IllegalArgumentException - if header.length ≠ factors.lengthpublic DOEDataLogger(java.lang.String propertyName,
java.io.File outputFile,
java.lang.String[] header,
java.lang.String delimiter)
propertyName - Given property nameoutputFile - Given output fileheader - Given header arraydelimiter - Given delimiterpublic DOEDataLogger(java.lang.String propertyName,
java.io.File outputFile,
java.lang.String[] header)
propertyName - Given property nameoutputFile - Given output fileheader - Given headerpublic void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange in interface java.beans.PropertyChangeListenerevt - Heard PropertyChangeEventprotected void buildFactorString()
protected void writeHeader()
public java.lang.String getDelimiter()
public java.lang.Object[] getFactors()
public void setFactors(java.lang.Object... factors)
factors - the factors to setjava.lang.IllegalArgumentException - if # factors ≠ header.lengthpublic java.lang.String getPropertyName()
public void close()
public java.lang.String[] getHeader()
public void setHeader(java.lang.String... header)
header - the header to setjava.lang.RuntimeException - if header has already been setpublic void setDelimiter(java.lang.String delimiter)
delimiter - the delimiter to setpublic void setPropertyName(java.lang.String propertyName)
propertyName - the propertyName to setpublic void setOutputFile(java.io.File outputFile)
throws java.io.IOException
outputFile - Given output filejava.io.IOException - if thrown by bufferedWriterpublic java.lang.String getFactorString()