Class UniquePropertiesCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable, FileSetCheck

    public class UniquePropertiesCheck
    extends AbstractFileSetCheck

    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
    • Constructor Detail

    • Method Detail

      • 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