Class AbstractHeaderCheck

All Implemented Interfaces:
Configurable, Contextualizable, ExternalResourceHolder, FileSetCheck
Direct Known Subclasses:
HeaderCheck, RegexpHeaderCheck

public abstract class AbstractHeaderCheck extends AbstractFileSetCheck implements ExternalResourceHolder
Abstract super class for header checks. Provides support for header and headerFile properties.
  • Field Details

    • ESCAPED_LINE_FEED_PATTERN

      private static final Pattern ESCAPED_LINE_FEED_PATTERN
      Pattern to detect occurrences of '\n' in text.
    • readerLines

      private final List<String> readerLines
      The lines of the header file.
    • headerFile

      private URI headerFile
      Specify the name of the file containing the required header.
    • charset

      private Charset charset
      Specify the character encoding to use when reading the headerFile.
  • Constructor Details

    • AbstractHeaderCheck

      public AbstractHeaderCheck()
  • Method Details

    • postProcessHeaderLines

      protected abstract void postProcessHeaderLines()
      Hook method for post processing header lines. This implementation does nothing.
    • getHeaderLines

      protected List<String> getHeaderLines()
      Return the header lines to check against.
      Returns:
      the header lines to check against.
    • setCharset

      public void setCharset(String charset)
      Setter to specify the charset to use when reading the headerFile.
      Parameters:
      charset - the charset name to use for loading the header from a file
    • setHeaderFile

      public void setHeaderFile(URI uri) throws CheckstyleException
      Setter to specify the name of the file containing the required header..
      Parameters:
      uri - the uri of the header to load.
      Throws:
      CheckstyleException - if fileName is empty.
    • loadHeaderFile

      private void loadHeaderFile() throws CheckstyleException
      Load the header from a file.
      Throws:
      CheckstyleException - if the file cannot be loaded
    • checkHeaderNotInitialized

      private void checkHeaderNotInitialized()
      Called before initializing the header.
      Throws:
      IllegalArgumentException - if header has already been set
    • createCharset

      private static Charset createCharset(String name)
      Creates charset by name.
      Parameters:
      name - charset name
      Returns:
      created charset
      Throws:
      UnsupportedCharsetException - if charset is unsupported
    • setHeader

      public void setHeader(String header)
      Set the header to check against. Individual lines in the header must be separated by '\n' characters.
      Parameters:
      header - header content to check against.
      Throws:
      IllegalArgumentException - if the header cannot be interpreted
    • loadHeader

      private void loadHeader(Reader headerReader) throws IOException
      Load header to check against from a Reader into readerLines.
      Parameters:
      headerReader - delivers the header to check against
      Throws:
      IOException - if
    • finishLocalSetup

      protected final void finishLocalSetup() throws CheckstyleException
      Description copied from class: AutomaticBean
      Provides a hook to finish the part of this component's setup that was not handled by the bean introspection.

      The default implementation does nothing.

      Overrides:
      finishLocalSetup in class AbstractViolationReporter
      Throws:
      CheckstyleException - if there is a configuration error.
    • getExternalResourceLocations

      public Set<String> getExternalResourceLocations()
      Description copied from interface: ExternalResourceHolder
      Returns a set of external configuration resource locations which are used by the module. ATTENTION! If 'getExternalResourceLocations()' return null, there will be NullPointerException in Checker. Such behaviour will signal that your module (check or filter) is designed incorrectly. It make sense to return an empty set from 'getExternalResourceLocations()' only for composite modules like TreeWalker.
      Specified by:
      getExternalResourceLocations in interface ExternalResourceHolder
      Returns:
      a set of external configuration resource locations which are used by the module.