Class AbstractHeaderCheck
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
-
- com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
-
- com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck
-
- com.puppycrawl.tools.checkstyle.checks.header.AbstractHeaderCheck
-
- All Implemented Interfaces:
Configurable
,Contextualizable
,ExternalResourceHolder
,FileSetCheck
- Direct Known Subclasses:
HeaderCheck
,RegexpHeaderCheck
public abstract class AbstractHeaderCheck extends AbstractFileSetCheck implements ExternalResourceHolder
Abstract super class for header checks. Provides support for header and headerFile properties.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
AbstractAutomaticBean.OutputStreamOptions
-
-
Field Summary
Fields Modifier and Type Field Description private Charset
charset
Specify the character encoding to use when reading the headerFile.private static Pattern
ESCAPED_LINE_FEED_PATTERN
Pattern to detect occurrences of '\n' in text.private URI
headerFile
Specify the name of the file containing the required header.private List<String>
readerLines
The lines of the header file.
-
Constructor Summary
Constructors Constructor Description AbstractHeaderCheck()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private void
checkHeaderNotInitialized()
Called before initializing the header.private static Charset
createCharset(String name)
Creates charset by name.protected void
finishLocalSetup()
Provides a hook to finish the part of this component's setup that was not handled by the bean introspection.Set<String>
getExternalResourceLocations()
Returns a set of external configuration resource locations which are used by the module.protected List<String>
getHeaderLines()
Return the header lines to check against.private void
loadHeader(Reader headerReader)
Load header to check against from a Reader into readerLines.private void
loadHeaderFile()
Load the header from a file.protected abstract void
postProcessHeaderLines()
Hook method for post-processing header lines.void
setCharset(String charset)
Setter to specify the character encoding to use when reading the headerFile.void
setHeader(String header)
Specify the required header specified inline.void
setHeaderFile(URI uri)
Setter to specify the name of the file containing the required header.-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck
addViolations, beginProcessing, destroy, finishProcessing, fireErrors, getFileContents, getFileExtensions, getMessageDispatcher, getTabWidth, getViolations, init, log, log, process, processFiltered, setFileContents, setFileExtensions, setMessageDispatcher, setTabWidth
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
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 Detail
-
ESCAPED_LINE_FEED_PATTERN
private static final Pattern ESCAPED_LINE_FEED_PATTERN
Pattern to detect occurrences of '\n' in text.
-
readerLines
private final List<String> readerLines
The lines of the header file.
-
headerFile
private URI headerFile
Specify the name of the file containing the required header.
-
-
Constructor Detail
-
AbstractHeaderCheck
public AbstractHeaderCheck()
-
-
Method Detail
-
postProcessHeaderLines
protected abstract void postProcessHeaderLines()
Hook method for post-processing header lines. This implementation does nothing.
-
getHeaderLines
protected List<String> getHeaderLines()
Return the header lines to check against.- Returns:
- the header lines to check against.
-
setCharset
public void setCharset(String charset)
Setter to specify the character encoding to use when reading the headerFile.- Parameters:
charset
- the charset name to use for loading the header from a file
-
setHeaderFile
public void setHeaderFile(URI uri) throws CheckstyleException
Setter to specify the name of the file containing the required header.- Parameters:
uri
- the uri of the header to load.- Throws:
CheckstyleException
- if fileName is empty.
-
loadHeaderFile
private void loadHeaderFile() throws CheckstyleException
Load the header from a file.- Throws:
CheckstyleException
- if the file cannot be loaded
-
checkHeaderNotInitialized
private void checkHeaderNotInitialized()
Called before initializing the header.- Throws:
IllegalArgumentException
- if header has already been set
-
createCharset
private static Charset createCharset(String name)
Creates charset by name.- Parameters:
name
- charset name- Returns:
- created charset
- Throws:
UnsupportedCharsetException
- if charset is unsupported
-
setHeader
public void setHeader(String header)
Specify the required header specified inline. Individual header lines must be separated by the string"\n"
(even on platforms with a different line separator).- Parameters:
header
- header content to check against.- Throws:
IllegalArgumentException
- if the header cannot be interpreted
-
loadHeader
private void loadHeader(Reader headerReader) throws IOException
Load header to check against from a Reader into readerLines.- Parameters:
headerReader
- delivers the header to check against- Throws:
IOException
- if
-
finishLocalSetup
protected final void finishLocalSetup() throws CheckstyleException
Description copied from class:AbstractAutomaticBean
Provides a hook to finish the part of this component's setup that was not handled by the bean introspection.The default implementation does nothing.
- Overrides:
finishLocalSetup
in classAbstractViolationReporter
- Throws:
CheckstyleException
- if there is a configuration error.
-
getExternalResourceLocations
public Set<String> getExternalResourceLocations()
Description copied from interface:ExternalResourceHolder
Returns a set of external configuration resource locations which are used by the module. ATTENTION! If 'getExternalResourceLocations()' return null, there will beNullPointerException
inChecker
. Such behaviour will signal that your module (check or filter) is designed incorrectly. It makes sense to return an empty set from 'getExternalResourceLocations()' only for composite modules likeTreeWalker
.- Specified by:
getExternalResourceLocations
in interfaceExternalResourceHolder
- Returns:
- a set of external configuration resource locations which are used by the module.
-
-