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 enumEnumeration 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 MetricFileWriterappend(Indicators indicators, File file) Opens the metric file in append mode.voidclose()static intgetMetricIndex(String value) Gets the index of the metric, either from its name or the column index.intReturns the number of entries in the file.static MetricFileWriteropen(Indicators indicators, File file) Opens the metric file.protected voidWrites the header line to the file.static intRepairs the contents of the metric file, removing any incomplete or invalid entries from the file.protected voidwrite(double[] values) Writes a line to the metric file containing the given decimal values separated by whitespace.protected voidWrites a line to the metric file containing the given strings separated by whitespace.voidwrite(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:ResultWriterReturns 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:
getNumberOfEntriesin 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:
writein 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
-