Class LineLengthCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable, FileSetCheck

    public class LineLengthCheck
    extends AbstractFileSetCheck

    Checks for long lines.

    Rationale: Long lines are hard to read in printouts or if developers have limited screen space for the source code, e.g. if the IDE displays additional information like project tree, class hierarchy, etc.

    • The calculation of the length of a line takes into account the number of expanded spaces for a tab character ('\t'). The default number of spaces is 8. To specify a different number of spaces, the user can set Checker property tabWidth which applies to all Checks, including LineLength; or can set property tabWidth for LineLength alone.
    • By default, package and import statements (lines matching pattern ^(package|import) .*) are not verified by this check.
    • Trailing comments are taken into consideration while calculating the line length.
       import java.util.regex.Pattern; // The length of this comment will be taken into consideration
      In the example above the length of the import statement is just 31 characters but total length will be 94 characters.
    • Property fileExtensions - Specify the file extensions of the files to process. Type is java.lang.String[]. Default value is "".
    • Property ignorePattern - Specify pattern for lines to ignore. Type is java.util.regex.Pattern. Default value is "^(package|import) .*".
    • Property max - Specify the maximum line length allowed. Type is int. Default value is 80.

    Parent is

    Violation Message Keys:

    • maxLineLen
    • Method Detail

      • setMax

        public void setMax​(int length)
        Setter to specify the maximum line length allowed.
        length - the maximum length of a line
      • setIgnorePattern

        public final void setIgnorePattern​(Pattern pattern)
        Setter to specify pattern for lines to ignore.
        pattern - a pattern.