public class NewlineAtEndOfFileCheck extends AbstractFileSetCheck
Checks that there is a newline at the end of each file.
An example of how to configure the check is:
<module name="NewlineAtEndOfFile"/>
This will check against the platform-specific default line separator.
It is also possible to enforce the use of a specific line-separator across platforms, with the 'lineSeparator' property:
<module name="NewlineAtEndOfFile"> <property name="lineSeparator" value="lf"/> </module>
Valid values for the 'lineSeparator' property are 'system' (system default), 'crlf' (windows), 'cr' (mac), 'lf' (unix) and 'lf_cr_crlf' (lf, cr or crlf).
| Modifier and Type | Field and Description |
|---|---|
private LineSeparatorOption |
lineSeparator
The line separator to check against.
|
static java.lang.String |
MSG_KEY_NO_NEWLINE_EOF
A key is pointing to the warning message text in "messages.properties"
file.
|
static java.lang.String |
MSG_KEY_UNABLE_OPEN
A key is pointing to the warning message text in "messages.properties"
file.
|
| Constructor and Description |
|---|
NewlineAtEndOfFileCheck() |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
endsWithNewline(java.io.RandomAccessFile randomAccessFile)
Checks whether the content provided by the Reader ends with the platform
specific line separator.
|
protected void |
processFiltered(java.io.File file,
java.util.List<java.lang.String> lines)
Called to process a file that matches the specified file extensions.
|
void |
setLineSeparator(java.lang.String lineSeparatorParam)
Sets the line separator to one of 'crlf', 'lf','cr', 'lf_cr_crlf' or 'system'.
|
beginProcessing, destroy, finishProcessing, fireErrors, getFileExtensions, getMessageCollector, getMessageDispatcher, init, log, log, process, setFileExtensions, setMessageDispatchergetCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverityconfigure, contextualize, finishLocalSetup, getConfiguration, setupChildclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitconfigurecontextualizepublic static final java.lang.String MSG_KEY_UNABLE_OPEN
public static final java.lang.String MSG_KEY_NO_NEWLINE_EOF
private LineSeparatorOption lineSeparator
protected void processFiltered(java.io.File file,
java.util.List<java.lang.String> lines)
AbstractFileSetCheckprocessFiltered in class AbstractFileSetCheckfile - the file to be processedlines - an immutable list of the contents of the file.public void setLineSeparator(java.lang.String lineSeparatorParam)
lineSeparatorParam - The line separator to setjava.lang.IllegalArgumentException - If the specified line separator is not
one of 'crlf', 'lf', 'cr', 'lf_cr_crlf' or 'system'private boolean endsWithNewline(java.io.RandomAccessFile randomAccessFile)
throws java.io.IOException
randomAccessFile - The reader for the content to checkjava.io.IOException - When an IO error occurred while reading from the
provided reader