org.apache.xpath.jaxp
Class XPathExpressionImpl

java.lang.Object
  extended by org.apache.xpath.jaxp.XPathExpressionImpl
All Implemented Interfaces:
javax.xml.xpath.XPathExpression

public class XPathExpressionImpl
extends java.lang.Object
implements javax.xml.xpath.XPathExpression

The XPathExpression interface encapsulates a (compiled) XPath expression.


Field Summary
(package private) static org.w3c.dom.Document d
           
(package private) static javax.xml.parsers.DocumentBuilder db
           
(package private) static javax.xml.parsers.DocumentBuilderFactory dbf
           
private  boolean featureSecureProcessing
           
private  javax.xml.xpath.XPathFunctionResolver functionResolver
           
private  JAXPPrefixResolver prefixResolver
           
private  javax.xml.xpath.XPathVariableResolver variableResolver
           
private  XPath xpath
           
 
Constructor Summary
protected XPathExpressionImpl()
          Protected constructor to prevent direct instantiation; use compile() from the context.
protected XPathExpressionImpl(XPath xpath, JAXPPrefixResolver prefixResolver, javax.xml.xpath.XPathFunctionResolver functionResolver, javax.xml.xpath.XPathVariableResolver variableResolver)
           
protected XPathExpressionImpl(XPath xpath, JAXPPrefixResolver prefixResolver, javax.xml.xpath.XPathFunctionResolver functionResolver, javax.xml.xpath.XPathVariableResolver variableResolver, boolean featureSecureProcessing)
           
 
Method Summary
private  XObject eval(java.lang.Object contextItem)
           
 java.lang.Object eval(java.lang.Object item, javax.xml.namespace.QName returnType)
           
 java.lang.String evaluate(org.xml.sax.InputSource source)
          Evaluate the compiled XPath expression in the context of the specified InputSource and return the result as a String.
 java.lang.Object evaluate(org.xml.sax.InputSource source, javax.xml.namespace.QName returnType)
          Evaluate the compiled XPath expression in the context of the specified InputSource and return the result as the specified type.
 java.lang.String evaluate(java.lang.Object item)
          Evaluate the compiled XPath expression in the specified context and return the result as a String.
 java.lang.Object evaluate(java.lang.Object item, javax.xml.namespace.QName returnType)
          Evaluate the compiled XPath expression in the specified context and return the result as the specified type.
private static org.w3c.dom.Document getDummyDocument()
           
private  java.lang.Object getResultAsType(XObject resultObject, javax.xml.namespace.QName returnType)
           
private  boolean isSupported(javax.xml.namespace.QName returnType)
           
 void setXPath(XPath xpath)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

functionResolver

private javax.xml.xpath.XPathFunctionResolver functionResolver

variableResolver

private javax.xml.xpath.XPathVariableResolver variableResolver

prefixResolver

private JAXPPrefixResolver prefixResolver

xpath

private XPath xpath

featureSecureProcessing

private boolean featureSecureProcessing

dbf

static javax.xml.parsers.DocumentBuilderFactory dbf

db

static javax.xml.parsers.DocumentBuilder db

d

static org.w3c.dom.Document d
Constructor Detail

XPathExpressionImpl

protected XPathExpressionImpl()
Protected constructor to prevent direct instantiation; use compile() from the context.


XPathExpressionImpl

protected XPathExpressionImpl(XPath xpath,
                              JAXPPrefixResolver prefixResolver,
                              javax.xml.xpath.XPathFunctionResolver functionResolver,
                              javax.xml.xpath.XPathVariableResolver variableResolver)

XPathExpressionImpl

protected XPathExpressionImpl(XPath xpath,
                              JAXPPrefixResolver prefixResolver,
                              javax.xml.xpath.XPathFunctionResolver functionResolver,
                              javax.xml.xpath.XPathVariableResolver variableResolver,
                              boolean featureSecureProcessing)
Method Detail

setXPath

public void setXPath(XPath xpath)

eval

public java.lang.Object eval(java.lang.Object item,
                             javax.xml.namespace.QName returnType)
                      throws javax.xml.transform.TransformerException
Throws:
javax.xml.transform.TransformerException

eval

private XObject eval(java.lang.Object contextItem)
              throws javax.xml.transform.TransformerException
Throws:
javax.xml.transform.TransformerException

evaluate

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

Evaluate the compiled 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, then an IllegalArgumentException is thrown.

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

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

evaluate

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

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

This method calls evaluate(Object item, 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 a null value is provided for item, an empty document will be used for the context.

Specified by:
evaluate in interface javax.xml.xpath.XPathExpression
Parameters:
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 the expression cannot be evaluated.

evaluate

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

Evaluate the compiled 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(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 source or returnType is null, then a NullPointerException is thrown.

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

evaluate

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

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

This method calls evaluate(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 source is null, then a NullPointerException is thrown.

Specified by:
evaluate in interface javax.xml.xpath.XPathExpression
Parameters:
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 the expression cannot be evaluated.
java.lang.NullPointerException - If source is null.

isSupported

private boolean isSupported(javax.xml.namespace.QName returnType)

getResultAsType

private java.lang.Object getResultAsType(XObject resultObject,
                                         javax.xml.namespace.QName returnType)
                                  throws javax.xml.transform.TransformerException
Throws:
javax.xml.transform.TransformerException

getDummyDocument

private static org.w3c.dom.Document getDummyDocument()