org.geotools.data.complex.filter
Class XPathUtil

Object
  extended by XPathUtil
Direct Known Subclasses:
XPath

public class XPathUtil
extends Object

Utility class to evaluate XPath expressions against an Attribute instance, which may be any Attribute, whether it is simple, complex, a feature, etc.

At the difference of the Filter subsystem, which works against Attribute contents (for example to evaluate a comparison filter), the XPath subsystem, for which this class is the single entry point, works against Attribute instances. That is, the result of an XPath expression, if a single value, is an Attribtue, not the attribute content, or a List of Attributes, for instance.

Author:
Gabriel Roldan (Axios Engineering), Rini Angreani (CSIRO Earth Science and Resource Engineering)

Nested Class Summary
static class XPathUtil.Step
           
static class XPathUtil.StepList
           
 
Constructor Summary
XPathUtil()
           
 
Method Summary
static boolean equals(Name targetNodeName, XPathUtil.StepList targetXPath)
           
static XPathUtil.StepList rootElementSteps(AttributeDescriptor rootElement, NamespaceSupport namespaces)
          Returns the list of steps in an x-path expression that represents the root element.
static XPathUtil.StepList steps(AttributeDescriptor root, String xpathExpression, NamespaceSupport namespaces)
          Returns the list of stepts in xpathExpression by cleaning it up removing unnecessary elements.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XPathUtil

public XPathUtil()
Method Detail

rootElementSteps

public static XPathUtil.StepList rootElementSteps(AttributeDescriptor rootElement,
                                                  NamespaceSupport namespaces)
                                           throws IllegalArgumentException
Returns the list of steps in an x-path expression that represents the root element.

Parameters:
root - non null descriptor of the root attribute, generally the Feature descriptor.
namespaces - namespace support for generating qnames from namespaces.
Returns:
A list of unique of steps in an xpath expression.
Throws:
IllegalArgumentException - if root is undefined.

steps

public static XPathUtil.StepList steps(AttributeDescriptor root,
                                       String xpathExpression,
                                       NamespaceSupport namespaces)
                                throws IllegalArgumentException
Returns the list of stepts in xpathExpression by cleaning it up removing unnecessary elements.

Parameters:
root - non null descriptor of the root attribute, generally the Feature descriptor. Used to ignore the first step in xpathExpression if the expression's first step is named as rootName.
xpathExpression -
Returns:
Throws:
IllegalArgumentException - if xpathExpression has no steps or it isn't a valid XPath expression against type.

equals

public static boolean equals(Name targetNodeName,
                             XPathUtil.StepList targetXPath)


Copyright © 1996-2014 Geotools. All Rights Reserved.