|
JDOM 1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.jdom.xpath.XPath
A utility class for performing XPath calls on JDOM nodes, with a factory
interface for obtaining a first XPath instance. Users operate against this
class while XPath vendors can plug-in implementations underneath. Users
can choose an implementation using either setXPathClass(java.lang.Class)
or
the system property "org.jdom.xpath.class".
Constructor Summary | |
XPath()
|
Method Summary | |
abstract void |
addNamespace(Namespace namespace)
Adds a namespace definition to the list of namespaces known of this XPath expression. |
void |
addNamespace(java.lang.String prefix,
java.lang.String uri)
Adds a namespace definition (prefix and URI) to the list of namespaces known of this XPath expression. |
abstract java.lang.String |
getXPath()
Returns the wrapped XPath expression as a string. |
static XPath |
newInstance(java.lang.String path)
Creates a new XPath wrapper object, compiling the specified XPath expression. |
abstract java.lang.Number |
numberValueOf(java.lang.Object context)
Returns the number value of the first node selected by applying the wrapped XPath expression to the given context. |
abstract java.util.List |
selectNodes(java.lang.Object context)
Evaluates the wrapped XPath expression and returns the list of selected items. |
static java.util.List |
selectNodes(java.lang.Object context,
java.lang.String path)
Evaluates an XPath expression and returns the list of selected items. |
abstract java.lang.Object |
selectSingleNode(java.lang.Object context)
Evaluates the wrapped XPath expression and returns the first entry in the list of selected nodes (or atomics). |
static java.lang.Object |
selectSingleNode(java.lang.Object context,
java.lang.String path)
Evaluates the wrapped XPath expression and returns the first entry in the list of selected nodes (or atomics). |
abstract void |
setVariable(java.lang.String name,
java.lang.Object value)
Defines an XPath variable and sets its value. |
static void |
setXPathClass(java.lang.Class aClass)
Sets the concrete XPath subclass to use when allocating XPath instances. |
abstract java.lang.String |
valueOf(java.lang.Object context)
Returns the string value of the first node selected by applying the wrapped XPath expression to the given context. |
protected java.lang.Object |
writeReplace()
[Serialization support] Returns the alternative object to write to the stream when serializing this object. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public XPath()
Method Detail |
public static XPath newInstance(java.lang.String path) throws JDOMException
path
- the XPath expression to wrap.public static void setXPathClass(java.lang.Class aClass) throws JDOMException
aClass
- the concrete subclass of XPath.aClass
is
null
.aClass
is
not a concrete subclass
of XPath.public abstract java.util.List selectNodes(java.lang.Object context) throws JDOMException
context
- the node to use as context for evaluating
the XPath expression.Element
,
Attribute
, Text
, CDATA
,
Comment
, ProcessingInstruction
, Boolean,
Double, or String.public abstract java.lang.Object selectSingleNode(java.lang.Object context) throws JDOMException
context
- the node to use as context for evaluating
the XPath expression.Element
,
Attribute
, Text
, CDATA
,
Comment
, ProcessingInstruction
, Boolean,
Double, String, or null
if no item was selected.public abstract java.lang.String valueOf(java.lang.Object context) throws JDOMException
context
- the element to use as context for evaluating
the XPath expression.public abstract java.lang.Number numberValueOf(java.lang.Object context) throws JDOMException
context
- the element to use as context for evaluating
the XPath expression.null
if no node was selected or the
special value java.lang.Double#NaN
(Not-a-Number) if the selected value can not be
converted into a number value.public abstract void setVariable(java.lang.String name, java.lang.Object value)
name
- the variable name.value
- the variable value.name
is not
a valid XPath variable name
or if the value type is not
supported by the underlying
implementationpublic abstract void addNamespace(Namespace namespace)
Note: In XPath, there is no such thing as a 'default namespace'. The empty prefix always resolves to the empty namespace URI.
namespace
- the namespace.public void addNamespace(java.lang.String prefix, java.lang.String uri)
Note: In XPath, there is no such thing as a 'default namespace'. The empty prefix always resolves to the empty namespace URI.
prefix
- the namespace prefix.uri
- the namespace URI.public abstract java.lang.String getXPath()
public static java.util.List selectNodes(java.lang.Object context, java.lang.String path) throws JDOMException
Note: This method should not be used when the
same XPath expression needs to be applied several times (on the
same or different contexts) as it requires the expression to be
compiled before being evaluated. In such cases,
allocating
an XPath wrapper instance and
evaluating
it several
times is way more efficient.
context
- the node to use as context for evaluating
the XPath expression.path
- the XPath expression to evaluate.Element
,
Attribute
, Text
, CDATA
,
Comment
, ProcessingInstruction
, Boolean,
Double, or String.public static java.lang.Object selectSingleNode(java.lang.Object context, java.lang.String path) throws JDOMException
Note: This method should not be used when the
same XPath expression needs to be applied several times (on the
same or different contexts) as it requires the expression to be
compiled before being evaluated. In such cases,
allocating
an XPath wrapper instance and
evaluating
it
several times is way more efficient.
context
- the element to use as context for evaluating
the XPath expression.path
- the XPath expression to evaluate.Element
,
Attribute
, Text
, CDATA
,
Comment
, ProcessingInstruction
, Boolean,
Double, String, or null
if no item was selected.protected final java.lang.Object writeReplace() throws java.io.ObjectStreamException
Note: Subclasses are not allowed to override this method to ensure valid serialization of all implementations.
|
JDOM 1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |