Rule that verifies that the name of each property matches a regular expression. By default it checks that
property names (other than static final) start with a lowercase letter and contains only letters
or numbers. By default, static final property names start with an uppercase letter and contain
only uppercase letters, numbers and underscores.
NOTE: This rule checks only properties of a class, not regular fields. In Groovy,
properties are fields declared with no access modifier (public, protected, private).
For naming of regular fields, see FieldNameRule.
The regex property specifies the default regular expression to validate a property name.
It is required and cannot be null or empty. It defaults to '[a-z][a-zA-Z0-9]*'.
The finalRegex property specifies the regular expression to validate final
property names. It is optional and defaults to null, so that final properties that are
non-static will be validated using regex.
The staticRegex property specifies the regular expression to validate static
property names. It is optional and defaults to null, so that static properties that are
non-final will be validated using regex.
The staticFinalRegex property specifies the regular expression to validate static final
property names. It is optional but defaults to '[A-Z][A-Z0-9_]*'.
The order of precedence for the regular expression properties is: staticFinalRegex,
finalRegex, staticRegex and finally regex. In other words, the first
regex in that list matching the modifiers for the property is the one that is applied for the property
name validation.
The ignorePropertyNames property optionally specifies one or more
(comma-separated) property names that should be ignored (i.e., that should not cause a
rule violation). The name(s) may optionally include wildcard characters ('*' or '?').
- Authors:
- Chris Mair
- Hamlet D'Arcy