Package org.moeaframework.analysis.io
Class MetricFileWriter
java.lang.Object
org.moeaframework.analysis.io.ResultWriter
org.moeaframework.analysis.io.MetricFileWriter
- All Implemented Interfaces:
Closeable
,AutoCloseable
Writes metric files. A metric file is the output of
Evaluator
and contains on each line one or more
metrics separated by whitespace from one parameterization.- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Enumeration of metrics that are written to the metric file. -
Constructor Summary
ConstructorsConstructorDescriptionMetricFileWriter
(Indicators indicators, File file) Constructs an output writer for writing metric files to the specified file.MetricFileWriter
(Indicators indicators, Writer writer) Constructs an output writer for writing metric files to the specified file. -
Method Summary
Modifier and TypeMethodDescriptionstatic MetricFileWriter
append
(Indicators indicators, File file) Opens the metric file in append mode.void
close()
static int
getMetricIndex
(String value) Gets the index of the metric, either from its name or the column index.int
Returns the number of entries in the file.static MetricFileWriter
open
(Indicators indicators, File file) Opens the metric file.protected void
Writes the header line to the file.static int
Repairs the contents of the metric file, removing any incomplete or invalid entries from the file.protected void
write
(double[] values) Writes a line to the metric file containing the given decimal values separated by whitespace.protected void
Writes a line to the metric file containing the given strings separated by whitespace.void
write
(ResultEntry entry) Evaluates the specified non-dominated population and outputs the resulting metrics to the file.Methods inherited from class org.moeaframework.analysis.io.ResultWriter
failIfOutdated, replace
-
Constructor Details
-
MetricFileWriter
Constructs an output writer for writing metric files to the specified file. If the file already exists, a cleanup operation is first performed. The cleanup operation removes any invalid entries from the file. ThegetNumberOfEntries()
can then be used to resume evaluation from the last recorded entry.- Parameters:
indicators
- the indicators to evaluatefile
- the file to which the metrics are written- Throws:
IOException
- if an I/O error occurred
-
MetricFileWriter
Constructs an output writer for writing metric files to the specified file. If the file already exists, a cleanup operation is first performed. The cleanup operation removes any invalid entries from the file. ThegetNumberOfEntries()
can then be used to resume evaluation from the last recorded entry.- Parameters:
indicators
- the indicators to evaluatewriter
- the writer- Throws:
IOException
- if an I/O error occurred
-
-
Method Details
-
getNumberOfEntries
public int getNumberOfEntries()Description copied from class:ResultWriter
Returns the number of entries in the file. If the file already existed, this returns the number of complete entries in the output file. This value is incremented on every invocation to theResultWriter.write(org.moeaframework.analysis.series.ResultEntry)
method.- Specified by:
getNumberOfEntries
in classResultWriter
- Returns:
- the number of entries in the file
-
write
Evaluates the specified non-dominated population and outputs the resulting metrics to the file.- Specified by:
write
in classResultWriter
- Parameters:
entry
- the non-dominated population and optional attributes
-
write
protected void write(double[] values) Writes a line to the metric file containing the given decimal values separated by whitespace.- Parameters:
values
- the values
-
write
Writes a line to the metric file containing the given strings separated by whitespace.- Parameters:
values
- the values
-
printHeader
protected void printHeader()Writes the header line to the file. -
getMetricIndex
Gets the index of the metric, either from its name or the column index. This should match the order of values inMetricFileWriter.Metric
.- Parameters:
value
- the metric name or column index- Returns:
- the index of the metric
-
close
public void close() -
append
Opens the metric file in append mode. If the file already exists, any invalid entries will be removed by callingrepair(File)
. CheckgetNumberOfEntries()
to determine the number of valid entries in the file.- Parameters:
indicators
- the indicators to evaluatefile
- the file- Returns:
- the metric file writer
- Throws:
IOException
- if an I/O error occurred
-
open
Opens the metric file. Any existing file will be replaced.- Parameters:
indicators
- the indicators to evaluatefile
- the file- Returns:
- the metric file writer
- Throws:
IOException
- if an I/O error occurred
-
repair
Repairs the contents of the metric file, removing any incomplete or invalid entries from the file.- Parameters:
file
- the file- Returns:
- the number of valid entries in the file
- Throws:
IOException
- if an I/O error occurred
-