Version 4, last updated by gsantini at November 21, 2009 07:37 UTC

Violation detection is made severity agnostic: Sniffers add "Events" and not errors or warnings.

An Event object is identified by a code and carries the obvious line, column and source infos. Severity and message are only calculated at report time, when a config.xml file relative to the standard is analyzed.

To allow messages to bring dynamic infos, some parameters can be stocked in Events and replaced at report time.

Events are grouped in EventList objects for convenience and an EventList is attached to every File object.

Reports are separated from the base class and organized in a factory according to their type. They are reworked to allow iterations over severities. The showWarning parameter is replaced by a "cut severity level", as severities are ordered.

A good point about Events and events codes is that they make easy to collect statistics about violations' types.

All of this will be exploited by the Sonar integration we are working on.