# Interface Reporter

All Known Subinterfaces:
  `OutputReporter`

All Known Implementing Classes:
  `HoldReporter, JsonOutputReporter, TextOutputReporter`

public interface Reporter
Basic interface for logging validation messages.

Note that in earlier versions Reporter was a concrete class with more methods, used by the TapLinter harness class. That concrete class, which implements this interface, has now been renamed `OutputReporter`.

Since:
  24 May 2016
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`void`
`report(ReportCode code, String message)`
Reports a message.
`void`
`report(ReportCode code, String message, Throwable err)`
Reports a message with an associated throwable.

## Method Details

### report

void report(ReportCode code, String message)
Reports a message.

This convenience method is equivalent to calling `report(code,message,null)`

Parameters:
  `code` - report code; messages with the same code should identify essentially the same condition
  `message` - free-text message; it may be multi-line and/or longish, but may in practice be truncated on output

### report

void report(ReportCode code, String message, Throwable err)
Reports a message with an associated throwable.

Parameters:
  `code` - report code; messages with the same code should identify essentially the same condition
  `message` - free-text message; it may be multi-line and/or longish, but may in practice be truncated on output
  `err` - throwable