net.sf.saxon.tinytree
Class WhitespaceTextImpl

java.lang.Object
  extended by net.sf.saxon.tinytree.TinyNodeImpl
      extended by net.sf.saxon.tinytree.WhitespaceTextImpl
All Implemented Interfaces:
Source, SourceLocator, PullEvent, ExtendedNodeInfo, FingerprintedNode, Item, NodeInfo, ValueRepresentation

public final class WhitespaceTextImpl
extends TinyNodeImpl

A node in the XML parse tree representing a text node with compressed whitespace content

Author:
Michael H. Kay

Field Summary
 
Fields inherited from class net.sf.saxon.tinytree.TinyNodeImpl
NODE_LETTER
 
Constructor Summary
WhitespaceTextImpl(TinyTree tree, int nodeNr)
          Create a compressed whitespace text node
 
Method Summary
static void appendStringValue(TinyTree tree, int nodeNr, FastStringBuffer buffer)
          Static method to get the string value of a text node and append it to a supplied buffer without first constructing the node object
 void copy(Receiver out, int whichNamespaces, boolean copyAnnotations, int locationId)
          Copy this node to a given outputter
static long getLongValue(TinyTree tree, int nodeNr)
          Static method to get the "long" value representing the content of a whitespace text node
 int getNodeKind()
          Return the type of node.
 String getStringValue()
          Return the character value of the node.
static CharSequence getStringValue(TinyTree tree, int nodeNr)
          Static method to get the string value of a text node without first constructing the node object
 CharSequence getStringValueCS()
          Get the value of the item as a CharSequence.
 
Methods inherited from class net.sf.saxon.tinytree.TinyNodeImpl
atomize, compareOrder, equals, generateId, getAttributeValue, getBaseURI, getColumnNumber, getConfiguration, getDeclaredNamespaces, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNamePool, getNodeNumber, getParent, getPrefix, getPublicId, getRoot, getSystemId, getTypeAnnotation, getTypedValue, getURI, hasChildNodes, hashCode, isAncestorOrSelf, isId, isIdref, isNilled, isSameNodeInfo, iterateAxis, iterateAxis, setSystemId
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WhitespaceTextImpl

public WhitespaceTextImpl(TinyTree tree,
                          int nodeNr)
Create a compressed whitespace text node

Parameters:
tree - the tree to contain the node
nodeNr - the internal node number
Method Detail

getStringValue

public String getStringValue()
Return the character value of the node.

Returns:
the string value of the node
See Also:
Item.getStringValueCS()

getStringValueCS

public CharSequence getStringValueCS()
Get the value of the item as a CharSequence. This is in some cases more efficient than the version of the method that returns a String. For a WhitespaceTextImpl node, it avoids the cost of decompressing the whitespace

Specified by:
getStringValueCS in interface Item
Specified by:
getStringValueCS in interface ValueRepresentation
Overrides:
getStringValueCS in class TinyNodeImpl
Returns:
the string value of the item
See Also:
Item.getStringValue()

getStringValue

public static CharSequence getStringValue(TinyTree tree,
                                          int nodeNr)
Static method to get the string value of a text node without first constructing the node object

Parameters:
tree - the tree
nodeNr - the node number of the text node
Returns:
the string value of the text node

appendStringValue

public static void appendStringValue(TinyTree tree,
                                     int nodeNr,
                                     FastStringBuffer buffer)
Static method to get the string value of a text node and append it to a supplied buffer without first constructing the node object

Parameters:
tree - the tree
nodeNr - the node number of the text node
buffer - a buffer to which the string value will be appended

getLongValue

public static long getLongValue(TinyTree tree,
                                int nodeNr)
Static method to get the "long" value representing the content of a whitespace text node

Parameters:
tree - the TinyTree
nodeNr - the internal node number
Returns:
a value representing the compressed whitespace content
See Also:
CompressedWhitespace

getNodeKind

public final int getNodeKind()
Return the type of node.

Returns:
Type.TEXT
See Also:
Type

copy

public void copy(Receiver out,
                 int whichNamespaces,
                 boolean copyAnnotations,
                 int locationId)
          throws XPathException
Copy this node to a given outputter

Parameters:
out - the Receiver to which the node should be copied
whichNamespaces - in the case of an element, controls which namespace nodes should be copied. Values are NodeInfo.NO_NAMESPACES, NodeInfo.LOCAL_NAMESPACES, NodeInfo.ALL_NAMESPACES
copyAnnotations - indicates whether the type annotations of element and attribute nodes should be copied
locationId - If non-zero, identifies the location of the instruction that requested this copy. If zero, indicates that the location information for the original node is to be copied; in this case the Receiver must be a LocationCopier
Throws:
XPathException


Copyright (C) Michael H. Kay. All rights reserved.