Interface FileAnalysisListener

  • All Superinterfaces:
    AutoCloseable
    All Known Implementing Classes:
    Report.ReportBuilderListener

    public interface FileAnalysisListener
    extends AutoCloseable
    A handler for events occuring during analysis of a single file. Instances are only used on a single thread for their entire lifetime, so don't need to be synchronized to access state they own. File listeners are spawned by a GlobalAnalysisListener.

    Listeners are assumed to be ready to receive events as soon as they are constructed.

    See Also:
    Report.ReportBuilderListener
    • Method Detail

      • onRuleViolation

        void onRuleViolation​(RuleViolation violation)
        Handle a new violation (not suppressed).
      • onSuppressedRuleViolation

        default void onSuppressedRuleViolation​(Report.SuppressedViolation violation)
        Handle a new suppressed violation.
      • onError

        default void onError​(Report.ProcessingError error)
        Handle an error that occurred while processing a file.
      • close

        default void close()
                    throws Exception
        Signals the end of the analysis: no further calls will be made to this listener. This is run in the thread the listener has been used in. This means, if this routine merges some state into some global state of the GlobalAnalysisListener, then that must be synchronized.
        Specified by:
        close in interface AutoCloseable
        Throws:
        Exception - If an exception occurs, e.g. IOException when writing to a renderer