Class UniquePropertiesCheck

All Implemented Interfaces:
Configurable, Contextualizable, FileSetCheck

Detects duplicated keys in properties files.

Rationale: Multiple property keys usually appear after merge or rebase of several branches. While there are no problems in runtime, there can be a confusion due to having different values for the duplicated properties.

  • Property fileExtensions - Specify the file extensions of the files to process. Type is java.lang.String[]. Default value is .properties.

Parent is com.puppycrawl.tools.checkstyle.Checker

Violation Message Keys:

  • properties.duplicate.property
  • unable.open.cause
Since:
5.7
  • Field Details

  • Constructor Details

  • Method Details

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

      private static int getLineNumber(FileText fileText, String keyName)
      Method returns line number the key is detected in the checked properties files first.
      Parameters:
      fileText - FileText object contains the lines to process
      keyName - key name to look for
      Returns:
      line number of first occurrence. If no key found in properties file, 1 is returned
    • getKeyPattern

      private static Pattern getKeyPattern(String keyName)
      Method returns regular expression pattern given key name.
      Parameters:
      keyName - key name to look for
      Returns:
      regular expression pattern given key name