org.incava.analysis

Class ContextReport

public class ContextReport extends Report

Reports errors in multiple lines, displaying the contextual code, and denoting the code to which a violation applies.
Field Summary
static inttabWidth
The number of spaces a tab is equivalent to.
Constructor Summary
ContextReport(Writer writer)
Creates a context report for the given writer.
ContextReport(OutputStream os)
Creates a context report for the given output stream.
ContextReport(Writer writer, String source)
Creates a context report for the given writer, and a string source.
ContextReport(Writer writer, File file)
Creates a context report for the given writer, and a file source.
ContextReport(OutputStream os, String source)
Creates a context report for the given output stream, and string source.
ContextReport(OutputStream os, File file)
Creates a context report for the given output stream, and file.
Method Summary
protected voidindent(StringBuffer buf, int line, int column, char ch)
Adds indentation to the buffer, replacing spacing and tabs.
protected voidmarkToEndOfLine(StringBuffer buf, int line, int column)
Marks the given line with leading spaces to the column position (inclusive), and from there marking to the end of the line with "<---...".
protected voidmarkToStartPosition(StringBuffer buf, int line, int column)
Marks the given line with "...--->" leading to the column position (inclusive).
voidreset(File file)
Associates the given file with the list of violations, including that are adding to this report later, i.e., prior to flush.
voidreset(String source)
Associates the given string source with the list of violations, including that are adding to this report later, i.e., prior to flush.
protected StringtoString(Violation violation)
Returns a string representing the given violation, consistent with the format of the Report subclass.
protected voidunderline(StringBuffer buf, int line, int beginColumn, int endColumn)
Underlines ("<--...-->") from beginColumn to endColumn in the given line.
protected voidwriteLine(StringBuffer buf, int line)
Writes the given line, adding the line number, right-aligned.

Field Detail

tabWidth

public static int tabWidth
The number of spaces a tab is equivalent to.

Constructor Detail

ContextReport

public ContextReport(Writer writer)
Creates a context report for the given writer.

Parameters: writer The writer associated with this report.

ContextReport

public ContextReport(OutputStream os)
Creates a context report for the given output stream.

Parameters: os The output stream associated with this report.

ContextReport

public ContextReport(Writer writer, String source)
Creates a context report for the given writer, and a string source.

Parameters: writer The writer associated with this report. source The source code to which this report applies.

ContextReport

public ContextReport(Writer writer, File file)
Creates a context report for the given writer, and a file source.

Parameters: writer The writer associated with this report. file The file, containing source code, to which this report applies.

ContextReport

public ContextReport(OutputStream os, String source)
Creates a context report for the given output stream, and string source.

Parameters: os The output stream associated with this report. source The source code to which this report applies.

ContextReport

public ContextReport(OutputStream os, File file)
Creates a context report for the given output stream, and file.

Parameters: os The output stream associated with this report. file The file, containing source code, to which this report applies.

Method Detail

indent

protected void indent(StringBuffer buf, int line, int column, char ch)
Adds indentation to the buffer, replacing spacing and tabs. Replaces tabs with tabWidth occurrences of ch.

Parameters: buf The buffer to be written to. line The current line number. column The column to indent to. ch The character with which to replace spaces and tabs.

markToEndOfLine

protected void markToEndOfLine(StringBuffer buf, int line, int column)
Marks the given line with leading spaces to the column position (inclusive), and from there marking to the end of the line with "<---...".

Parameters: buf The buffer to be written to. line The current line number. column The column to mark to/from.

markToStartPosition

protected void markToStartPosition(StringBuffer buf, int line, int column)
Marks the given line with "...--->" leading to the column position (inclusive).

Parameters: buf The buffer to be written to. line The current line number. column The column to mark to.

reset

public void reset(File file)
Associates the given file with the list of violations, including that are adding to this report later, i.e., prior to flush.

Parameters: file The file associated with the set of violations.

reset

public void reset(String source)
Associates the given string source with the list of violations, including that are adding to this report later, i.e., prior to flush.

Parameters: source The source code associated with the set of violations.

toString

protected String toString(Violation violation)
Returns a string representing the given violation, consistent with the format of the Report subclass.

Parameters: violation The violation to represent as a string.

underline

protected void underline(StringBuffer buf, int line, int beginColumn, int endColumn)
Underlines ("<--...-->") from beginColumn to endColumn in the given line. If the columns are equal, a single caret is shown.

Parameters: buf The buffer to be written to. line The current line number. beginColumn The column to mark from. endColumn The column to mark to.

writeLine

protected void writeLine(StringBuffer buf, int line)
Writes the given line, adding the line number, right-aligned. Appends the end-of-line character/sequence.

Parameters: buf The buffer to be written to. line The current line number.