Package net.sourceforge.pmd.lang.rule
Class RuleTargetSelector
java.lang.Object
net.sourceforge.pmd.lang.rule.internal.TargetSelectorInternal
net.sourceforge.pmd.lang.rule.RuleTargetSelector
public abstract class RuleTargetSelector
extends net.sourceforge.pmd.lang.rule.internal.TargetSelectorInternal
A strategy for selecting nodes that will be targeted by a rule.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class net.sourceforge.pmd.lang.rule.internal.TargetSelectorInternal
net.sourceforge.pmd.lang.rule.internal.TargetSelectorInternal.ApplicatorBuilder -
Method Summary
Modifier and TypeMethodDescriptionstatic RuleTargetSelectorTarget only the root of the tree.static RuleTargetSelectorTarget nodes that are subtypes of any of the given classes.static RuleTargetSelectorforTypes(Collection<Class<? extends Node>> types) Target nodes that are subtypes of any of the given classes.static RuleTargetSelectorforXPathNames(Collection<String> names) Target nodes having one of the given XPath local name.Methods inherited from class net.sourceforge.pmd.lang.rule.internal.TargetSelectorInternal
getVisitedNodes, prepare
-
Method Details
-
forXPathNames
Target nodes having one of the given XPath local name.- Parameters:
names- XPath names- Returns:
- A selector
- Throws:
IllegalArgumentException- If the argument is empty
-
forTypes
Target nodes that are subtypes of any of the given classes.- Parameters:
types- Node types- Returns:
- A selector
- Throws:
IllegalArgumentException- If the argument is emptyNullPointerException- If the argument is nullNullPointerException- If any of the elements is null
-
forTypes
@SafeVarargs public static RuleTargetSelector forTypes(Class<? extends Node> first, Class<? extends Node>... types) Target nodes that are subtypes of any of the given classes.- Parameters:
types- Node types- Returns:
- A selector
- Throws:
NullPointerException- if any of the arguments is null
-
forRootOnly
Target only the root of the tree.
-