package bsearch.nlogolink;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.LinkedList;
/**
* Class for storing numeric results from a model run. It can store multiple measures.
*/
public class ModelRunResult {
private LinkedHashMap<String,LinkedList<Double>> measures = new LinkedHashMap<String,LinkedList<Double>>();
private long randomSeed;
public ModelRunResult(long randomSeed)
{
this.randomSeed = randomSeed;
}
public void addResult(String measure, Double val)
{
if (!measures.containsKey(measure))
{
measures.put(measure, new LinkedList<Double>());
}
measures.get(measure).add(val);
}
public boolean isEmpty()
{
return measures.isEmpty();
}
public ArrayList<String> getMeasureNames()
{
return new ArrayList<String>(measures.keySet());
}
public LinkedList<Double> getTimeSeriesForMeasure(String measure)
{
return measures.get(measure);
}
public LinkedList<Double> getPrimaryTimeSeries()
{
return measures.get(getMeasureNames().get(0));
}
public long getRandomSeed()
{
return randomSeed;
}
/*
public Object getFinalResult(String measure)
{
List<Object> history = measures.get(measure);
return history.get(history.size() - 1);
}
*/
}