public class JDOMNodePointer extends NodePointer
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
id |
private NamespaceResolver |
localNamespaceResolver |
private java.lang.Object |
node |
private static long |
serialVersionUID |
static java.lang.String |
XML_NAMESPACE_URI
XML ns uri
|
static java.lang.String |
XMLNS_NAMESPACE_URI
XMLNS ns uri
|
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION
Constructor and Description |
---|
JDOMNodePointer(NodePointer parent,
java.lang.Object node)
Create a new JDOMNodePointer.
|
JDOMNodePointer(java.lang.Object node,
java.util.Locale locale)
Create a new JDOMNodePointer.
|
JDOMNodePointer(java.lang.Object node,
java.util.Locale locale,
java.lang.String id)
Create a new JDOMNodePointer.
|
Modifier and Type | Method and Description |
---|---|
private void |
addContent(java.util.List content)
Add the specified content to this element.
|
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)
Learn whether two strings are == or .equals()
|
protected static java.lang.String |
findEnclosingAttribute(java.lang.Object n,
java.lang.String attrName,
org.jdom.Namespace ns)
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.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 of this element.
|
int |
getLength()
If the pointer represents a collection (or collection element),
returns the length of the collection.
|
static java.lang.String |
getLocalName(java.lang.Object 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.
|
private static java.lang.String |
getNamespaceURI(java.lang.Object 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.
|
static java.lang.String |
getPrefix(java.lang.Object node)
Get the prefix from a given 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 |
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.
|
private static org.jdom.Element |
nodeParent(java.lang.Object node)
Get the parent of the specified node.
|
void |
remove()
Remove the node of the object graph this pointer points to.
|
void |
setValue(java.lang.Object value)
Converts the value to the required type and changes the corresponding
object to that value.
|
static boolean |
testNode(NodePointer pointer,
java.lang.Object node,
NodeTest test)
Execute test against node on behalf of pointer.
|
boolean |
testNode(NodeTest test)
Checks if this Pointer matches the supplied NodeTest.
|
clone, compareTo, createPath, createPath, escape, getAbstractFactory, getDefaultNamespaceURI, getImmediateParentPointer, getImmediateValuePointer, getIndex, getLocale, getNode, getNodeSetByKey, getNodeValue, getParent, getPointerByID, getPointerByKey, getRootNode, getValuePointer, isActual, isAttribute, isContainer, isDefaultNamespace, isNode, isRoot, newChildNodePointer, newNodePointer, printPointerChain, setAttribute, setIndex, setNamespaceResolver, toString
private static final long serialVersionUID
private java.lang.Object node
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 JDOMNodePointer(java.lang.Object node, java.util.Locale locale)
node
- pointedlocale
- Localepublic JDOMNodePointer(java.lang.Object node, java.util.Locale locale, java.lang.String id)
node
- pointedlocale
- Localeid
- String idpublic JDOMNodePointer(NodePointer parent, java.lang.Object node)
parent
- NodePointernode
- pointedpublic 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 NodeIterator namespaceIterator()
NodePointer
namespaceIterator
in class NodePointer
public NodePointer namespacePointer(java.lang.String prefix)
NodePointer
namespacePointer
in class NodePointer
prefix
- incoming namespacenamespace
public java.lang.String getNamespaceURI()
NodePointer
getNamespaceURI
in class NodePointer
private static java.lang.String getNamespaceURI(java.lang.Object node)
node
- Node to checkpublic 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 int compareChildNodePointers(NodePointer pointer1, NodePointer pointer2)
NodePointer
compareChildNodePointers
in class NodePointer
pointer1
- first pointer to be comparedpointer2
- second pointer to be comparedpublic java.lang.Object getBaseValue()
NodePointer
getBaseValue
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 QName getName()
NodePointer
getName
in class NodePointer
public java.lang.Object getImmediateNode()
NodePointer
getImmediateNode
in class NodePointer
public 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
public void setValue(java.lang.Object value)
NodePointer
setValue
in interface Pointer
setValue
in class NodePointer
value
- the value to setprivate void addContent(java.util.List content)
content
- Listpublic boolean testNode(NodeTest test)
NodePointer
testNode
in class NodePointer
test
- the NodeTest to executepublic static boolean testNode(NodePointer pointer, java.lang.Object node, NodeTest test)
pointer
- Pointernode
- to testtest
- to executeprivate static boolean equalStrings(java.lang.String s1, java.lang.String s2)
s1
- string 1s2
- string 2public static java.lang.String getPrefix(java.lang.Object node)
node
- to checkpublic static java.lang.String getLocalName(java.lang.Object node)
node
- to checkpublic boolean isLanguage(java.lang.String lang)
super.isLanguage(lang)
.isLanguage
in class NodePointer
lang
- to compareprotected java.lang.String getLanguage()
protected static java.lang.String findEnclosingAttribute(java.lang.Object n, java.lang.String attrName, org.jdom.Namespace ns)
n
- current nodeattrName
- attribute namens
- Namespaceprivate static org.jdom.Element nodeParent(java.lang.Object node)
node
- to checkpublic 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