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.

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:
6.9
  • 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