public class OrderedPropertiesCheck extends AbstractFileSetCheck
Detects if keys in properties files are in correct order.
Rationale: Sorted properties make it easy for people to find required properties by name
in file. It makes merges more easy. While there are no problems at runtime.
This check is valuable only on files with string resources where order of lines
does not matter at all, but this can be improved.
E.g.: checkstyle/src/main/resources/com/puppycrawl/tools/checkstyle/messages.properties
You may suppress warnings of this check for files that have an logical structure like
build files or log4j configuration files. See SuppressionFilter.
<suppress checks="OrderedProperties"
files="log4j.properties|ResourceBundle/Bug.*.properties|logging.properties"/>
Known limitation: The key should not contain a newline. The string compare will work, but not the line number reporting.
fileExtensions
- Specify file type extension of the files to check.
Type is java.lang.String[]
.
Default value is .properties
.
To configure the check:
<module name="OrderedProperties"/>
Example properties file:
A =65 a =97 key =107 than nothing key.sub =k is 107 and dot is 46 key.png =value - violation
We check order of key's only. Here we would like to use an Locale independent order mechanism, an binary order. The order is case insensitive and ascending.
Parent is com.puppycrawl.tools.checkstyle.Checker
Violation Message Keys:
properties.notSorted.property
unable.open.cause
AutomaticBean.OutputStreamOptions
Modifier and Type | Field and Description |
---|---|
static String |
MSG_IO_EXCEPTION_KEY
Localization key for IO exception occurred on file open.
|
static String |
MSG_KEY
Localization key for check violation.
|
Constructor and Description |
---|
OrderedPropertiesCheck()
Construct the check with default values.
|
Modifier and Type | Method and Description |
---|---|
protected void |
processFiltered(File file,
FileText fileText)
Processes the file and check order.
|
addMessages, beginProcessing, destroy, finishProcessing, fireErrors, getFileContents, getFileExtensions, getMessageDispatcher, getMessages, getTabWidth, init, log, log, process, setFileContents, setFileExtensions, setMessageDispatcher, setTabWidth
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
configure, contextualize, getConfiguration, setupChild
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
configure
contextualize
public static final String MSG_KEY
public static final String MSG_IO_EXCEPTION_KEY
public OrderedPropertiesCheck()
protected void processFiltered(File file, FileText fileText)
processFiltered
in class AbstractFileSetCheck
file
- the file to be processedfileText
- the contents of the file.Copyright © 2001–2020. All rights reserved.