Text Report Renderer
A ReportVisitor that renders a ReportNode tree to plain text.
This is the simplest renderer and serves as the end-to-end validation of the visitor traversal pattern. It delegates all statistical table formatting to StatisticReporter, preserving the existing KSL console output experience.
Node rendering:
ReportNode.Document — title underlined with
=ReportNode.Section — section title underlined with
-, indented by depthReportNode.Heading — heading text prefixed with
#× levelReportNode.Paragraph — text followed by a blank line
ReportNode.StatTable — delegates to
StatisticReporter.halfWidthSummaryReport(detail=false) or StatisticReporter.summaryReport followed by the full CSV statistics (detail=true)ReportNode.WeightedStatTable — key/value table of all ksl.utilities.statistic.WeightedStatistic properties
ReportNode.DataTable — column-padded text table
ReportNode.PlotNode — saves the plot to RenderContext.plotDir and writes a
[Plot saved: path]lineReportNode.RawText — verbatim content, indented two spaces
ReportNode.PageBreak — a line of 80
─characters
All mutable state uses the my prefix per KSL coding conventions.
Parameters
the render context supplying output paths and formatting preferences
Functions
Writes the accumulated report to the given PrintWriter.