Class XpathFilterElement

java.lang.Object
com.puppycrawl.tools.checkstyle.filters.XpathFilterElement
All Implemented Interfaces:
TreeWalkerFilter

public class XpathFilterElement extends Object implements TreeWalkerFilter
This filter element is immutable and processes TreeWalkerAuditEvent objects based on the criteria of file, check, module id, xpathQuery.
  • Field Details

    • fileRegexp

      private final Pattern fileRegexp
      The regexp to match file names against.
    • checkRegexp

      private final Pattern checkRegexp
      The regexp to match check names against.
    • messageRegexp

      private final Pattern messageRegexp
      The regexp to match message names against.
    • moduleId

      private final String moduleId
      Module id filter.
    • xpathExpression

      private final net.sf.saxon.sxpath.XPathExpression xpathExpression
      Xpath expression.
    • xpathQuery

      private final String xpathQuery
      Xpath query.
    • isEmptyConfig

      private final boolean isEmptyConfig
      Indicates if all properties are set to null.
  • Constructor Details

    • XpathFilterElement

      public XpathFilterElement(String files, String checks, String message, String moduleId, String query)
      Creates a XpathElement instance.
      Parameters:
      files - regular expression for names of filtered files
      checks - regular expression for filtered check classes
      message - regular expression for messages.
      moduleId - the module id
      query - the xpath query
      Throws:
      IllegalArgumentException - if the xpath query is not expected.
    • XpathFilterElement

      public XpathFilterElement(Pattern files, Pattern checks, Pattern message, String moduleId, String query)
      Creates a XpathElement instance.
      Parameters:
      files - regular expression for names of filtered files
      checks - regular expression for filtered check classes
      message - regular expression for messages.
      moduleId - the module id
      query - the xpath query
      Throws:
      IllegalArgumentException - if the xpath query is not correct.
  • Method Details

    • accept

      public boolean accept(TreeWalkerAuditEvent event)
      Description copied from interface: TreeWalkerFilter
      Determines whether or not a filtered TreeWalkerAuditEvent is accepted.
      Specified by:
      accept in interface TreeWalkerFilter
      Parameters:
      event - the TreeWalkerAuditEvent to filter.
      Returns:
      true if the event is accepted.
    • isFileNameAndModuleAndModuleNameMatching

      Is matching by file name, module id and Check name.
      Parameters:
      event - event
      Returns:
      true if it is matching
    • isMessageNameMatching

      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 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:
      IllegalStateException - if the xpath query could not be evaluated.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • getPatternSafely

      private static String getPatternSafely(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