Class XPathImpl

  • All Implemented Interfaces:
    javax.xml.xpath.XPath

    public class XPathImpl
    extends java.lang.Object
    implements javax.xml.xpath.XPath
    The XPathImpl class provides implementation for the methods defined in javax.xml.xpath.XPath interface. This provide simple access to the results of an XPath expression.
    Version:
    $Revision: 1225280 $
    Author:
    Ramesh Mandava
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.xml.xpath.XPathExpression compile​(java.lang.String expression)
      Compile an XPath expression for later evaluation.
      java.lang.String evaluate​(java.lang.String expression, java.lang.Object item)
      Evaluate an XPath expression in the specified context and return the result as a String.
      java.lang.Object evaluate​(java.lang.String expression, java.lang.Object item, javax.xml.namespace.QName returnType)
      Evaluate an XPath expression in the specified context and return the result as the specified type.
      java.lang.String evaluate​(java.lang.String expression, org.xml.sax.InputSource source)
      Evaluate an XPath expression in the context of the specified InputSource and return the result as a String.
      java.lang.Object evaluate​(java.lang.String expression, org.xml.sax.InputSource source, javax.xml.namespace.QName returnType)
      Evaluate an XPath expression in the context of the specified InputSource and return the result as the specified type.
      javax.xml.namespace.NamespaceContext getNamespaceContext()
      Returns the current namespace context.
      javax.xml.xpath.XPathFunctionResolver getXPathFunctionResolver()
      Returns the current function resolver.
      javax.xml.xpath.XPathVariableResolver getXPathVariableResolver()
      Returns the current variable resolver.
      void reset()
      Reset this XPath to its original configuration.
      void setNamespaceContext​(javax.xml.namespace.NamespaceContext nsContext)
      Establishes a namespace context.
      void setXPathFunctionResolver​(javax.xml.xpath.XPathFunctionResolver resolver)
      Establishes a function resolver.
      void setXPathVariableResolver​(javax.xml.xpath.XPathVariableResolver resolver)
      Establishes a variable resolver.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.xml.xpath.XPath

        evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression
    • Method Detail

      • setXPathVariableResolver

        public void setXPathVariableResolver​(javax.xml.xpath.XPathVariableResolver resolver)

        Establishes a variable resolver.

        Specified by:
        setXPathVariableResolver in interface javax.xml.xpath.XPath
        Parameters:
        resolver - Variable Resolver
      • getXPathVariableResolver

        public javax.xml.xpath.XPathVariableResolver getXPathVariableResolver()

        Returns the current variable resolver.

        Specified by:
        getXPathVariableResolver in interface javax.xml.xpath.XPath
        Returns:
        Current variable resolver
      • setXPathFunctionResolver

        public void setXPathFunctionResolver​(javax.xml.xpath.XPathFunctionResolver resolver)

        Establishes a function resolver.

        Specified by:
        setXPathFunctionResolver in interface javax.xml.xpath.XPath
        Parameters:
        resolver - XPath function resolver
      • getXPathFunctionResolver

        public javax.xml.xpath.XPathFunctionResolver getXPathFunctionResolver()

        Returns the current function resolver.

        Specified by:
        getXPathFunctionResolver in interface javax.xml.xpath.XPath
        Returns:
        Current function resolver
      • setNamespaceContext

        public void setNamespaceContext​(javax.xml.namespace.NamespaceContext nsContext)

        Establishes a namespace context.

        Specified by:
        setNamespaceContext in interface javax.xml.xpath.XPath
        Parameters:
        nsContext - Namespace context to use
      • getNamespaceContext

        public javax.xml.namespace.NamespaceContext getNamespaceContext()

        Returns the current namespace context.

        Specified by:
        getNamespaceContext in interface javax.xml.xpath.XPath
        Returns:
        Current Namespace context
      • evaluate

        public java.lang.Object evaluate​(java.lang.String expression,
                                         java.lang.Object item,
                                         javax.xml.namespace.QName returnType)
                                  throws javax.xml.xpath.XPathExpressionException

        Evaluate an XPath expression in the specified context and return the result as the specified type.

        See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

        If returnType is not one of the types defined in XPathConstants ( NUMBER, STRING, BOOLEAN, NODE or NODESET) then an IllegalArgumentException is thrown.

        If a null value is provided for item, an empty document will be used for the context. If expression or returnType is null, then a NullPointerException is thrown.

        Specified by:
        evaluate in interface javax.xml.xpath.XPath
        Parameters:
        expression - The XPath expression.
        item - The starting context (node or node list, for example).
        returnType - The desired return type.
        Returns:
        Result of evaluating an XPath expression as an Object of returnType.
        Throws:
        javax.xml.xpath.XPathExpressionException - If expression cannot be evaluated.
        java.lang.IllegalArgumentException - If returnType is not one of the types defined in XPathConstants.
        java.lang.NullPointerException - If expression or returnType is null.
      • evaluate

        public java.lang.String evaluate​(java.lang.String expression,
                                         java.lang.Object item)
                                  throws javax.xml.xpath.XPathExpressionException

        Evaluate an XPath expression in the specified context and return the result as a String.

        This method calls evaluate(String expression, Object item, QName returnType) with a returnType of XPathConstants.STRING.

        See "Evaluation of XPath Expressions" of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

        If a null value is provided for item, an empty document will be used for the context. If expression is null, then a NullPointerException is thrown.

        Specified by:
        evaluate in interface javax.xml.xpath.XPath
        Parameters:
        expression - The XPath expression.
        item - The starting context (node or node list, for example).
        Returns:
        The String that is the result of evaluating the expression and converting the result to a String.
        Throws:
        javax.xml.xpath.XPathExpressionException - If expression cannot be evaluated.
        java.lang.NullPointerException - If expression is null.
      • compile

        public javax.xml.xpath.XPathExpression compile​(java.lang.String expression)
                                                throws javax.xml.xpath.XPathExpressionException

        Compile an XPath expression for later evaluation.

        If expression contains any XPathFunctions, they must be available via the XPathFunctionResolver. An XPathExpressionException will be thrown if the XPathFunction cannot be resovled with the XPathFunctionResolver.

        If expression is null, a NullPointerException is thrown.

        Specified by:
        compile in interface javax.xml.xpath.XPath
        Parameters:
        expression - The XPath expression.
        Returns:
        Compiled XPath expression.
        Throws:
        javax.xml.xpath.XPathExpressionException - If expression cannot be compiled.
        java.lang.NullPointerException - If expression is null.
      • evaluate

        public java.lang.Object evaluate​(java.lang.String expression,
                                         org.xml.sax.InputSource source,
                                         javax.xml.namespace.QName returnType)
                                  throws javax.xml.xpath.XPathExpressionException

        Evaluate an XPath expression in the context of the specified InputSource and return the result as the specified type.

        This method builds a data model for the InputSource and calls evaluate(String expression, Object item, QName returnType) on the resulting document object.

        See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

        If returnType is not one of the types defined in XPathConstants, then an IllegalArgumentException is thrown.

        If expression, source or returnType is null, then a NullPointerException is thrown.

        Specified by:
        evaluate in interface javax.xml.xpath.XPath
        Parameters:
        expression - The XPath expression.
        source - The input source of the document to evaluate over.
        returnType - The desired return type.
        Returns:
        The Object that encapsulates the result of evaluating the expression.
        Throws:
        javax.xml.xpath.XPathExpressionException - If expression cannot be evaluated.
        java.lang.IllegalArgumentException - If returnType is not one of the types defined in XPathConstants.
        java.lang.NullPointerException - If expression, source or returnType is null.
      • evaluate

        public java.lang.String evaluate​(java.lang.String expression,
                                         org.xml.sax.InputSource source)
                                  throws javax.xml.xpath.XPathExpressionException

        Evaluate an XPath expression in the context of the specified InputSource and return the result as a String.

        This method calls evaluate(String expression, InputSource source, QName returnType) with a returnType of XPathConstants.STRING.

        See "Evaluation of XPath Expressions" section of JAXP 1.3 spec for context item evaluation, variable, function and QName resolution and return type conversion.

        If expression or source is null, then a NullPointerException is thrown.

        Specified by:
        evaluate in interface javax.xml.xpath.XPath
        Parameters:
        expression - The XPath expression.
        source - The InputSource of the document to evaluate over.
        Returns:
        The String that is the result of evaluating the expression and converting the result to a String.
        Throws:
        javax.xml.xpath.XPathExpressionException - If expression cannot be evaluated.
        java.lang.NullPointerException - If expression or source is null.
      • reset

        public void reset()

        Reset this XPath to its original configuration.

        XPath is reset to the same state as when it was created with XPathFactory#newXPath(). reset() is designed to allow the reuse of existing XPaths thus saving resources associated with the creation of new XPaths.

        The reset XPath is not guaranteed to have the same XPathFunctionResolver, XPathVariableResolver or NamespaceContext Objects, e.g. Object.equals(Object obj). It is guaranteed to have a functionally equal XPathFunctionResolver, XPathVariableResolver and NamespaceContext.

        Specified by:
        reset in interface javax.xml.xpath.XPath