Class ReportBase

java.lang.Object
de.labathome.trustconstr.report.ReportBase
Direct Known Subclasses:
BasicReport, IPReport, SQPReport

public abstract class ReportBase extends Object
Abstract base for trust-constr per-iteration progress reports. Counterpart to scipy's _trustregion_constr/report.py:ReportBase.

Concrete subclasses (BasicReport, SQPReport, IPReport) define column names, widths, and per-iteration format strings; this base handles the actual rendering of the header, data rows, and footer.

  • Constructor Details

    • ReportBase

      public ReportBase()
  • Method Details

    • columnNames

      protected abstract String[] columnNames()
      Returns:
      per-column header labels
    • columnWidths

      protected abstract int[] columnWidths()
      Returns:
      per-column display widths (number of characters per cell)
    • iterationFormats

      protected abstract String[] iterationFormats()
      Per-column Formatter format specs (e.g. "^7" for a centered 7-char field, "^+13.4e" for centered scientific notation). The leading % and trailing s/f/etc. are added by printIteration(java.lang.Object...).
      Returns:
      per-column format specs, parallel to columnNames()
    • printHeader

      public void printHeader()
      Print the column header line and a separator. Output goes to System.out (writeable target tests can override System.setOut(PrintStream)).
    • printHeader

      public void printHeader(PrintStream out)
      Print the column header to a specified target (used by tests).
      Parameters:
      out - target stream
    • printIteration

      public void printIteration(Object... values)
      Print a single iteration row to System.out.
      Parameters:
      values - per-column values, in the order matching columnNames() and iterationFormats()
    • printIteration

      public void printIteration(PrintStream out, Object... values)
      Print a single iteration row to a specified target (used by tests).
      Parameters:
      out - target stream
      values - per-column values, in column order
    • printFooter

      public void printFooter()
      Print a blank line as the report footer.
    • printFooter

      public void printFooter(PrintStream out)
      Print the footer to a specified target (used by tests).
      Parameters:
      out - target stream