Package uk.ac.starlink.ttools.taplint
Class JsonOutputReporter
java.lang.Object
uk.ac.starlink.ttools.taplint.JsonOutputReporter
- All Implemented Interfaces:
OutputReporter,Reporter
OutputReporter implementation for exporting JSON structured output.
- Since:
- 23 Oct 2016
- Author:
- Mark Taylor
-
Constructor Summary
ConstructorsConstructorDescriptionJsonOutputReporter(PrintStream out, ReportType[] types, int maxRepeat, boolean debug, int maxChar) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidend()Signals end of reporting.voidEnds the current section.Returns the section code for the most recently-started section.voidreport(ReportCode code, String message) Reports a message.voidreport(ReportCode code, String message, Throwable err) Reports a message with an associated throwable.voidSignals beginning of reporting.voidstartSection(String scode, String message) Begins a reporting section.voidWrites to the output stream a summary of messages which were suppressed in a given stage because the maximum repeat count was exceeded.
-
Constructor Details
-
JsonOutputReporter
public JsonOutputReporter(PrintStream out, ReportType[] types, int maxRepeat, boolean debug, int maxChar) Constructor.- Parameters:
out- destination streamtypes- message types to report; others are discardedmaxRepeat- maximum number of times any given message may be repeated; subsequent instances are suppresseddebug- true iff you want to see full stacktraces for exceptions etcmaxChar- maximum number of total characters per line of output
-
-
Method Details
-
start
Description copied from interface:OutputReporterSignals beginning of reporting.- Specified by:
startin interfaceOutputReporter- Parameters:
announcements- header information about validator operation; plain text, one line per element
-
end
public void end()Description copied from interface:OutputReporterSignals end of reporting.- Specified by:
endin interfaceOutputReporter
-
startSection
Description copied from interface:OutputReporterBegins a reporting section.- Specified by:
startSectionin interfaceOutputReporter- Parameters:
scode- short fixed-length (3-char?) identifier for the section about to startmessage- terse (one-line) free-text description of the stage
-
endSection
public void endSection()Description copied from interface:OutputReporterEnds the current section.- Specified by:
endSectionin interfaceOutputReporter
-
getSectionCode
Description copied from interface:OutputReporterReturns the section code for the most recently-started section.- Specified by:
getSectionCodein interfaceOutputReporter- Returns:
- current section code
-
report
Description copied from interface:ReporterReports a message.This convenience method is equivalent to calling
report(code,message,null) -
report
Description copied from interface:ReporterReports a message with an associated throwable. -
summariseUnreportedMessages
Description copied from interface:OutputReporterWrites to the output stream a summary of messages which were suppressed in a given stage because the maximum repeat count was exceeded.- Specified by:
summariseUnreportedMessagesin interfaceOutputReporter- Parameters:
scode- section code to summarise; if null, no stage filtering is done
-