Class UniquePropertiesCheck
java.lang.Object
com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck
com.puppycrawl.tools.checkstyle.checks.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 isjava.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
-
Nested Class Summary
Modifier and TypeClassDescriptionprivate static final class
Properties subclass to store duplicated property keys in a separate map.Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
AbstractAutomaticBean.OutputStreamOptions
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate static Pattern
getKeyPattern
(String keyName) Method returns regular expression pattern given key name.private static int
getLineNumber
(FileText fileText, String keyName) Method returns line number the key is detected in the checked properties files first.protected void
processFiltered
(File file, FileText fileText) Called to process a file that matches the specified file extensions.Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck
addViolations, beginProcessing, destroy, finishProcessing, fireErrors, getFileContents, getFileExtensions, getMessageDispatcher, getTabWidth, getViolations, init, log, log, process, setFileContents, setFileExtensions, setMessageDispatcher, setTabWidth
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
Methods inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
configure, contextualize, getConfiguration, setupChild
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.puppycrawl.tools.checkstyle.api.Configurable
configure
Methods inherited from interface com.puppycrawl.tools.checkstyle.api.Contextualizable
contextualize
-
Field Details
-
MSG_KEY
Localization key for check violation.- See Also:
-
MSG_IO_EXCEPTION_KEY
Localization key for IO exception occurred on file open.- See Also:
-
SPACE_PATTERN
Pattern matching single space.
-
-
Constructor Details
-
UniquePropertiesCheck
public UniquePropertiesCheck()Construct the check with default values.
-
-
Method Details
-
processFiltered
Description copied from class:AbstractFileSetCheck
Called to process a file that matches the specified file extensions.- Specified by:
processFiltered
in classAbstractFileSetCheck
- Parameters:
file
- the file to be processedfileText
- the contents of the file.
-
getLineNumber
Method returns line number the key is detected in the checked properties files first.- Parameters:
fileText
-FileText
object contains the lines to processkeyName
- key name to look for- Returns:
- line number of first occurrence. If no key found in properties file, 1 is returned
-
getKeyPattern
Method returns regular expression pattern given key name.- Parameters:
keyName
- key name to look for- Returns:
- regular expression pattern given key name
-