net.sourceforge.pmd
Class RuleSets

java.lang.Object
  extended by 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(java.io.File file)
          Check if a given source file should be checked by rules in this RuleSets.
 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<CompilationUnit> acuList, RuleContext ctx, Language language)
          Apply all applicable rules to the compilation units.
 void end(RuleContext ctx)
          Notify all rules of the end of processing.
 java.util.Set<Rule> 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
 java.util.Iterator<RuleSet> getRuleSetsIterator()
           
 void start(RuleContext ctx)
          Notify all rules of the start of processing.
 boolean usesDFA(Language language)
          Check if the rules that apply to a source of the given language use DFA.
 boolean usesTypeResolution(Language language)
           
 
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[]

getRuleSetsIterator

public java.util.Iterator<RuleSet> getRuleSetsIterator()

getAllRules

public java.util.Set<Rule> getAllRules()
Return all rules from all rulesets.

Returns:
Set

applies

public boolean applies(java.io.File file)
Check if a given source file should be checked by rules in this RuleSets.

Parameters:
file - the source file to check
Returns:
true if the file should be checked, false otherwise

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:
boolean true if the rule applies, else false

start

public void start(RuleContext ctx)
Notify all rules of the start of processing.


apply

public void apply(java.util.List<CompilationUnit> 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

end

public void end(RuleContext ctx)
Notify all rules of the end of processing.


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

usesTypeResolution

public boolean usesTypeResolution(Language language)


Copyright © 2002-2011 InfoEther. All Rights Reserved.