Class OuterTypeFilenameCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public class OuterTypeFilenameCheck
    extends AbstractCheck

    Checks that the outer type name and the file name match. For example, the class Foo must be in a file named Foo.java.

    To configure the check:

     <module name="OuterTypeFilename"/>
     

    Example of class Test in a file named Test.java

     public class Test { // OK
    
     }
     

    Example of class Foo in a file named Test.java

     class Foo { // violation
    
     }
     

    Example of interface Foo in a file named Test.java

     interface Foo { // violation
    
     }
     

    Example of enum Foo in a file named Test.java

     enum Foo { // violation
    
     }
     

    Example of record Foo in a file named Test.java

     record Foo { // violation
    
     }
     

    Parent is com.puppycrawl.tools.checkstyle.TreeWalker

    Violation Message Keys:

    • type.file.mismatch
    Since:
    5.3
    • 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
      • FILE_EXTENSION_PATTERN

        private static final java.util.regex.Pattern FILE_EXTENSION_PATTERN
        Pattern matching any file extension with dot included.
      • seenFirstToken

        private boolean seenFirstToken
        Indicates whether the first token has been seen in the file.
      • fileName

        private java.lang.String fileName
        Current file name.
      • hasPublic

        private boolean hasPublic
        If file has public type.
    • Method Detail

      • getAcceptableTokens

        public int[] getAcceptableTokens()
        Description copied from class: AbstractCheck
        The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.
        Specified by:
        getAcceptableTokens in class AbstractCheck
        Returns:
        the token set this check is designed for.
        See Also:
        TokenTypes
      • beginTree

        public void beginTree​(DetailAST rootAST)
        Description copied from class: AbstractCheck
        Called before the starting to process a tree. Ideal place to initialize information that is to be collected whilst processing a tree.
        Overrides:
        beginTree in class AbstractCheck
        Parameters:
        rootAST - the root of the tree
      • finishTree

        public void finishTree​(DetailAST rootAST)
        Description copied from class: AbstractCheck
        Called after finished processing a tree. Ideal place to report on information collected whilst processing a tree.
        Overrides:
        finishTree in class AbstractCheck
        Parameters:
        rootAST - the root of the tree
      • getSourceFileName

        private java.lang.String getSourceFileName()
        Get source file name.
        Returns:
        source file name.