## net.sourceforge.pmd
Class RuleSets

    java.lang.Object
      net.sourceforge.pmd.RuleSets

public class RuleSets
extends java.lang.Object

Grouping of Rules per Language in a RuleSet.

Author:
  pieter_van_raemdonck - Application Engineers NV/SA - www.ae.be

Constructor Summary
`RuleSets()` Public constructor.
`RuleSets(RuleSet ruleSet)` Public constructor.

Method Summary
`void` `addRuleSet(RuleSet ruleSet)` Add a ruleset for a language.
`boolean` `applies(Language languageOfSource, Language languageOfRule)` Check if a source with given language should be checked by rules for a given language.
`void` `apply(java.util.List acuList, RuleContext ctx, Language language)` Apply all applicable rules to the compilation units.
`java.util.Set` `getAllRules()` Return all rules from all rulesets.
`RuleSet[]` `getAllRuleSets()` Get all the RuleSets.
`Rule` `getRuleByName(java.lang.String ruleName)` Returns the Rule with the given name
`boolean` `usesDFA(Language language)` Check if the rules that apply to a source of the given language use DFA.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RuleSets

    public RuleSets()

  Public constructor.

### RuleSets

    public RuleSets(RuleSet ruleSet)

  Public constructor. Add the given rule set.

Parameters:
  `ruleSet` - the RuleSet

Method Detail

### addRuleSet

    public void addRuleSet(RuleSet ruleSet)

  Add a ruleset for a language. Only one ruleset can be added for a specific language. If ruleSet.getLanguage() is null, it is assumed to be a RuleSet of java rules.

  Parameters:
    `ruleSet` - the RuleSet

### getAllRuleSets

    public RuleSet[] getAllRuleSets()

  Get all the RuleSets.

  Returns:
    RuleSet[]

### getAllRules

    public java.util.Set getAllRules()

  Return all rules from all rulesets.

  Returns:
    Set

### applies

    public boolean applies(Language languageOfSource,
                           Language languageOfRule)

  Check if a source with given language should be checked by rules for a given language. This is the case if both languages are equal, or if the source is in java, and the language of the rules is unknown (for backward-compatibility reasons).

  Parameters:
    `languageOfSource` - language of a source; can not be null
    `languageOfRule` - language of a ruleset; can be null
  Returns:

### apply

    public void apply(java.util.List acuList,
                      RuleContext ctx,
                      Language language)

  Apply all applicable rules to the compilation units. Applicable means the language of the rules must match the language of the source (@see applies).

  Parameters:
    `acuList` - the List of compilation units; the type these must have, depends on the source language
    `ctx` - the RuleContext
    `language` - the Language of the source

### usesDFA

    public boolean usesDFA(Language language)

  Check if the rules that apply to a source of the given language use DFA.

  Parameters:
    `language` - the language of a source
  Returns:
    true if any rule in the RuleSet needs the DFA layer

### getRuleByName

    public Rule getRuleByName(java.lang.String ruleName)

  Returns the Rule with the given name

  Parameters:
    `ruleName` - the name of the rule to find
  Returns:
    the rule or null if not found

Copyright © 2002-2006 InfoEther. All Rights Reserved.