Class AbstractFileSetCheck
java.lang.Object
com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck
- All Implemented Interfaces:
Configurable
,Contextualizable
,FileSetCheck
- Direct Known Subclasses:
AbstractHeaderCheck
,FileLengthCheck
,FileTabCharacterCheck
,JavadocPackageCheck
,LineLengthCheck
,NewlineAtEndOfFileCheck
,OrderedPropertiesCheck
,RegexpMultilineCheck
,RegexpOnFilenameCheck
,RegexpSinglelineCheck
,TranslationCheck
,TreeWalker
,UniquePropertiesCheck
public abstract class AbstractFileSetCheck
extends AbstractViolationReporter
implements FileSetCheck
Provides common functionality for many FileSetChecks.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
The actual context holder.Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
AbstractAutomaticBean.OutputStreamOptions
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ThreadLocal<AbstractFileSetCheck.FileContext>
The check context.private static final String
The extension separator.private String[]
Specify the file extensions of the files to process.private MessageDispatcher
The dispatcher errors are fired to.private int
The tab width for column reporting. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addViolations
(SortedSet<Violation> violations) Adds the sorted set ofViolation
to the message collector.void
beginProcessing
(String charset) Called when about to be called to process a set of files.void
destroy()
Cleans up the object.void
Called when all the files have been processed.protected final void
fireErrors
(String fileName) Notify all listeners about the errors in a file.protected final FileContents
Returns the file contents associated with the file.String[]
Makes copy of file extensions and returns them.protected final MessageDispatcher
A message dispatcher is used to fire violations to interested audit listeners.protected final int
Get tab width to report audit events with.Returns the sorted set ofViolation
.void
init()
Initialise the instance.final void
Log a message that has column information.final void
Log a message that has no column information.Request to process a file.protected abstract void
processFiltered
(File file, FileText fileText) Called to process a file that matches the specified file extensions.final void
setFileContents
(FileContents contents) Set the file contents associated with the tree.final void
setFileExtensions
(String... extensions) Setter to specify the file extensions of the files to process.final void
setMessageDispatcher
(MessageDispatcher messageDispatcher) Sets the MessageDispatcher that is used to dispatch audit events to AuditListeners during processing.final void
setTabWidth
(int tabWidth) Set the tab width to report audit events with.Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
Methods inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
configure, contextualize, getConfiguration, setupChild
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.puppycrawl.tools.checkstyle.api.Configurable
configure
Methods inherited from interface com.puppycrawl.tools.checkstyle.api.Contextualizable
contextualize
-
Field Details
-
EXTENSION_SEPARATOR
The extension separator.- See Also:
-
context
The check context. -
messageDispatcher
The dispatcher errors are fired to. -
fileExtensions
Specify the file extensions of the files to process. Default is uninitialized as the value is inherited from the parent module. -
tabWidth
The tab width for column reporting. Default is uninitialized as the value is inherited from the parent module.
-
-
Constructor Details
-
AbstractFileSetCheck
public AbstractFileSetCheck()
-
-
Method Details
-
processFiltered
Called to process a file that matches the specified file extensions.- Parameters:
file
- the file to be processedfileText
- the contents of the file.- Throws:
CheckstyleException
- if error condition within Checkstyle occurs.
-
init
Description copied from interface:FileSetCheck
Initialise the instance. This is the time to verify that everything required to perform its job.- Specified by:
init
in interfaceFileSetCheck
-
destroy
Description copied from interface:FileSetCheck
Cleans up the object.- Specified by:
destroy
in interfaceFileSetCheck
-
beginProcessing
Description copied from interface:FileSetCheck
Called when about to be called to process a set of files.- Specified by:
beginProcessing
in interfaceFileSetCheck
- Parameters:
charset
- the character set used to read the files.
-
process
Description copied from interface:FileSetCheck
Request to process a file. The implementation should use the supplied contents and not read the contents again. This reduces the amount of file I/O.The file set to process might contain files that are not interesting to the FileSetCheck. Such files should be ignored, no audit event should be fired for them. For example a FileSetCheck that checks java files should ignore HTML or properties files.
The method should return the set of violations to be logged.
- Specified by:
process
in interfaceFileSetCheck
- Parameters:
file
- the file to be processedfileText
- the contents of the file.- Returns:
- the sorted set of violations to be logged.
- Throws:
CheckstyleException
- if error condition within Checkstyle occurs
-
finishProcessing
Description copied from interface:FileSetCheck
Called when all the files have been processed. This is the time to perform any checks that need to be done across a set of files. In this method, the implementation is responsible for the logging of violations.- Specified by:
finishProcessing
in interfaceFileSetCheck
-
setMessageDispatcher
Description copied from interface:FileSetCheck
Sets the MessageDispatcher that is used to dispatch audit events to AuditListeners during processing.- Specified by:
setMessageDispatcher
in interfaceFileSetCheck
- Parameters:
messageDispatcher
- the dispatcher
-
getMessageDispatcher
A message dispatcher is used to fire violations to interested audit listeners.- Returns:
- the current MessageDispatcher.
-
getViolations
Returns the sorted set ofViolation
.- Returns:
- the sorted set of
Violation
.
-
setFileContents
Set the file contents associated with the tree.- Parameters:
contents
- the manager
-
getFileContents
Returns the file contents associated with the file.- Returns:
- the file contents
-
getFileExtensions
Makes copy of file extensions and returns them.- Returns:
- file extensions that identify the files that pass the filter of this FileSetCheck.
-
setFileExtensions
Setter to specify the file extensions of the files to process.- Parameters:
extensions
- the set of file extensions. A missing initial '.' character of an extension is automatically added.- Throws:
IllegalArgumentException
- is argument is null
-
getTabWidth
Get tab width to report audit events with.- Returns:
- the tab width to report audit events with
-
setTabWidth
Set the tab width to report audit events with.- Parameters:
tabWidth
- anint
value
-
addViolations
Adds the sorted set ofViolation
to the message collector.- Parameters:
violations
- the sorted set ofViolation
.
-
log
Description copied from class:AbstractViolationReporter
Log a message that has no column information.- Specified by:
log
in classAbstractViolationReporter
- Parameters:
line
- the line number where the audit event was foundkey
- the message that describes the audit eventargs
- the details of the message- See Also:
-
log
Description copied from class:AbstractViolationReporter
Log a message that has column information.- Specified by:
log
in classAbstractViolationReporter
- Parameters:
lineNo
- the line number where the audit event was foundcolNo
- the column number where the audit event was foundkey
- the message that describes the audit eventargs
- the details of the message- See Also:
-
fireErrors
Notify all listeners about the errors in a file. CallsMessageDispatcher.fireErrors()
with all logged errors and then clears errors' list.- Parameters:
fileName
- the audited file
-