net.sourceforge.pmd

## Class RuleChain

- java.lang.Object
- - net.sourceforge.pmd.RuleChain

    public class RuleChain
    extends Object

The RuleChain is a means by which Rules can participate in a uniform visitation of the AST, and not need perform their own independent visitation. The RuleChain exists as a means to improve the speed of PMD when there are many Rules.

### Constructor Summary

Constructors
Constructor and Description
`RuleChain()`

### Method Summary

Methods
`void` `add(RuleSet ruleSet)` Add all Rules from the given RuleSet which want to participate in the RuleChain.
`void` `apply(List<Node> nodes, RuleContext ctx, Language language)` Apply the RuleChain to the given Nodes using the given RuleContext, for those rules using the given Language.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RuleChain

    public RuleChain()

### Method Detail

#### add

    public void add(RuleSet ruleSet)

Add all Rules from the given RuleSet which want to participate in the RuleChain.

Parameters:
  `ruleSet` - The RuleSet to add Rules from.

#### apply

    public void apply(List<Node> nodes,
             RuleContext ctx,
             Language language)

Apply the RuleChain to the given Nodes using the given RuleContext, for those rules using the given Language.

Parameters:
  `nodes` - The Nodes.
  `ctx` - The RuleContext.
  `language` - The Language.