Class XpathFilterElement
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.filters.XpathFilterElement
-
- All Implemented Interfaces:
TreeWalkerFilter
public class XpathFilterElement extends java.lang.Object implements TreeWalkerFilter
This filter element is immutable and processesTreeWalkerAuditEvent
objects based on the criteria of file, check, module id, xpathQuery.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.regex.Pattern
checkRegexp
The regexp to match check names against.private java.util.regex.Pattern
fileRegexp
The regexp to match file names against.private boolean
isEmptyConfig
Indicates if all properties are set to null.private java.util.regex.Pattern
messageRegexp
The regexp to match message names against.private java.lang.String
moduleId
Module id filter.private net.sf.saxon.sxpath.XPathExpression
xpathExpression
Xpath expression.private java.lang.String
xpathQuery
Xpath query.
-
Constructor Summary
Constructors Constructor Description XpathFilterElement(java.lang.String files, java.lang.String checks, java.lang.String message, java.lang.String moduleId, java.lang.String query)
Creates aXpathElement
instance.XpathFilterElement(java.util.regex.Pattern files, java.util.regex.Pattern checks, java.util.regex.Pattern message, java.lang.String moduleId, java.lang.String query)
Creates aXpathElement
instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
accept(TreeWalkerAuditEvent event)
Determines whether or not a filteredTreeWalkerAuditEvent
is accepted.boolean
equals(java.lang.Object other)
private java.util.List<net.sf.saxon.om.Item>
getItems(TreeWalkerAuditEvent event)
Returns list of nodes matching xpath expression given event.private static java.lang.String
getPatternSafely(java.util.regex.Pattern pattern)
Util method to get pattern String value from Pattern object safely, return null if pattern object is null.int
hashCode()
private boolean
isFileNameAndModuleAndModuleNameMatching(TreeWalkerAuditEvent event)
Is matching by file name, module id and Check name.private boolean
isMessageNameMatching(TreeWalkerAuditEvent event)
Is matching by message.private boolean
isXpathQueryMatching(TreeWalkerAuditEvent event)
Is matching by xpath query.
-
-
-
Field Detail
-
fileRegexp
private final java.util.regex.Pattern fileRegexp
The regexp to match file names against.
-
checkRegexp
private final java.util.regex.Pattern checkRegexp
The regexp to match check names against.
-
messageRegexp
private final java.util.regex.Pattern messageRegexp
The regexp to match message names against.
-
moduleId
private final java.lang.String moduleId
Module id filter.
-
xpathExpression
private final net.sf.saxon.sxpath.XPathExpression xpathExpression
Xpath expression.
-
xpathQuery
private final java.lang.String xpathQuery
Xpath query.
-
isEmptyConfig
private final boolean isEmptyConfig
Indicates if all properties are set to null.
-
-
Constructor Detail
-
XpathFilterElement
public XpathFilterElement(java.lang.String files, java.lang.String checks, java.lang.String message, java.lang.String moduleId, java.lang.String query)
Creates aXpathElement
instance.- Parameters:
files
- regular expression for names of filtered fileschecks
- regular expression for filtered check classesmessage
- regular expression for messages.moduleId
- the module idquery
- the xpath query- Throws:
java.lang.IllegalArgumentException
- if the xpath query is not expected.
-
XpathFilterElement
public XpathFilterElement(java.util.regex.Pattern files, java.util.regex.Pattern checks, java.util.regex.Pattern message, java.lang.String moduleId, java.lang.String query)
Creates aXpathElement
instance.- Parameters:
files
- regular expression for names of filtered fileschecks
- regular expression for filtered check classesmessage
- regular expression for messages.moduleId
- the module idquery
- the xpath query- Throws:
java.lang.IllegalArgumentException
- if the xpath query is not correct.
-
-
Method Detail
-
accept
public boolean accept(TreeWalkerAuditEvent event)
Description copied from interface:TreeWalkerFilter
Determines whether or not a filteredTreeWalkerAuditEvent
is accepted.- Specified by:
accept
in interfaceTreeWalkerFilter
- Parameters:
event
- the TreeWalkerAuditEvent to filter.- Returns:
- true if the event is accepted.
-
isFileNameAndModuleAndModuleNameMatching
private boolean isFileNameAndModuleAndModuleNameMatching(TreeWalkerAuditEvent event)
Is matching by file name, module id and Check name.- Parameters:
event
- event- Returns:
- true if it is matching
-
isMessageNameMatching
private boolean isMessageNameMatching(TreeWalkerAuditEvent event)
Is matching by message.- Parameters:
event
- event- Returns:
- true if it is matching or not set.
-
isXpathQueryMatching
private boolean isXpathQueryMatching(TreeWalkerAuditEvent event)
Is matching by xpath query.- Parameters:
event
- event- Returns:
- true if it is matching or not set.
-
getItems
private java.util.List<net.sf.saxon.om.Item> getItems(TreeWalkerAuditEvent event)
Returns list of nodes matching xpath expression given event.- Parameters:
event
-TreeWalkerAuditEvent
object- Returns:
- list of nodes matching xpath expression given event
- Throws:
java.lang.IllegalStateException
- if the xpath query could not be evaluated.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
getPatternSafely
private static java.lang.String getPatternSafely(java.util.regex.Pattern pattern)
Util method to get pattern String value from Pattern object safely, return null if pattern object is null.- Parameters:
pattern
- pattern object- Returns:
- value of pattern or null
-
-