|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.puppycrawl.tools.checkstyle.api.AutomaticBean com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter com.puppycrawl.tools.checkstyle.api.Check com.puppycrawl.tools.checkstyle.checks.AbstractHeaderCheck com.puppycrawl.tools.checkstyle.checks.RegexpHeaderCheck
Checks the header of the source against a header file that contains a regular expression for each line of the source header.
Rationale: In some projects checking against a fixed header
is not sufficient (see HeaderCheck
), e.g.
the header might require a copyright line where the year information
is not static.
For example, consider the following header file:
line 1: ^/{71}$ line 2: ^// checkstyle:$ line 3: ^// Checks Java source code for adherence to a set of rules\.$ line 4: ^// Copyright \(C\) \d\d\d\d Oliver Burn$ line 5: ^// Last modification by \$Author.*\$$ line 6: ^/{71}$
Lines 1 and 6 demonstrate a more compact notation for 71 '/' characters. Line 4 enforces that the copyright notice includes a four digit year. Line 5 is an example how to enforce revision control keywords in a file header. All lines start from ^ (line start symbol) and end with $ (line end) to force matching regexp with complete line in the source file.
An example of how to configure the check to use header file "java.header" is:
<module name="RegexpHeader"> <property name="headerFile" value="java.header"/> </module>
To configure the check to use header file "java.header"
and 10
and 13
muli-lines:
<module name="RegexpHeader"> <property name="headerFile" value="java.header"/> <property name="multiLines" value="10, 13"/> </module>
Note: ignoreLines property was removed you should use ^.*$ regexp for line to ignore it.
Constructor Summary | |
RegexpHeaderCheck()
|
Method Summary | |
void |
beginTree(DetailAST aRootAST)
Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree. |
void |
setHeader(java.lang.String aHeader)
Set the header to check against. |
void |
setHeaderFile(java.lang.String aFileName)
Sets the file that contains the header to check against. |
void |
setMultiLines(int[] aList)
Set the lines numbers to repeat in the header check. |
Methods inherited from class com.puppycrawl.tools.checkstyle.checks.AbstractHeaderCheck |
finishLocalSetup, getDefaultTokens, getHeaderLines |
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check |
destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens, visitToken |
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter |
getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, setSeverity |
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean |
configure, contextualize, getConfiguration, setupChild |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RegexpHeaderCheck()
Method Detail |
public void setMultiLines(int[] aList)
aList
- comma separated list of line numbers to repeat in header.public void setHeaderFile(java.lang.String aFileName) throws org.apache.commons.beanutils.ConversionException
setHeaderFile
in class AbstractHeaderCheck
aFileName
- the file that contains the header to check against.
org.apache.commons.beanutils.ConversionException
- if the file cannot be loaded or one line
is not a regexp.public void setHeader(java.lang.String aHeader)
setHeader
in class AbstractHeaderCheck
aHeader
- header content to check against.
org.apache.commons.beanutils.ConversionException
- if the header cannot be loaded or one line
is not a regexp.public void beginTree(DetailAST aRootAST)
beginTree
in class Check
aRootAST
- the root of the tree
|
Back to the Checkstyle Home Page | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |