net.sourceforge.pmd
Interface Rule

All Superinterfaces:
PropertySource
All Known Subinterfaces:
DFAGraphRule, StatisticalRule
All Known Implementing Classes:
AbstractDelegateRule, AbstractRule, MockRule, RuleReference, XPathRule

public interface Rule
extends PropertySource

This is the basic Rule interface for PMD rules.


Field Summary
static StringProperty VIOLATION_SUPPRESS_REGEX_DESCRIPTOR
          The property descriptor to universally suppress violations with messages matching a regular expression.
static StringProperty VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
          Name of the property to universally suppress violations on nodes which match a given relative XPath expression.
 
Method Summary
 void addExample(String example)
          Add a single example for this Rule.
 void addRuleChainVisit(Class<? extends Node> nodeClass)
          Adds an AST node by class to be visited by the Rule on the RuleChain.
 void addRuleChainVisit(String astNodeName)
          Adds an AST node by name to be visited by the Rule on the RuleChain.
 void apply(List<? extends Node> nodes, RuleContext ctx)
          Apply this rule to the given collection of nodes, using the given context.
 void end(RuleContext ctx)
          End processing.
 String getDescription()
          Get the description of this Rule.
 List<String> getExamples()
          Get the list of examples for this Rule.
 String getExternalInfoUrl()
          Get a URL for external information about this Rule.
 Language getLanguage()
          Get the Language of this Rule.
 LanguageVersion getMaximumLanguageVersion()
          Get the maximum LanguageVersion to which this Rule applies.
 String getMessage()
          Get the message to show when this Rule identifies a violation.
 LanguageVersion getMinimumLanguageVersion()
          Get the minimum LanguageVersion to which this Rule applies.
 String getName()
          Get the name of this Rule.
 ParserOptions getParserOptions()
          Get the parser options for this Rule.
 RulePriority getPriority()
          Get the priority of this Rule.
 List<String> getRuleChainVisits()
          Gets the collection of AST node names visited by the Rule on the RuleChain.
 String getRuleClass()
          Get the implementation class of this Rule.
 String getRuleSetName()
          Get the name of the RuleSet containing this Rule.
 String getSince()
          Get the version of PMD in which this Rule was added.
 boolean isDeprecated()
          Gets whether this Rule is deprecated.
 void setDeprecated(boolean deprecated)
          Sets whether this Rule is deprecated.
 void setDescription(String description)
          Set the description of this Rule.
 void setExternalInfoUrl(String externalInfoUrl)
          Set a URL for external information about this Rule.
 void setLanguage(Language language)
          Set the Language of this Rule.
 void setMaximumLanguageVersion(LanguageVersion maximumLanguageVersion)
          Set the maximum LanguageVersion to which this Rule applies.
 void setMessage(String message)
          Set the message to show when this Rule identifies a violation.
 void setMinimumLanguageVersion(LanguageVersion minimumLanguageVersion)
          Set the minimum LanguageVersion to which this Rule applies.
 void setName(String name)
          Set the name of this Rule.
 void setPriority(RulePriority priority)
          Set the priority of this Rule.
 void setRuleClass(String ruleClass)
          Set the class of this Rule.
 void setRuleSetName(String name)
          Set the name of the RuleSet containing this Rule.
 void setSince(String since)
          Set the version of PMD in which this Rule was added.
 void setUsesDFA()
          Sets whether this Rule uses Data Flow Analysis.
 void setUsesTypeResolution()
          Sets whether this Rule uses Type Resolution.
 void start(RuleContext ctx)
          Start processing.
 boolean usesDFA()
          Gets whether this Rule uses Data Flow Analysis.
 boolean usesRuleChain()
          Gets whether this Rule uses the RuleChain.
 boolean usesTypeResolution()
          Gets whether this Rule uses Type Resolution.
 
Methods inherited from interface net.sourceforge.pmd.PropertySource
definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues
 

Field Detail

VIOLATION_SUPPRESS_REGEX_DESCRIPTOR

static final StringProperty VIOLATION_SUPPRESS_REGEX_DESCRIPTOR
The property descriptor to universally suppress violations with messages matching a regular expression.


VIOLATION_SUPPRESS_XPATH_DESCRIPTOR

static final StringProperty VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
Name of the property to universally suppress violations on nodes which match a given relative XPath expression.

Method Detail

getLanguage

Language getLanguage()
Get the Language of this Rule.

Returns:
the language

setLanguage

void setLanguage(Language language)
Set the Language of this Rule.

Parameters:
language - the language

getMinimumLanguageVersion

LanguageVersion getMinimumLanguageVersion()
Get the minimum LanguageVersion to which this Rule applies. If this value is null it indicates there is no minimum bound.

Returns:
the minimum language version

setMinimumLanguageVersion

void setMinimumLanguageVersion(LanguageVersion minimumLanguageVersion)
Set the minimum LanguageVersion to which this Rule applies.

Parameters:
minimumLanguageVersion - the minimum language version

