com.puppycrawl.tools.checkstyle.checks
Class HeaderCheck

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended bycom.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended bycom.puppycrawl.tools.checkstyle.api.Check
              extended bycom.puppycrawl.tools.checkstyle.checks.AbstractHeaderCheck
                  extended bycom.puppycrawl.tools.checkstyle.checks.HeaderCheck
All Implemented Interfaces:
Configurable, Contextualizable

public class HeaderCheck
extends AbstractHeaderCheck

Checks the header of the source against a fixed header file.

Rationale: In most projects each file must have a fixed header, since usually the header contains copyright information.

The header contents are specified in the file identified by property headerFile.

Property ignoreLines specifies the line numbers to ignore when matching lines in a header file. The property type is a comma-separated list of integers and defaults to an empty list.

This property is very useful for supporting headers that contain copyright dates. For example, consider the following header:

 line 1: ////////////////////////////////////////////////////////////////////
 line 2: // checkstyle:
 line 3: // Checks Java source code for adherence to a set of rules.
 line 4: // Copyright (C) 2001  Oliver Burn
 line 5: ////////////////////////////////////////////////////////////////////
 

Since the year information will change over time, you can tell checkstyle to ignore line 4 by setting property ignoreLines to 4.

An example of how to configure the check to use header file "java.header" and ignore lines 2, 3, and 4 is:

 <module name="Header">
    <property name="headerFile" value="java.header"/>
    <property name="ignoreLines" value="2, 3, 4"/>
 </module>
 

Author:
Lars Kühne

Constructor Summary
HeaderCheck()
           
 
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.
protected  boolean isMatch(int aLineNumber)
          Checks if a code line matches the required header line.
 void setIgnoreLines(int[] aList)
          Set the lines numbers to ignore in the header check.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.checks.AbstractHeaderCheck
finishLocalSetup, getDefaultTokens, getHeaderLines, setHeader, setHeaderFile
 
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

HeaderCheck

public HeaderCheck()
Method Detail

isMatch

protected boolean isMatch(int aLineNumber)
Checks if a code line matches the required header line.

Parameters:
aLineNumber - the linenumber to check against the header
Returns:
true if and only if the line matches the required header line

setIgnoreLines

public void setIgnoreLines(int[] aList)
Set the lines numbers to ignore in the header check.

Parameters:
aList - comma separated list of line numbers to ignore in header.

beginTree

public 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.

Overrides:
beginTree in class Check
Parameters:
aRootAST - the root of the tree

Back to the Checkstyle Home Page