Package net.sourceforge.pmd.reporting
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 aGlobalAnalysisListener
.Listeners are assumed to be ready to receive events as soon as they are constructed.
- See Also:
Report.ReportBuilderListener
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
close()
Signals the end of the analysis: no further calls will be made to this listener.static FileAnalysisListener
noop()
A listener that does nothing.default void
onError(Report.ProcessingError error)
Handle an error that occurred while processing a file.void
onRuleViolation(RuleViolation violation)
Handle a new violation (not suppressed).default void
onSuppressedRuleViolation(Report.SuppressedViolation violation)
Handle a new suppressed violation.static FileAnalysisListener
tee(Collection<? extends FileAnalysisListener> listeners)
Produce an analysis listener that forwards all events to the given listeners.
-
-
-
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 theGlobalAnalysisListener
, then that must be synchronized.- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
- If an exception occurs, e.g. IOException when writing to a renderer
-
noop
static FileAnalysisListener noop()
A listener that does nothing.
-
tee
static FileAnalysisListener tee(Collection<? extends FileAnalysisListener> listeners)
Produce an analysis listener that forwards all events to the given listeners.- Parameters:
listeners
- Listeners- Returns:
- A new listener
- Throws:
IllegalArgumentException
- If the parameter is emptyNullPointerException
- If the parameter or any of its elements is null
-
-