public class DOMNodePointer extends NodePointer
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
defaultNamespace |
private java.lang.String |
id |
private NamespaceResolver |
localNamespaceResolver |
private java.util.Map |
namespaces |
private org.w3c.dom.Node |
node |
private static long |
serialVersionUID |
static java.lang.String |
XML_NAMESPACE_URI
XML namespace URI
|
static java.lang.String |
XMLNS_NAMESPACE_URI
XMLNS namespace URI
|
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION
Constructor and Description |
---|
DOMNodePointer(org.w3c.dom.Node node,
java.util.Locale locale)
Create a new DOMNodePointer.
|
DOMNodePointer(org.w3c.dom.Node node,
java.util.Locale locale,
java.lang.String id)
Create a new DOMNodePointer.
|
DOMNodePointer(NodePointer parent,
org.w3c.dom.Node node)
Create a new DOMNodePointer.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
asPath()
Returns an XPath that maps to this Pointer.
|
NodeIterator |
attributeIterator(QName name)
Returns a NodeIterator that iterates over all attributes of the current
node matching the supplied node name (could have a wildcard).
|
NodeIterator |
childIterator(NodeTest test,
boolean reverse,
NodePointer startWith)
Returns a NodeIterator that iterates over all children or all children
that match the given NodeTest, starting with the specified one.
|
int |
compareChildNodePointers(NodePointer pointer1,
NodePointer pointer2)
Compares two child NodePointers and returns a positive number,
zero or a positive number according to the order of the pointers.
|
NodePointer |
createAttribute(JXPathContext context,
QName name)
Called to create a non-existing attribute
|
NodePointer |
createChild(JXPathContext context,
QName name,
int index)
Called by a child pointer when it needs to create a parent object for a
non-existent collection element.
|
NodePointer |
createChild(JXPathContext context,
QName name,
int index,
java.lang.Object value)
Called by a child pointer if that child needs to assign the value
supplied in the createPath(context, value) call to a non-existent
node.
|
boolean |
equals(java.lang.Object object) |
private static boolean |
equalStrings(java.lang.String s1,
java.lang.String s2)
Test string equality.
|
protected static java.lang.String |
findEnclosingAttribute(org.w3c.dom.Node n,
java.lang.String attrName)
Find the nearest occurrence of the specified attribute
on the specified and enclosing elements.
|
java.lang.Object |
getBaseValue()
Returns the value represented by the pointer before indexing.
|
java.lang.String |
getDefaultNamespaceURI()
Get the default ns uri
|
java.lang.Object |
getImmediateNode()
Returns the object the pointer points to; does not convert it
to a "canonical" type.
|
protected java.lang.String |
getLanguage()
Get the language attribute for this node.
|
int |
getLength()
If the pointer represents a collection (or collection element),
returns the length of the collection.
|
static java.lang.String |
getLocalName(org.w3c.dom.Node node)
Get the local name of the specified node.
|
QName |
getName()
Returns the name of this node.
|
NamespaceResolver |
getNamespaceResolver()
Get the NamespaceResolver associated with this NodePointer.
|
java.lang.String |
getNamespaceURI()
Returns the namespace URI associated with this Pointer.
|
static java.lang.String |
getNamespaceURI(org.w3c.dom.Node node)
Get the ns uri of the specified node.
|
java.lang.String |
getNamespaceURI(java.lang.String prefix)
Decodes a namespace prefix to the corresponding URI.
|
Pointer |
getPointerByID(JXPathContext context,
java.lang.String id)
Locates a node by ID.
|
static java.lang.String |
getPrefix(org.w3c.dom.Node node)
Get any prefix from the specified node.
|
private int |
getRelativePositionByName()
Get relative position of this among like-named siblings.
|
private int |
getRelativePositionOfElement()
Get relative position of this among all siblings.
|
private int |
getRelativePositionOfPI()
Get the relative position of this among same-target processing instruction siblings.
|
private int |
getRelativePositionOfTextNode()
Get the relative position of this among sibling text nodes.
|
java.lang.Object |
getValue()
By default, returns
getNode() , can be overridden to
return a "canonical" value, like for instance a DOM element should
return its string value. |
int |
hashCode() |
boolean |
isActual()
An actual pointer points to an existing part of an object graph, even
if it is null.
|
boolean |
isCollection()
Returns
true if the value of the pointer is an array or
a Collection. |
boolean |
isLanguage(java.lang.String lang)
Returns true if the xml:lang attribute for the current node
or its parent has the specified prefix lang.
|
boolean |
isLeaf()
If true, this node does not have children
|
NodeIterator |
namespaceIterator()
Returns a NodeIterator that iterates over all namespaces of the value
currently pointed at.
|
NodePointer |
namespacePointer(java.lang.String prefix)
Returns a NodePointer for the specified namespace.
|
void |
remove()
Remove the node of the object graph this pointer points to.
|
void |
setValue(java.lang.Object value)
Sets contents of the node to the specified value.
|
private java.lang.String |
stringValue(org.w3c.dom.Node node)
Get the string value of the specified node.
|
static boolean |
testNode(org.w3c.dom.Node node,
NodeTest test)
Test a Node.
|
boolean |
testNode(NodeTest test)
Checks if this Pointer matches the supplied NodeTest.
|
clone, compareTo, createPath, createPath, escape, getAbstractFactory, getImmediateParentPointer, getImmediateValuePointer, getIndex, getLocale, getNode, getNodeSetByKey, getNodeValue, getParent, getPointerByKey, getRootNode, getValuePointer, isAttribute, isContainer, isDefaultNamespace, isNode, isRoot, newChildNodePointer, newNodePointer, printPointerChain, setAttribute, setIndex, setNamespaceResolver, toString
private static final long serialVersionUID
private org.w3c.dom.Node node
private java.util.Map namespaces
private java.lang.String defaultNamespace
private java.lang.String id
private NamespaceResolver localNamespaceResolver
public static final java.lang.String XML_NAMESPACE_URI
public static final java.lang.String XMLNS_NAMESPACE_URI
public DOMNodePointer(org.w3c.dom.Node node, java.util.Locale locale)
node
- pointed atlocale
- Localepublic DOMNodePointer(org.w3c.dom.Node node, java.util.Locale locale, java.lang.String id)
node
- pointed atlocale
- Localeid
- string idpublic DOMNodePointer(NodePointer parent, org.w3c.dom.Node node)
parent
- pointernode
- pointedpublic boolean testNode(NodeTest test)
NodePointer
testNode
in class NodePointer
test
- the NodeTest to executepublic static boolean testNode(org.w3c.dom.Node node, NodeTest test)
node
- to testtest
- to executeprivate static boolean equalStrings(java.lang.String s1, java.lang.String s2)
s1
- String 1s2
- String 2public QName getName()
NodePointer
getName
in class NodePointer
public java.lang.String getNamespaceURI()
NodePointer
getNamespaceURI
in class NodePointer
public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith)
NodePointer
childIterator
in class NodePointer
test
- NodeTest to filter childrenreverse
- specified iteration directionstartWith
- the NodePointer to start withpublic NodeIterator attributeIterator(QName name)
NodePointer
attributeIterator
in class NodePointer
name
- the attribute name to testpublic NodePointer namespacePointer(java.lang.String prefix)
NodePointer
namespacePointer
in class NodePointer
prefix
- incoming namespacenamespace
public NodeIterator namespaceIterator()
NodePointer
namespaceIterator
in class NodePointer
public NamespaceResolver getNamespaceResolver()
NodePointer
getNamespaceResolver
in class NodePointer
public java.lang.String getNamespaceURI(java.lang.String prefix)
NodePointer
getNamespaceURI
in class NodePointer
prefix
- prefix to decodepublic java.lang.String getDefaultNamespaceURI()
NodePointer
getDefaultNamespaceURI
in class NodePointer
public java.lang.Object getBaseValue()
NodePointer
getBaseValue
in class NodePointer
public java.lang.Object getImmediateNode()
NodePointer
getImmediateNode
in class NodePointer
public boolean isActual()
NodePointer
isActual
in class NodePointer
public boolean isCollection()
NodePointer
true
if the value of the pointer is an array or
a Collection.isCollection
in class NodePointer
public int getLength()
NodePointer
getLength
in class NodePointer
public boolean isLeaf()
NodePointer
isLeaf
in class NodePointer
public boolean isLanguage(java.lang.String lang)
super.isLanguage(lang)
.isLanguage
in class NodePointer
lang
- ns to testprotected static java.lang.String findEnclosingAttribute(org.w3c.dom.Node n, java.lang.String attrName)
n
- current nodeattrName
- attribute nameprotected java.lang.String getLanguage()
public void setValue(java.lang.Object value)
setValue
in interface Pointer
setValue
in class NodePointer
value
- to setpublic NodePointer createChild(JXPathContext context, QName name, int index)
NodePointer
createChild
in class NodePointer
context
- the owning JXPathCOntextname
- the QName at which a child should be createdindex
- child index.public NodePointer createChild(JXPathContext context, QName name, int index, java.lang.Object value)
NodePointer
createChild
in class NodePointer
context
- the owning JXPathCOntextname
- the QName at which a child should be createdindex
- child index.value
- node value to setpublic NodePointer createAttribute(JXPathContext context, QName name)
NodePointer
createAttribute
in class NodePointer
context
- the owning JXPathCOntextname
- the QName at which an attribute should be createdpublic void remove()
NodePointer
remove
in class NodePointer
public java.lang.String asPath()
NodePointer
asPath
in interface Pointer
asPath
in class NodePointer
private int getRelativePositionByName()
private int getRelativePositionOfElement()
private int getRelativePositionOfTextNode()
private int getRelativePositionOfPI()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object object)
equals
in class java.lang.Object
public static java.lang.String getPrefix(org.w3c.dom.Node node)
node
- the node to checkpublic static java.lang.String getLocalName(org.w3c.dom.Node node)
node
- node to checkpublic static java.lang.String getNamespaceURI(org.w3c.dom.Node node)
node
- Node to checkpublic java.lang.Object getValue()
NodePointer
getNode()
, can be overridden to
return a "canonical" value, like for instance a DOM element should
return its string value.getValue
in interface Pointer
getValue
in class NodePointer
private java.lang.String stringValue(org.w3c.dom.Node node)
node
- Node to checkpublic Pointer getPointerByID(JXPathContext context, java.lang.String id)
getPointerByID
in class NodePointer
context
- starting contextid
- to findpublic int compareChildNodePointers(NodePointer pointer1, NodePointer pointer2)
NodePointer
compareChildNodePointers
in class NodePointer
pointer1
- first pointer to be comparedpointer2
- second pointer to be compared