com.puppycrawl.tools.checkstyle.checks.duplicates

Class StrictDuplicateCodeCheck

Implemented Interfaces:
Configurable, Contextualizable, FileSetCheck

public final class StrictDuplicateCodeCheck
extends AbstractFileSetCheck

Performs a line-by-line comparison of all code lines and reports duplicate code if a sequence of lines differs only in indentation. All import statements in Java code are ignored, any other line - including javadoc, whitespace lines between methods, etc. - is considered (which is why the check is called strict).
Author:
Lars Kühne

Constructor Summary

StrictDuplicateCodeCheck()
Creates a new instance of this class.

Method Summary

void
process(File[] aFiles)
void
setBasedir(String aBasedir)
void
setMin(int aMin)
Sets the minimum number of lines that must be equivalent before the check complains.

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck

destroy, filter, fireErrors, getCharset, getMessageCollector, getMessageDispatcher, log, log, setCharset, setFileExtensions, setMessageDispatcher

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter

getId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, log, log, setId, setSeverity

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean

configure, contextualize, finishLocalSetup, getConfiguration, setupChild

Constructor Details

StrictDuplicateCodeCheck

public StrictDuplicateCodeCheck()
Creates a new instance of this class.

Method Details

process

public void process(File[] aFiles)
Specified by:
process in interface FileSetCheck

setBasedir

public void setBasedir(String aBasedir)
Parameters:
aBasedir - the base directory to strip off in filenames

setMin

public void setMin(int aMin)
Sets the minimum number of lines that must be equivalent before the check complains.
Parameters:
aMin - the number of lines that must be equal before triggering a 'duplicate code' message.