Class FileTabCharacterCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable, FileSetCheck

    public class FileTabCharacterCheck
    extends AbstractFileSetCheck

    Checks that there are no tab characters ('\t') in the source code.

    Rationale:

    • Developers should not need to configure the tab width of their text editors in order to be able to read source code.
    • From the Apache jakarta coding standards: In a distributed development environment, when the commit messages get sent to a mailing list, they are almost impossible to read if you use tabs.
    • Property eachLine - Control whether to report on each line containing a tab, or just the first instance. Type is boolean. Default value is false.
    • Property fileExtensions - Specify file type extension of files to process. Type is java.lang.String[]. Default value is "".

    To configure the check to report on the first instance in each file:

     <module name="FileTabCharacter"/>
     

    To configure the check to report on each line in each file:

     <module name="FileTabCharacter">
       <property name="eachLine" value="true"/>
     </module>
     

    Parent is com.puppycrawl.tools.checkstyle.Checker

    Violation Message Keys:

    • containsTab
    • file.containsTab
    Since:
    5.0
    • Field Detail

      • MSG_CONTAINS_TAB

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

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

      • FileTabCharacterCheck

        public FileTabCharacterCheck()
    • 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.
      • setEachLine

        public void setEachLine​(boolean eachLine)
        Setter to control whether to report on each line containing a tab, or just the first instance.
        Parameters:
        eachLine - Whether report on each line containing a tab.