getMaximumLanguageVersion

LanguageVersion getMaximumLanguageVersion()
Get the maximum LanguageVersion to which this Rule applies. If this value is null it indicates there is no maximum bound.

Returns:
the maximum language version

setMaximumLanguageVersion

void setMaximumLanguageVersion(LanguageVersion maximumLanguageVersion)
Set the maximum LanguageVersion to which this Rule applies.

Parameters:
maximumLanguageVersion - the maximum language version

isDeprecated

boolean isDeprecated()
Gets whether this Rule is deprecated. A deprecated Rule is one which:

Returns:
true if this rule is deprecated

setDeprecated

void setDeprecated(boolean deprecated)
Sets whether this Rule is deprecated.

Parameters:
deprecated - whether this rule is deprecated

getName

String getName()
Get the name of this Rule.

Returns:
the name

setName

void setName(String name)
Set the name of this Rule.

Parameters:
name - the name

getSince

String getSince()
Get the version of PMD in which this Rule was added. Return null if not applicable.

Returns:
version of PMD since when this rule was added

setSince

void setSince(String since)
Set the version of PMD in which this Rule was added.

Parameters:
since - the version of PMD since when this rule was added

getRuleClass

String getRuleClass()
Get the implementation class of this Rule.

Returns:
the implementation class name of this rule.

setRuleClass

void setRuleClass(String ruleClass)
Set the class of this Rule.

Parameters:
ruleClass - the class name of this rule.

getRuleSetName

String getRuleSetName()
Get the name of the RuleSet containing this Rule.

Returns:
the name of th ruleset containing this rule.
See Also:
RuleSet

setRuleSetName

void setRuleSetName(String name)
Set the name of the RuleSet containing this Rule.

Parameters:
name - the name of the ruleset containing this rule.
See Also:
RuleSet

getMessage

String getMessage()
Get the message to show when this Rule identifies a violation.

Returns:
the message to show for a violation.

setMessage

void setMessage(String message)
Set the message to show when this Rule identifies a violation.

Parameters:
message - the message to show for a violation.

getDescription

String getDescription()
Get the description of this Rule.

Returns:
the description

setDescription

void setDescription(String description)
Set the description of this Rule.

Parameters:
description - the description

getExamples

List<String> getExamples()
Get the list of examples for this Rule.

Returns:
the list of examples for this rule.

addExample

void addExample(String example)
Add a single example for this Rule.

Parameters:
example - a single example to add

getExternalInfoUrl

String getExternalInfoUrl()
Get a URL for external information about this Rule.

Returns:
the URL for external information about this rule.

setExternalInfoUrl

void setExternalInfoUrl(String externalInfoUrl)
Set a URL for external information about this Rule.

Parameters:
externalInfoUrl - the URL for external information about this rule.

getPriority

RulePriority getPriority()
Get the priority of this Rule.

Returns:
the priority

setPriority

void setPriority(RulePriority priority)
Set the priority of this Rule.

Parameters:
priority - the priority

getParserOptions

ParserOptions getParserOptions()
Get the parser options for this Rule. Parser options are used to configure the Parser to create an AST in the form the Rule is expecting. Because ParserOptions are mutable, a Rule should return a new instance on each call.

Returns:
the parser options

setUsesDFA

void setUsesDFA()
Sets whether this Rule uses Data Flow Analysis.


usesDFA

boolean usesDFA()
Gets whether this Rule uses Data Flow Analysis.

Returns:
true if Data Flow Analysis is used.

setUsesTypeResolution

void setUsesTypeResolution()
Sets whether this Rule uses Type Resolution.


usesTypeResolution

boolean usesTypeResolution()
Gets whether this Rule uses Type Resolution.

Returns:
true if Type Resolution is used.

usesRuleChain

boolean usesRuleChain()
Gets whether this Rule uses the RuleChain.

Returns:
true if RuleChain is used.

getRuleChainVisits

List<String> getRuleChainVisits()
Gets the collection of AST node names visited by the Rule on the RuleChain.

Returns:
the list of AST node names

addRuleChainVisit

void addRuleChainVisit(Class<? extends Node> nodeClass)
Adds an AST node by class to be visited by the Rule on the RuleChain.

Parameters:
nodeClass - the AST node to add to the RuleChain visit list

addRuleChainVisit

void addRuleChainVisit(String astNodeName)
Adds an AST node by name to be visited by the Rule on the RuleChain.

Parameters:
astNodeName - the AST node to add to the RuleChain visit list as string

start

void start(RuleContext ctx)
Start processing. Called once, before apply() is first called.

Parameters:
ctx - the rule context

apply

void apply(List<? extends Node> nodes,
           RuleContext ctx)
Apply this rule to the given collection of nodes, using the given context.

Parameters:
nodes - the nodes
ctx - the rule context

end

void end(RuleContext ctx)
End processing. Called once, after apply() is last called.

Parameters:
ctx - the rule context


Copyright © 2002-2015 InfoEther. All Rights Reserved.