All Implemented Interfaces:
Configurable, Contextualizable, ExternalResourceHolder, FileSetCheck

public class HeaderCheck extends AbstractHeaderCheck
Checks that a source file begins with a specified header. Property headerFile specifies a file that contains the required header. Alternatively, the header specification can be set directly in the header property without the need for an external file.

Notes: In default configuration, if header is not specified, the default value of header is set to null and the check does not rise any violations.

  • Property charset - Specify the character encoding to use when reading the headerFile. Type is java.lang.String. Default value is the charset property of the parent <a href="https://checkstyle.org/config.html#Checker">Checker</a> module.
  • Property fileExtensions - Specify the file extensions of the files to process. Type is java.lang.String[]. Default value is "".
  • Property 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). Type is java.lang.String. Default value is null.
  • Property headerFile - Specify the name of the file containing the required header. Type is java.net.URI. Default value is null.
  • Property ignoreLines - Specifies the line numbers to ignore when matching lines in a content of headerFile. Type is int[]. Default value is "".

Parent is com.puppycrawl.tools.checkstyle.Checker

Violation Message Keys:

  • header.mismatch
  • header.missing
Since:
3.2
  • Field Details

  • Constructor Details

  • Method Details

    • isIgnoreLine

      private boolean isIgnoreLine(int lineNo)
      Returns true if lineNo is header lines or false.
      Parameters:
      lineNo - a line number
      Returns:
      if lineNo is one of the ignored header lines.
    • isMatch

      private boolean isMatch(int lineNumber, String line)
      Checks if a code line matches the required header line.
      Parameters:
      lineNumber - the line number to check against the header
      line - the line contents
      Returns:
      true if and only if the line matches the required header line
    • setIgnoreLines

      public void setIgnoreLines(int... lines)
      Setter to specifies the line numbers to ignore when matching lines in a content of headerFile.
      Parameters:
      lines - line numbers to ignore in header.
      Since:
      3.2
    • processFiltered

      protected void processFiltered(File file, FileText fileText)
      Description copied from class: AbstractFileSetCheck
      Called to process a file that matches the specified file extensions.
      Specified by:
      processFiltered in class AbstractFileSetCheck
      Parameters:
      file - the file to be processed
      fileText - the contents of the file.
    • postProcessHeaderLines

      protected void postProcessHeaderLines()
      Description copied from class: AbstractHeaderCheck
      Hook method for post-processing header lines. This implementation does nothing.
      Specified by:
      postProcessHeaderLines in class AbstractHeaderCheck