Package net.sourceforge.pmd.lang.rule
Class RuleSetLoader
- java.lang.Object
-
- net.sourceforge.pmd.lang.rule.RuleSetLoader
-
public final class RuleSetLoader extends Object
Configurable object to load rulesets from XML resources. This can be configured using a fluent API, see egwarnDeprecated(boolean)
. To create a new ruleset, useloadFromResource(String)
or some such overload.
-
-
Constructor Summary
Constructors Constructor Description RuleSetLoader()
Create a new RuleSetLoader with a default configuration.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RuleSetLoader
filterAbovePriority(RulePriority minimumPriority)
Filter loaded rules to only those that match or are above the given priority.static RuleSetLoader
fromPmdConfig(PMDConfiguration configuration)
Configure a new ruleset factory builder according to the parameters of the given PMD configuration.List<RuleSet>
getStandardRuleSets()
Returns an Iterator of RuleSet objects loaded from descriptions from the "categories.properties" resource for each language.RuleSetLoader
includeDeprecatedRuleReferences(boolean enable)
Follow deprecated rule references.RuleSet
loadFromResource(String rulesetPath)
Parses and returns a ruleset from its location.List<RuleSet>
loadFromResources(String first, String... rest)
Parses several resources into a list of rulesets.List<RuleSet>
loadFromResources(Collection<String> paths)
Parses several resources into a list of rulesets.RuleSet
loadFromString(String filename, String rulesetXmlContent)
Parses and returns a ruleset from string content.RuleSetLoader
loadResourcesWith(ClassLoader classLoader)
Specify that the given classloader should be used to resolve paths to external ruleset references.RuleSetLoader
warnDeprecated(boolean warn)
Log a warning when referencing a deprecated rule.RuleSetLoader
withLanguages(LanguageRegistry languageRegistry)
-
-
-
Method Detail
-
loadResourcesWith
public RuleSetLoader loadResourcesWith(ClassLoader classLoader)
Specify that the given classloader should be used to resolve paths to external ruleset references. The default uses PMD's own classpath.
-
withLanguages
public RuleSetLoader withLanguages(LanguageRegistry languageRegistry)
-
filterAbovePriority
public RuleSetLoader filterAbovePriority(RulePriority minimumPriority)
Filter loaded rules to only those that match or are above the given priority. The default isRulePriority.LOW
, ie, no filtering occurs.- Returns:
- This instance, modified
-
warnDeprecated
public RuleSetLoader warnDeprecated(boolean warn)
Log a warning when referencing a deprecated rule. This is enabled by default.- Returns:
- This instance, modified
-
includeDeprecatedRuleReferences
public RuleSetLoader includeDeprecatedRuleReferences(boolean enable)
Follow deprecated rule references. By default this is off, and those references will be ignored.- Returns:
- This instance, modified
-
loadFromResource
public RuleSet loadFromResource(String rulesetPath)
Parses and returns a ruleset from its location. The location may be a file system path, or a resource path (seeloadResourcesWith(ClassLoader)
).- Parameters:
rulesetPath
- A reference to a single ruleset- Throws:
RuleSetLoadException
- If any error occurs (eg, invalid syntax, or resource not found)
-
loadFromString
public RuleSet loadFromString(String filename, String rulesetXmlContent)
Parses and returns a ruleset from string content.- Parameters:
filename
- The symbolic "file name", for error messages.rulesetXmlContent
- Xml file contents- Throws:
RuleSetLoadException
- If any error occurs (eg, invalid syntax)
-
loadFromResources
public List<RuleSet> loadFromResources(Collection<String> paths)
Parses several resources into a list of rulesets.- Parameters:
paths
- Paths- Throws:
RuleSetLoadException
- If any error occurs (eg, invalid syntax, or resource not found), for any of the parametersNullPointerException
- If the parameter, or any component is null
-
loadFromResources
public List<RuleSet> loadFromResources(String first, String... rest)
Parses several resources into a list of rulesets.- Parameters:
first
- First pathrest
- Paths- Throws:
RuleSetLoadException
- If any error occurs (eg, invalid syntax, or resource not found), for any of the parametersNullPointerException
- If the parameter, or any component is null
-
fromPmdConfig
public static RuleSetLoader fromPmdConfig(PMDConfiguration configuration)
Configure a new ruleset factory builder according to the parameters of the given PMD configuration.
-
getStandardRuleSets
public List<RuleSet> getStandardRuleSets()
Returns an Iterator of RuleSet objects loaded from descriptions from the "categories.properties" resource for each language. This uses the classpath of the resource loader (loadResourcesWith(ClassLoader)
).- Returns:
- A list of all category rulesets
- Throws:
RuleSetLoadException
- If a standard ruleset cannot be loaded. This is a corner case, that probably should not be caught by clients. The standard rulesets are well-formed, at least in stock PMD distributions.
-
-