Package net.sourceforge.pmd.renderers
Class AbstractAccumulatingRenderer
- java.lang.Object
-
- net.sourceforge.pmd.properties.AbstractPropertySource
-
- net.sourceforge.pmd.renderers.AbstractRenderer
-
- net.sourceforge.pmd.renderers.AbstractAccumulatingRenderer
-
- All Implemented Interfaces:
PropertySource,Renderer
- Direct Known Subclasses:
SummaryHTMLRenderer,TextColorRenderer,YAHTMLRenderer
public abstract class AbstractAccumulatingRenderer extends AbstractRenderer
Abstract base class forRendererimplementations which only produce output once all source files are processed. SuchRenderers use working memory proportional to the number of violations found, which can be quite large in some scenarios. Consider usingAbstractIncrementingRendererwhich can use significantly less memory. Subclasses should implement theend()method to output thereport.- See Also:
AbstractIncrementingRenderer
-
-
Field Summary
Fields Modifier and Type Field Description protected ReportreportThe accumulated Report.-
Fields inherited from class net.sourceforge.pmd.renderers.AbstractRenderer
description, inputPathPrefixes, name, showSuppressedViolations, writer
-
Fields inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
propertyDescriptors, propertyValuesByDescriptor
-
-
Constructor Summary
Constructors Constructor Description AbstractAccumulatingRenderer(java.lang.String name, java.lang.String description)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidend()Subclasses should output thereport.voidrenderFileReport(Report report)Render the given file Report.voidstart()This method is called before any source files are processed.voidstartFileAnalysis(DataSource dataSource)This method is called each time a source file is processed.-
Methods inherited from class net.sourceforge.pmd.renderers.AbstractRenderer
determineFileName, flush, getDescription, getName, getPropertySourceType, getWriter, isShowSuppressedViolations, setDescription, setName, setShowSuppressedViolations, setUseShortNames, setWriter
-
Methods inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, isPropertyOverridden, setProperty, 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.properties.PropertySource
definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, isPropertyOverridden, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
-
Methods inherited from interface net.sourceforge.pmd.renderers.Renderer
defaultFileExtension
-
-
-
-
Field Detail
-
report
protected Report report
The accumulated Report.
-
-
Method Detail
-
start
public void start() throws java.io.IOExceptionDescription copied from interface:RendererThis 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.- Throws:
java.io.IOException
-
startFileAnalysis
public void startFileAnalysis(DataSource dataSource)
Description copied from interface:RendererThis method is called each time a source file is processed. It is called afterRenderer.start(), but beforeRenderer.renderFileReport(Report)andRenderer.end(). This method may be invoked by different threads which are processing files independently. Therefore, any non-trivial implementation of this method needs to be thread-safe.- Parameters:
dataSource- The source file.
-
renderFileReport
public void renderFileReport(Report report) throws java.io.IOException
Description copied from interface:RendererRender the given file Report. There may be multiple Report instances which need to be rendered if produced by different threads. It is called afterRenderer.start()andRenderer.startFileAnalysis(DataSource), but beforeRenderer.end().- Parameters:
report- A file Report.- Throws:
java.io.IOException- See Also:
Report
-
end
public abstract void end() throws java.io.IOExceptionSubclasses should output thereport. This method is at the very end of the Rendering process, afterRenderer.renderFileReport(Report).- Throws:
java.io.IOException
-
-