## com.puppycrawl.tools.checkstyle.checks
Class HeaderCheck

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