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 TreeWalker property tabWidth which applies to all Checks, including LineLength; or can set property tabWidth for LineLength alone.
    • Package and import statements (lines matching pattern ^(package|import) .*) are not verified by this check.
    • Property fileExtensions - Specify file extensions that are accepted. 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 "^$".
    • Property max - Specify the maximum line length allowed. Type is int. Default value is 80.

    To configure the check to accept lines up to 80 characters long:

     <module name="LineLength"/>
     

    To configure the check to accept lines up to 120 characters long:

     <module name="LineLength">
       <property name="max" value="120"/>
     </module>
     

    To configure the check to ignore lines that begin with " * " code, followed by just one word, such as within a Javadoc comment:

     <module name="LineLength">
       <property name="ignorePattern" value="^ *\* *[^ ]+$"/>
     </module>
     

    To configure the check to only validate java files and ignore other extensions:

     <module name="LineLength">
       <property name="fileExtensions" value="java"/>
     </module>
     

    To configure the check to only validate xml and property files and ignore other extensions:

     <module name="LineLength">
       <property name="fileExtensions" value="xml, properties"/>
     </module>
     

    Parent is com.puppycrawl.tools.checkstyle.Checker

    Violation Message Keys:

    • maxLineLen
    Since:
    3.0
    • Field Detail

      • MSG_KEY

        public static final java.lang.String MSG_KEY
        A key is pointing to the warning message text in "messages.properties" file.
        See Also:
        Constant Field Values
    • Constructor Detail

      • LineLengthCheck

        public LineLengthCheck()
    • Method Detail

      • processFiltered

        protected void processFiltered​(java.io.File file,
                                       FileText fileText)
        Description copied from class: AbstractFileSetCheck
        Called to process a file that matches the specified file extensions.
        Specified by:
        processFiltered in class AbstractFileSetCheck
        Parameters:
        file - the file to be processed
        fileText - the contents of the file.
      • setMax

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

        public final void setIgnorePattern​(java.util.regex.Pattern pattern)
        Setter to specify pattern for lines to ignore.
        Parameters:
        pattern - a pattern.