Class LineLengthCheck
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.api.AutomaticBean
-
- com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
-
- com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck
-
- com.puppycrawl.tools.checkstyle.checks.sizes.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 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 Modifier and Type Field Description static java.lang.String
MSG_KEY
A key is pointing to the warning message text in "messages.properties" file.
-
Constructor Summary
Constructors Constructor Description LineLengthCheck()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
processFiltered(java.io.File file, FileText fileText)
Called to process a file that matches the specified file extensions.void
setIgnorePattern(java.util.regex.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 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
-
-
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 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
public final void setIgnorePattern(java.util.regex.Pattern pattern)
Setter to specify pattern for lines to ignore.- Parameters:
pattern
- a pattern.
-
-