WorstIndividualFile.java
package progen.output.outputers;
import java.io.File;
import progen.context.ProGenContext;
import progen.kernel.population.Individual;
import progen.output.HistoricalData;
import progen.output.datacollectors.DataCollector;
import progen.output.plugins.Plugin;
/**
* @author jirsis
* @since 2.0
*/
public class WorstIndividualFile extends FileOutput {
private DataCollector data;
private boolean finish;
public WorstIndividualFile() {
super(ProGenContext.getMandatoryProperty("progen.output.experiment") + File.pathSeparator + "bestIndividual.txt", false);
final HistoricalData historical = HistoricalData.makeInstance();
data = historical.getCurrentDataCollector("ExperimentIndividualData");
finish = false;
}
@Override
public void print() {
if (finish) {
final Plugin plugin = data.getPlugin("worst");
final Individual individual = (Individual) plugin.getValue();
for (int i = 0; i < individual.getTotalADF(); i++) {
super.getWriter().println(Formatter.tree(individual.getTrees().get("ADF" + i)));
}
for (int i = 0; i < individual.getTotalRPB(); i++) {
super.getWriter().println(Formatter.tree(individual.getTrees().get("RPB" + i)));
}
}
}
public void activateFinishOutput() {
finish = true;
}
}