Class Checker

    • Field Detail

      • EXCEPTION_MSG

        public static final java.lang.String EXCEPTION_MSG
        Message to use when an exception occurs and should be printed as a violation.
        See Also:
        Constant Field Values
      • log

        private final org.apache.commons.logging.Log log
        Logger for Checker.
      • basedir

        private java.lang.String basedir
        The basedir to strip off in file names.
      • localeCountry

        private java.lang.String localeCountry
        Locale country to report messages .
      • localeLanguage

        private java.lang.String localeLanguage
        Locale language to report messages .
      • moduleClassLoader

        private java.lang.ClassLoader moduleClassLoader
        The classloader used for loading Checkstyle module classes.
      • fileExtensions

        private java.lang.String[] fileExtensions
        The file extensions that are accepted.
      • severity

        private SeverityLevel severity
        The severity level of any violations found by submodules. The value of this property is passed to submodules via contextualize().

        Note: Since the Checker is merely a container for modules it does not make sense to implement logging functionality here. Consequently, Checker does not extend AbstractViolationReporter, leading to a bit of duplicated code for severity level setting.

      • charset

        private java.lang.String charset
        Name of a charset.
      • haltOnException

        private boolean haltOnException
        Controls whether exceptions should halt execution or not.
      • tabWidth

        private int tabWidth
        The tab width for column reporting.
    • Constructor Detail

      • Checker

        public Checker()
        Creates a new Checker instance. The instance needs to be contextualized and configured.
    • Method Detail

      • setCacheFile

        public void setCacheFile​(java.lang.String fileName)
                          throws java.io.IOException
        Sets cache file.
        Parameters:
        fileName - the cache file.
        Throws:
        java.io.IOException - if there are some problems with file loading.
      • removeFilter

        public void removeFilter​(Filter filter)
        Removes filter.
        Parameters:
        filter - filter to remove.
      • removeListener

        public void removeListener​(AuditListener listener)
        Removes a given listener.
        Parameters:
        listener - a listener to remove
      • setBasedir

        public void setBasedir​(java.lang.String basedir)
        Sets base directory.
        Parameters:
        basedir - the base directory to strip off in file names
      • process

        public int process​(java.util.List<java.io.File> files)
                    throws CheckstyleException
        Description copied from interface: RootModule
        Processes a set of files. Once this is done, it is highly recommended to call for the destroy method to close and remove the listeners.
        Specified by:
        process in interface RootModule
        Parameters:
        files - the list of files to be audited.
        Returns:
        the total number of audit events with error severity found
        Throws:
        CheckstyleException - if error condition within Checkstyle occurs
        See Also:
        RootModule.destroy()
      • getExternalResourceLocations

        private java.util.Set<java.lang.String> getExternalResourceLocations()
        Returns a set of external configuration resource locations which are used by all file set checks and filters.
        Returns:
        a set of external configuration resource locations which are used by all file set checks and filters.
      • fireAuditStarted

        private void fireAuditStarted()
        Notify all listeners about the audit start.
      • fireAuditFinished

        private void fireAuditFinished()
        Notify all listeners about the audit end.
      • processFiles

        private void processFiles​(java.util.List<java.io.File> files)
                           throws CheckstyleException
        Processes a list of files with all FileSetChecks.
        Parameters:
        files - a list of files to process.
        Throws:
        CheckstyleException - if error condition within Checkstyle occurs.
        java.lang.Error - wraps any java.lang.Error happened during execution
      • processFile

        private java.util.SortedSet<ViolationprocessFile​(java.io.File file)
                                                    throws CheckstyleException
        Processes a file with all FileSetChecks.
        Parameters:
        file - a file to process.
        Returns:
        a sorted set of violations to be logged.
        Throws:
        CheckstyleException - if error condition within Checkstyle occurs.
      • acceptFileStarted

        private boolean acceptFileStarted​(java.lang.String fileName)
        Check if all before execution file filters accept starting the file.
        Parameters:
        fileName - the file to be audited
        Returns:
        true if the file is accepted.
      • fireFileStarted

        public void fireFileStarted​(java.lang.String fileName)
        Notify all listeners about the beginning of a file audit.
        Specified by:
        fireFileStarted in interface MessageDispatcher
        Parameters:
        fileName - the file to be audited
      • fireErrors

        public void fireErrors​(java.lang.String fileName,
                               java.util.SortedSet<Violation> errors)
        Notify all listeners about the errors in a file.
        Specified by:
        fireErrors in interface MessageDispatcher
        Parameters:
        fileName - the audited file
        errors - the audit errors from the file
      • addFileSetCheck

        public void addFileSetCheck​(FileSetCheck fileSetCheck)
        Adds a FileSetCheck to the list of FileSetChecks that is executed in process().
        Parameters:
        fileSetCheck - the additional FileSetCheck
      • addFilter

        public void addFilter​(Filter filter)
        Adds a filter to the end of the audit event filter chain.
        Parameters:
        filter - the additional filter
      • addListener

        public final void addListener​(AuditListener listener)
        Description copied from interface: RootModule
        Add the listener that will be used to receive events from the audit.
        Specified by:
        addListener in interface RootModule
        Parameters:
        listener - the nosy thing
      • setFileExtensions

        public final void setFileExtensions​(java.lang.String... extensions)
        Sets the file extensions that identify the files that pass the filter of this FileSetCheck.
        Parameters:
        extensions - the set of file extensions. A missing initial '.' character of an extension is automatically added.
      • setModuleFactory

        public void setModuleFactory​(ModuleFactory moduleFactory)
        Sets the factory for creating submodules.
        Parameters:
        moduleFactory - the factory for creating FileSetChecks
      • setLocaleCountry

        public void setLocaleCountry​(java.lang.String localeCountry)
        Sets locale country.
        Parameters:
        localeCountry - the country to report messages
      • setLocaleLanguage

        public void setLocaleLanguage​(java.lang.String localeLanguage)
        Sets locale language.
        Parameters:
        localeLanguage - the language to report messages
      • setSeverity

        public final void setSeverity​(java.lang.String severity)
        Sets the severity level. The string should be one of the names defined in the SeverityLevel class.
        Parameters:
        severity - The new severity level
        See Also:
        SeverityLevel
      • setModuleClassLoader

        public final void setModuleClassLoader​(java.lang.ClassLoader moduleClassLoader)
        Description copied from interface: RootModule
        Sets the classloader used to load Checkstyle core and custom module classes when the module tree is being built up. If no custom ModuleFactory is being set for the root module then this module classloader must be specified.
        Specified by:
        setModuleClassLoader in interface RootModule
        Parameters:
        moduleClassLoader - the classloader used to load module classes
      • setCharset

        public void setCharset​(java.lang.String charset)
                        throws java.io.UnsupportedEncodingException
        Sets a named charset.
        Parameters:
        charset - the name of a charset
        Throws:
        java.io.UnsupportedEncodingException - if charset is unsupported.
      • setHaltOnException

        public void setHaltOnException​(boolean haltOnException)
        Sets the field haltOnException.
        Parameters:
        haltOnException - the new value.
      • setTabWidth

        public final void setTabWidth​(int tabWidth)
        Set the tab width to report audit events with.
        Parameters:
        tabWidth - an int value
      • clearCache

        public void clearCache()
        Clears the cache.