net.sourceforge.pmd.renderers

## Class CSVRenderer

- java.lang.Object
- - net.sourceforge.pmd.AbstractPropertySource
  - - net.sourceforge.pmd.renderers.AbstractRenderer
    - - net.sourceforge.pmd.renderers.AbstractIncrementingRenderer
      - - net.sourceforge.pmd.renderers.CSVRenderer

All Implemented Interfaces:
  PropertySource, Renderer

    public class CSVRenderer
    extends AbstractIncrementingRenderer

Renderer the results to a comma-delimited text format. All available columns are present by default. IDEs can enable/disable columns individually (cmd-line control to follow eventually)

### Field Summary

Fields
`static String` `NAME`

### Fields inherited from class net.sourceforge.pmd.renderers.AbstractIncrementingRenderer

`errors, suppressed`

### Fields inherited from class net.sourceforge.pmd.renderers.AbstractRenderer

`description, name, propertyDefinitions, showSuppressedViolations, writer`

### Fields inherited from class net.sourceforge.pmd.AbstractPropertySource

`propertyDescriptors, propertyValuesByDescriptor`

### Constructor Summary

Constructors
Constructor and Description
`CSVRenderer()`
`CSVRenderer(ColumnDescriptor<RuleViolation>[] columns, String theSeparator, String theCR)`

### Method Summary

Methods
`String` `defaultFileExtension()` Return the default filename extension to use.
`String` `dysfunctionReason()` We can't show any violations if we don't have any visible columns.
`void` `renderFileViolations(Iterator<RuleViolation> violations)` Render a series of `RuleViolation`s.
`void` `start()` This method is called before any source files are processed.

### Methods inherited from class net.sourceforge.pmd.renderers.AbstractIncrementingRenderer

`end, renderFileReport, startFileAnalysis`

### Methods inherited from class net.sourceforge.pmd.renderers.AbstractRenderer

`defineProperty, flush, getDescription, getName, getPropertyDefinitions, getWriter, isShowSuppressedViolations, setDescription, setName, setShowSuppressedViolations, setWriter`

### Methods inherited from class net.sourceforge.pmd.AbstractPropertySource

`copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface net.sourceforge.pmd.PropertySource

`definePropertyDescriptor, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues`

### Field Detail

#### NAME

    public static final String NAME

See Also:
  Constant Field Values

### Constructor Detail

#### CSVRenderer

    public CSVRenderer(ColumnDescriptor<RuleViolation>[] columns,
               String theSeparator,
               String theCR)

#### CSVRenderer

    public CSVRenderer()

### Method Detail

#### start

    public void start()
               throws IOException

This method is called before any source files are processed. The Renderer will have been fully initialized by the time this method is called, so the Writer and other state will be available.

Specified by:
  `start` in interface `Renderer`
Overrides:
  `start` in class `AbstractIncrementingRenderer`
Throws:
  `IOException`

#### defaultFileExtension

    public String defaultFileExtension()

Description copied from interface: `Renderer`
Return the default filename extension to use.

Returns:
  String

#### renderFileViolations

    public void renderFileViolations(Iterator<RuleViolation> violations)
                              throws IOException

Render a series of `RuleViolation`s.

Specified by:
  `renderFileViolations` in class `AbstractIncrementingRenderer`
Parameters:
  `violations` - The iterator of violations to render.
Throws:
  `IOException`

#### dysfunctionReason

    public String dysfunctionReason()

We can't show any violations if we don't have any visible columns.

Specified by:
  `dysfunctionReason` in interface `PropertySource`
Overrides:
  `dysfunctionReason` in class `AbstractPropertySource`
Returns:
  String
See Also:
  `PropertySource.dysfunctionReason()`