Class RegexpSinglelineCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable, FileSetCheck

    public class RegexpSinglelineCheck
    extends AbstractFileSetCheck

    Checks that a specified pattern matches a single line in any file type.

    Rationale: This check can be used to prototype checks and to find common bad practice such as calling ex.printStacktrace(), System.out.println(), System.exit(), etc.

    • Property format - Specify the format of the regular expression to match. Default value is "$.".
    • Property message - Specify the message which is used to notify about violations, if empty then default (hard-coded) message is used. Default value is null.
    • Property ignoreCase - Control whether to ignore case when searching. Default value is false.
    • Property minimum - Specify the minimum number of matches required in each file. Default value is 0.
    • Property maximum - Specify the maximum number of matches required in each file. Default value is 0.
    • Property fileExtensions - Specify the file type extension of files to process. Default value is all files.

    To configure the check to find trailing whitespace at the end of a line:

     <module name="RegexpSingleline">
       <!-- \s matches whitespace character, $ matches end of line. -->
       <property name="format" value="\s+$"/>
     </module>
     

    To configure the check to find trailing whitespace at the end of a line, with some slack of allowing two occurrences per file:

     <module name="RegexpSingleline">
       <property name="format" value="\s+$"/>
       <!-- next line not required as 0 is the default -->
       <property name="minimum" value="0"/>
       <property name="maximum" value="2"/>
     </module>
     

    An example of how to configure the check to make sure a copyright statement is included in the file:

     <module name="RegexpSingleline">
       <property name="format" value="This file is copyrighted"/>
       <property name="minimum" value="1"/>
       <!--  Need to specify a maximum, so 10 times is more than enough. -->
       <property name="maximum" value="10"/>
     </module>
     
    Since:
    5.0
    • Constructor Detail

      • RegexpSinglelineCheck

        public RegexpSinglelineCheck()
    • 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.
      • setFormat

        public void setFormat​(java.lang.String format)
        Setter to specify the format of the regular expression to match.
        Parameters:
        format - the format of the regular expression to match.
      • setMessage

        public void setMessage​(java.lang.String message)
        Setter to specify the message which is used to notify about violations, if empty then default (hard-coded) message is used.
        Parameters:
        message - the message to report for a match.
      • setMinimum

        public void setMinimum​(int minimum)
        Setter to specify the minimum number of matches required in each file.
        Parameters:
        minimum - the minimum number of matches required in each file.
      • setMaximum

        public void setMaximum​(int maximum)
        Setter to specify the maximum number of matches required in each file.
        Parameters:
        maximum - the maximum number of matches required in each file.
      • setIgnoreCase

        public void setIgnoreCase​(boolean ignoreCase)
        Setter to control whether to ignore case when searching.
        Parameters:
        ignoreCase - whether to ignore case when searching.