Class RawSheetWriter

java.lang.Object
es.urjc.etsii.grafo.io.serializers.excel.RawSheetWriter
Direct Known Subclasses:
ExcelCalculatedRawSheetWriter, JavaCalculatedRawSheetWriter

public abstract class RawSheetWriter extends Object
Generates excel raw sheet with all data to use in pivot table and custom charts or other custom processing
  • Constructor Details

    • RawSheetWriter

      public RawSheetWriter()
  • Method Details

    • fillRawSheet

      public abstract org.apache.poi.ss.util.AreaReference fillRawSheet(org.apache.poi.xssf.usermodel.XSSFSheet rawSheet, boolean maximizing, List<? extends SolutionGeneratedEvent<?,?>> results, List<ReferenceResultProvider> referenceResultProviders)
      Write data to raw sheet
      Parameters:
      rawSheet - sheet reference where data should be written to
      maximizing - true if this is a maximizing problem, false otherwise
      results - list of results to serialize
      referenceResultProviders - reference result providers if available
      Returns:
      AreaReference specifying the area used in the sheet
    • nanInfiniteFilter

      protected static double nanInfiniteFilter(boolean maximizing, double value)
      Transform NaNs and other special double values to valid values in Excel
      Parameters:
      maximizing - true if this is a maximizing problem, false otherwise
      value - value to transform
      Returns:
      transformed value
    • getPercentageDevToBest

      protected static double getPercentageDevToBest(double score, double bestValueForInstance)
      Calculate %Dev to reference value
      Parameters:
      score - value to check
      bestValueForInstance - reference valu
      Returns:
      %Dev as a doube
    • writeCell

      protected static void writeCell(org.apache.poi.xssf.usermodel.XSSFCell cell, Object d, RawSheetWriter.CType type)
      Write value to sheet cell
      Parameters:
      cell - cell where value will be written
      d - value to write
      type - hints how the value should be interpreted. May or may not be honored.
    • getCustomPropertyNames

      protected String[] getCustomPropertyNames(List<? extends SolutionGeneratedEvent<?,?>> results)
    • getCommonHeaders

      protected String[] getCommonHeaders()
    • bestResultPerInstance

      protected static Map<String,Double> bestResultPerInstance(Objective<?,?,?> objective, List<? extends SolutionGeneratedEvent<?,?>> results, List<ReferenceResultProvider> providers, boolean maximizing)
      Get best result for a given instance
      Parameters:
      results - our results
      providers - reference values
      maximizing - true if this is a maximizing problem, false otherwise
      Returns:
      best value known for a given instance