# Package net.sourceforge.pmd.lang.rule

Interface Summary
Interface | Description
--- | ---
ImmutableLanguage | This is a tag interface to indicate that a Rule implementation class does not support changes to it's Language.
RuleChainVisitor | The RuleChainVisitor understands how to visit an AST for a particular Language.
RuleViolationFactory | This class handles of producing a Language specific RuleViolation and adding to a Report.

Class Summary
Class | Description
--- | ---
AbstractDelegateRule | Base class for Rule implementations which delegate to another Rule instance.
AbstractRule | Basic abstract implementation of all parser-independent methods of the Rule interface.
AbstractRuleChainVisitor | This is a base class for RuleChainVisitor implementations which extracts interesting nodes from an AST, and lets each Rule visit the nodes it has expressed interest in.
AbstractRuleViolationFactory |
MockRule | This is a Rule implementation which can be used in scenarios where an actual functional Rule is not needed.
ParametricRuleViolation<T extends Node> |
RuleReference | This class represents a Rule which is a reference to Rule defined in another RuleSet.
XPathRule | Rule that tries to match an XPath expression against a DOM view of an AST.