public abstract class AbstractVirtualNode extends Object implements VirtualNode
Modifier and Type | Field and Description |
---|---|
protected TreeInfo |
docWrapper |
protected NodeInfo |
node |
protected AbstractVirtualNode |
parent |
ALL_NAMESPACES, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
Constructor and Description |
---|
AbstractVirtualNode() |
Modifier and Type | Method and Description |
---|---|
AtomicSequence |
atomize()
Get the typed value.
|
int |
compareOrder(NodeInfo other)
Determine the relative position of this node and another node, in document order.
|
int |
comparePosition(NodeInfo other)
Determine the relative position of this node and another node, in document order,
distinguishing whether the first node is a preceding, following, descendant, ancestor,
or the same node as the second.
|
boolean |
equals(Object other)
The equals() method compares nodes for identity.
|
void |
generateId(FastStringBuffer buffer)
Get a character string that uniquely identifies this node.
|
String |
getAttributeValue(String uri,
String local)
Get the string value of a given attribute of this node
|
String |
getBaseURI()
Get the Base URI for the node, that is, the URI used for resolving a relative URI contained
in the node.
|
int |
getColumnNumber()
Get column number
|
Configuration |
getConfiguration()
Get the configuration
|
NamespaceBinding[] |
getDeclaredNamespaces(NamespaceBinding[] buffer)
Get all namespace undeclarations and undeclarations defined on this element.
|
String |
getDisplayName()
Get the display name of this node.
|
int |
getLineNumber()
Get line number
|
String |
getLocalPart()
Get the local part of the name of this node.
|
int |
getNodeKind()
Return the type of node.
|
String |
getPrefix()
Get the prefix of the name of the node.
|
String |
getPublicId()
Get the Public ID of the entity containing the node.
|
Object |
getRealNode()
Get the node underlying this virtual node.
|
NodeInfo |
getRoot()
Get the root node
|
SchemaType |
getSchemaType()
Get the type annotation
|
String |
getStringValue()
Return the string value of the node.
|
CharSequence |
getStringValueCS()
Get the value of the item as a CharSequence.
|
String |
getSystemId()
Get the System ID for the node.
|
TreeInfo |
getTreeInfo()
Get information about the tree to which this NodeInfo belongs
|
NodeInfo |
getUnderlyingNode()
Get the underlying node, to implement the VirtualNode interface
|
String |
getURI()
Get the URI part of the name of this node.
|
boolean |
hasChildNodes()
Determine whether the node has any children.
|
int |
hashCode()
The hashCode() method obeys the contract for hashCode(): that is, if two objects are equal
(represent the same node) then they must have the same hashCode()
|
NodeInfo |
head()
To implement
Sequence , this method returns the item itself |
boolean |
isId()
Determine whether this node has the is-id property
|
boolean |
isIdref()
Determine whether this node has the is-idref property
|
boolean |
isNilled()
Determine whether the node has the is-nilled property
|
boolean |
isSameNodeInfo(NodeInfo other)
Determine whether this is the same node as another node.
|
SequenceIterator |
iterate()
To implement
Sequence , this method returns a singleton iterator
that delivers this item in the form of a sequence |
AxisIterator |
iterateAxis(byte axisNumber,
NodeTest nodeTest)
Return an iteration over the nodes reached by the given axis from this node
|
Location |
saveLocation()
Get an immutable copy of this Location object.
|
void |
setSystemId(String uri) |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
copy, getParent, iterateAxis
protected NodeInfo node
protected AbstractVirtualNode parent
protected TreeInfo docWrapper
public TreeInfo getTreeInfo()
getTreeInfo
in interface NodeInfo
public SequenceIterator iterate()
Sequence
, this method returns a singleton iterator
that delivers this item in the form of a sequencepublic NodeInfo getUnderlyingNode()
getUnderlyingNode
in interface VirtualNode
public Object getRealNode()
getRealNode
in interface VirtualNode
public Configuration getConfiguration()
getConfiguration
in interface NodeInfo
public int getNodeKind()
getNodeKind
in interface NodeInfo
Type
public AtomicSequence atomize() throws XPathException
atomize
in interface Item
atomize
in interface NodeInfo
XPathException
- if the node has no typed value, for example if
it is an element node with element-only contentpublic SchemaType getSchemaType()
getSchemaType
in interface NodeInfo
public boolean isSameNodeInfo(NodeInfo other)
isSameNodeInfo
in interface NodeInfo
other
- the node to be compared with this nodepublic boolean equals(Object other)
equals
in interface NodeInfo
equals
in class Object
other
- the node to be compared with this nodepublic int hashCode()
hashCode
in interface NodeInfo
hashCode
in class Object
public String getSystemId()
getSystemId
in interface Source
getSystemId
in interface SourceLocator
getSystemId
in interface Location
getSystemId
in interface NodeInfo
getSystemId
in interface Locator
public void setSystemId(String uri)
setSystemId
in interface Source
public String getPublicId()
NodeInfo
Locator
or SourceLocator
, and many implementations return null.getPublicId
in interface SourceLocator
getPublicId
in interface Location
getPublicId
in interface NodeInfo
getPublicId
in interface Locator
public String getBaseURI()
getBaseURI
in interface NodeInfo
public int getLineNumber()
getLineNumber
in interface SourceLocator
getLineNumber
in interface Location
getLineNumber
in interface NodeInfo
getLineNumber
in interface Locator
public int getColumnNumber()
getColumnNumber
in interface SourceLocator
getColumnNumber
in interface Location
getColumnNumber
in interface NodeInfo
getColumnNumber
in interface Locator
public Location saveLocation()
saveLocation
in interface Location
public int compareOrder(NodeInfo other)
compareOrder
in interface NodeInfo
other
- The other node, whose position is to be compared with this nodepublic int comparePosition(NodeInfo other)
comparePosition
in interface NodeInfo
other
- The other node, whose position is to be compared with this
nodeAxisInfo.PRECEDING
if this node is on the preceding axis of the other node;
AxisInfo.FOLLOWING
if it is on the following axis; AxisInfo.ANCESTOR
if the first node is an
ancestor of the second; AxisInfo.DESCENDANT
if the first is a descendant of the second;
AxisInfo.SELF
if they are the same node.UnsupportedOperationException
- if either node is an attribute or namespacepublic final String getStringValue()
getStringValue
in interface Item
getStringValue
in interface NodeInfo
Item.getStringValueCS()
public CharSequence getStringValueCS()
getStringValueCS
in interface Item
Item.getStringValue()
public String getLocalPart()
getLocalPart
in interface NodeInfo
public String getURI()
public String getPrefix()
public String getDisplayName()
getDisplayName
in interface NodeInfo
public AxisIterator iterateAxis(byte axisNumber, NodeTest nodeTest)
iterateAxis
in interface NodeInfo
axisNumber
- the axis to be usednodeTest
- A pattern to be matched by the returned nodesAxisInfo
public String getAttributeValue(String uri, String local)
getAttributeValue
in interface NodeInfo
uri
- the namespace URI of the attribute name. Supply the empty string for an attribute
that is in no namespacelocal
- the local part of the attribute name.public NodeInfo getRoot()
public boolean hasChildNodes()
hasChildNodes
in interface NodeInfo
public void generateId(FastStringBuffer buffer)
generateId
in interface NodeInfo
buffer
- a buffer, into which will be placed
a string that uniquely identifies this node, within this
document. The calling code prepends information to make the result
unique across all documents.public NamespaceBinding[] getDeclaredNamespaces(NamespaceBinding[] buffer)
getDeclaredNamespaces
in interface NodeInfo
buffer
- If this is non-null, and the result array fits in this buffer, then the result
may overwrite the contents of this array, to avoid the cost of allocating a new array on the heap.For a node other than an element, the method returns null.
public boolean isId()
public boolean isIdref()
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.