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.
    • filePattern

      private final String filePattern
      The pattern for file names.
    • checkRegexp

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

      private final String checkPattern
      The pattern for check class names.
    • messageRegexp

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

      private final String messagePattern
      The pattern for message names.
    • 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.
  • 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

      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 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