Class ResultsSerializerListener<S extends Solution<S,I>,I extends Instance>

java.lang.Object
es.urjc.etsii.grafo.io.serializers.ResultsSerializerListener<S,I>

@Component public class ResultsSerializerListener<S extends Solution<S,I>,I extends Instance> extends Object
Retrieve results and export to disk when appropriate
  • Constructor Details

    • ResultsSerializerListener

      public ResultsSerializerListener(AbstractEventStorage<S,I> eventStorage, List<ResultsSerializer<S,I>> serializers)
      Construct a result serializer listener.
      Parameters:
      eventStorage - Event storage service
      serializers - List of available Result Serializers
  • Method Details

    • saveOnFreq

      public void saveOnFreq(String expName, long expStart, ResultExportFrequency frequency)
      Save results using each serializer with the given frequency
      Parameters:
      expName - experiment name, as defined in the configuration
      expStart - experiment start time, as UNIX timestamp
      frequency - save frequency, will check each serializer config and skip if the frequency configured does not match
    • saveOnExperimentEnd

      public void saveOnExperimentEnd(ExperimentEndedEvent event)

      Save results when experiment ends.

      Parameters:
      event - a ExperimentEndedEvent object.
    • saveOnInstanceEnd

      public void saveOnInstanceEnd(InstanceProcessingEndedEvent event)
      Save results each time an instance processing ends
      Parameters:
      event - a ExperimentEndedEvent object.
    • getExpData

      public List<SolutionGeneratedEvent<S,I>> getExpData(String expName)
    • getFilename

      public String getFilename(AbstractSerializerConfig config, String experimentName, long startTimestamp)
      Get filename
      Parameters:
      experimentName - experiment name
      Returns:
      the file name