Interface XPathRuleQuery
-
- All Known Implementing Classes:
AbstractXPathRuleQuery,JaxenXPathRuleQuery,SaxonXPathRuleQuery
public interface XPathRuleQueryThis interface captures the logic needed by XPathRule to implement an XPath based query on an AST Node.Implementations of this class do not need to be thread-safe, but they will be reused to query against different AST Nodes. Therefore, internal state should be maintained in a fashion consistent with reuse. Further, implementations are recommended to manage internal state that is invariant over AST Nodes in a fashion which facilities high performance (e.g. caching).
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringXPATH_1_0XPath 1.0 version.static java.lang.StringXPATH_1_0_COMPATIBILITYXPath 1.0 compatibility version.static java.lang.StringXPATH_2_0XPath 2.0 version.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<Node>evaluate(Node node, RuleContext data)Evaluate the XPath query against the given Node.java.util.List<java.lang.String>getRuleChainVisits()Indicates which AST Nodes (if any) should be used with the RuleChain.voidsetProperties(java.util.Map<PropertyDescriptor<?>,java.lang.Object> properties)Set the properties to use during the XPath query.voidsetVersion(java.lang.String version)Set the XPath version to be used.voidsetXPath(java.lang.String xpath)Set the XPath query string to be used.
-
-
-
Field Detail
-
XPATH_1_0
static final java.lang.String XPATH_1_0
XPath 1.0 version.- See Also:
- Constant Field Values
-
XPATH_1_0_COMPATIBILITY
static final java.lang.String XPATH_1_0_COMPATIBILITY
XPath 1.0 compatibility version.- See Also:
- Constant Field Values
-
XPATH_2_0
static final java.lang.String XPATH_2_0
XPath 2.0 version.- See Also:
- Constant Field Values
-
-
Method Detail
-
setXPath
void setXPath(java.lang.String xpath)
Set the XPath query string to be used.- Parameters:
xpath- The XPath query string.
-
setVersion
void setVersion(java.lang.String version) throws java.lang.UnsupportedOperationExceptionSet the XPath version to be used.- Parameters:
version- The XPath version.- Throws:
java.lang.UnsupportedOperationException- if the version cannot be handled.
-
setProperties
void setProperties(java.util.Map<PropertyDescriptor<?>,java.lang.Object> properties)
Set the properties to use during the XPath query.
-
getRuleChainVisits
java.util.List<java.lang.String> getRuleChainVisits()
Indicates which AST Nodes (if any) should be used with the RuleChain. Use of the RuleChain will allow the query execute on a targed sub-tree of the AST, instead of the entire AST from the root. This can result in great performance benefits.
-
evaluate
java.util.List<Node> evaluate(Node node, RuleContext data)
Evaluate the XPath query against the given Node.- Parameters:
node- The Node.data- The RuleContext.- Returns:
- The matching Nodes.
-
-