Class LineLengthCheck
- All Implemented Interfaces:
Configurable
,Contextualizable
,FileSetCheck
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 is8
. To specify a different number of spaces, the user can setTreeWalker
propertytabWidth
which applies to all Checks, includingLineLength
; or can set propertytabWidth
forLineLength
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 isjava.lang.String[]
. Default value is""
. -
Property
ignorePattern
- Specify pattern for lines to ignore. Type isjava.util.regex.Pattern
. Default value is"^$"
. -
Property
max
- Specify the maximum line length allowed. Type isint
. Default value is80
.
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
-
Nested Class Summary
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
AutomaticBean.OutputStreamOptions
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
processFiltered
(File file, FileText fileText) Called to process a file that matches the specified file extensions.final void
setIgnorePattern
(Pattern pattern) Setter to specify pattern for lines to ignore.void
setMax
(int length) Setter to specify the maximum line length allowed.Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck
addMessages, beginProcessing, destroy, finishProcessing, fireErrors, getFileContents, getFileExtensions, getMessageDispatcher, getMessages, getTabWidth, 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.api.AutomaticBean
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
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
-
Constructor Details
-
LineLengthCheck
public LineLengthCheck()
-
-
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.
-
setMax
public void setMax(int length) Setter to specify the maximum line length allowed.- Parameters:
length
- the maximum length of a line
-
setIgnorePattern
Setter to specify pattern for lines to ignore.- Parameters:
pattern
- a pattern.
-