Package net.sourceforge.pmd.reporting
Interface ViolationSuppressor
-
- All Known Implementing Classes:
AbstractAnnotationSuppressor
public interface ViolationSuppressorAn object that suppresses rule violations. Suppressors are used byRuleContextto filter out violations. In PMD 6.0.x, theReportobject filtered violations itself - but it has no knowledge of language-specific suppressors.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceViolationSuppressor.SuppressionCommentWrapperWrapper around a suppression comment.static interfaceViolationSuppressor.UnusedSuppressorNodeRepresents an instance of a "suppressor" that didn't suppress anything.
-
Field Summary
Fields Modifier and Type Field Description static ViolationSuppressorNOPMD_COMMENT_SUPPRESSORSuppressor for regular NOPMD comments.static ViolationSuppressorREGEX_SUPPRESSORSuppressor for the violationSuppressRegex property.static ViolationSuppressorXPATH_SUPPRESSORSuppressor for the violationSuppressXPath property.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description StringgetId()A name, for reporting and documentation purposes.default Set<ViolationSuppressor.UnusedSuppressorNode>getUnusedSuppressors(RootNode tree)Return the set of suppressor nodes related to this suppressor that were not used during the analysis.static @Nullable Report.SuppressedViolationsuppressOrNull(List<ViolationSuppressor> suppressorList, RuleViolation rv, Node node)Apply a list of suppressors on the violation.@Nullable Report.SuppressedViolationsuppressOrNull(RuleViolation rv, @NonNull Node node)Returns aReport.SuppressedViolationif the given violation is suppressed by this object.
-
-
-
Field Detail
-
REGEX_SUPPRESSOR
static final ViolationSuppressor REGEX_SUPPRESSOR
Suppressor for the violationSuppressRegex property.
-
XPATH_SUPPRESSOR
static final ViolationSuppressor XPATH_SUPPRESSOR
Suppressor for the violationSuppressXPath property.
-
NOPMD_COMMENT_SUPPRESSOR
static final ViolationSuppressor NOPMD_COMMENT_SUPPRESSOR
Suppressor for regular NOPMD comments.- Implementation Note:
- This requires special support from the language, namely,
the parser must fill in suppression comments through
AstInfo.withSuppressionComments(Collection).
-
-
Method Detail
-
getId
String getId()
A name, for reporting and documentation purposes.
-
suppressOrNull
@Nullable Report.SuppressedViolation suppressOrNull(RuleViolation rv, @NonNull Node node)
Returns aReport.SuppressedViolationif the given violation is suppressed by this object. The node and the rule are provided for context. Returns null if the violation is not suppressed.
-
getUnusedSuppressors
default Set<ViolationSuppressor.UnusedSuppressorNode> getUnusedSuppressors(RootNode tree)
Return the set of suppressor nodes related to this suppressor that were not used during the analysis. For instance, for an annotation suppressor, the set contains suppressor nodes wrapping annotations. This must be implemented if this suppressor wants to play well with the unused PMD suppression rule.- Parameters:
tree- Root node of a file- Returns:
- A set
- Since:
- 7.14.0
-
suppressOrNull
static @Nullable Report.SuppressedViolation suppressOrNull(List<ViolationSuppressor> suppressorList, RuleViolation rv, Node node)
Apply a list of suppressors on the violation. Returns the violation of the first suppressor that matches the input violation. If no suppressor matches, then returns null.
-
-