Package net.sourceforge.pmd.reporting
Class RuleContext
- java.lang.Object
-
- net.sourceforge.pmd.reporting.RuleContext
-
public final class RuleContext extends Object
The API for rules to report violations or errors during analysis. This forwards events to aFileAnalysisListener
. It implements violation suppression by filtering some violations out, according to theViolationSuppressor
s for the language. A RuleContext contains a Rule instance and violation reporting methods implicitly report only for that rule. Contrary to PMD 6, RuleContext is not unique throughout the analysis, a separate one is used per file and rule.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addViolation(Node location)
Record a new violation of the contextual rule, at the given node.void
addViolation(Node location, Object... formatArgs)
Record a new violation of the contextual rule, at the given node.void
addViolationWithMessage(Node location, String message)
Record a new violation of the contextual rule, at the given node.void
addViolationWithMessage(Node location, String message, Object... formatArgs)
Record a new violation of the contextual rule, at the given node.void
addViolationWithPosition(Node node, int beginLine, int endLine, String message, Object... formatArgs)
Record a new violation of the contextual rule, at the given node.
-
-
-
Method Detail
-
addViolation
public void addViolation(Node location)
Record a new violation of the contextual rule, at the given node.- Parameters:
location
- Location of the violation
-
addViolation
public void addViolation(Node location, Object... formatArgs)
Record a new violation of the contextual rule, at the given node. The default violation message (Rule.getMessage()
) is formatted using the given format arguments.- Parameters:
location
- Location of the violationformatArgs
- Format arguments for the message- See Also:
MessageFormat
-
addViolationWithMessage
public void addViolationWithMessage(Node location, String message)
Record a new violation of the contextual rule, at the given node. The given violation message (Rule.getMessage()
) is treated as a format string for aMessageFormat
and should hence use appropriate escapes. No formatting arguments are provided.- Parameters:
location
- Location of the violationmessage
- Violation message
-
addViolationWithMessage
public void addViolationWithMessage(Node location, String message, Object... formatArgs)
Record a new violation of the contextual rule, at the given node. The given violation message (Rule.getMessage()
) is treated as a format string for aMessageFormat
and should hence use appropriate escapes. The given formatting arguments are used.- Parameters:
location
- Location of the violationmessage
- Violation messageformatArgs
- Format arguments for the message
-
addViolationWithPosition
public void addViolationWithPosition(Node node, int beginLine, int endLine, String message, Object... formatArgs)
Record a new violation of the contextual rule, at the given node. The position is refined using the given begin and end line numbers. The given violation message (Rule.getMessage()
) is treated as a format string for aMessageFormat
and should hence use appropriate escapes. The given formatting arguments are used.- Parameters:
node
- Location of the violationmessage
- Violation messageformatArgs
- Format arguments for the message
-
-