Top Description Fields Constructors Methods
com.sun.org.apache.xerces.internal.dom

public abstract Class CharacterDataImpl

extends ChildNode
Class Inheritance
Known Direct Subclasses
com.sun.org.apache.xerces.internal.dom.CommentImpl, com.sun.org.apache.xerces.internal.dom.ProcessingInstructionImpl, com.sun.org.apache.xerces.internal.dom.TextImpl
Imports
org.w3c.dom.DOMException, .Node, .NodeList

CharacterData is an abstract Node that can carry character data as its Value. It provides shared behavior for Text, CData, and possibly other node types. All offsets are 0-based.

Since ProcessingInstructionImpl inherits from this class to reuse the setNodeValue method, this class isn't declared as implementing the interface CharacterData. This is done by relevant subclasses (TexImpl, CommentImpl).

This class doesn't directly support mutation events, however, it notifies the document when mutations are performed so that the document class do so.

Since
PR-DOM-Level-1-19980818.

Field Summary

Modifier and TypeField and Description
protected String
pack-priv static final long
private static transient NodeList
singletonNodeList

Empty child nodes.

Inherited from com.sun.org.apache.xerces.internal.dom.ChildNode:
nextSiblingpreviousSibling

Constructor Summary

AccessConstructor and Description
public
protected
CharacterDataImpl(CoreDocumentImpl ownerDocument, String data)

Factory constructor.

Method Summary

Modifier and TypeMethod and Description
public void
appendData(String data)

Concatenate additional characters onto the end of the data stored in this node.

public void
deleteData(int offset, int count)

Remove a range of characters from the node's value.

public NodeList
public String
getData()

Retrieve character data currently stored in this node.

public int
getLength()

Overrides com.sun.org.apache.xerces.internal.dom.NodeImpl.getLength.

Implements org.w3c.dom.NodeList.getLength.

Report number of characters currently stored in this node's data.

public String
public void
insertData(int offset, String data)

Insert additional characters into the data stored in this node, at the offset specified.

pack-priv void
internalDeleteData(int offset, int count, boolean replace)

NON-DOM INTERNAL: Within DOM actions, we sometimes need to be able to control which mutation events are spawned.

pack-priv void
internalInsertData(int offset, String data, boolean replace)

NON-DOM INTERNAL: Within DOM actions, we sometimes need to be able to control which mutation events are spawned.

public void
replaceData(int
The offset at which to begin replacing.
offset
,
int
The number of characters to remove, interpreted as in the delete() method.
count
,
String
The new string to be inserted at offset in place of the removed data. Note that the entire string will be inserted -- the count parameter does not affect insertion, and the new data may be longer or shorter than the substring it replaces.
data
)

Replace a series of characters at the specified (zero-based) offset with a new string, NOT necessarily of the same length.

public void
setData(String value)

Store character data into this node.

public void
setNodeValue(String value)

Overrides com.sun.org.apache.xerces.internal.dom.NodeImpl.setNodeValue.

Implements org.w3c.dom.Node.setNodeValue.

Sets the content, possibly firing related events, and updating ranges (via notification to the document)

protected void
setNodeValueInternal(String value)

Convenience wrapper for calling setNodeValueInternal when we are not performing a replacement operation

protected void
setNodeValueInternal(String value, boolean replace)

This function added so that we can distinguish whether setNodeValue has been called from some other DOM functions.

public String
substringData(int
Zero-based offset of first character to retrieve.
offset
,
int
Number of characters to retrieve. If the sum of offset and count exceeds the length, all characters to end of data are returned.
count
)

Substring is more than a convenience function.

Inherited from com.sun.org.apache.xerces.internal.dom.ChildNode:
cloneNodegetNextSiblinggetParentNodegetPreviousSiblingparentNodepreviousSibling

Field Detail

databack to summary
protected String data
serialVersionUIDback to summary
pack-priv static final long serialVersionUID

Hides com.sun.org.apache.xerces.internal.dom.ChildNode.serialVersionUID.

Serialization version.

singletonNodeListback to summary
private static transient NodeList singletonNodeList

Empty child nodes.

Constructor Detail

CharacterDataImplback to summary
public CharacterDataImpl()
CharacterDataImplback to summary
protected CharacterDataImpl(CoreDocumentImpl ownerDocument, String data)

Factory constructor.

Method Detail

appendDataback to summary
public void appendData(String data)

Concatenate additional characters onto the end of the data stored in this node. Note that this, and insert(), are the paths by which a DOM could wind up accumulating more data than the language's strings can easily handle. (See above discussion.)

Exceptions
NO_MODIFICATION_ALLOWED_ERR:
if node is readonly.
deleteDataback to summary
public void deleteData(int offset, int count) throws DOMException

Remove a range of characters from the node's value. Throws a DOMException if the offset is beyond the end of the string. However, a deletion _count_ that exceeds the available data is accepted as a delete-to-end request.

Exceptions
INDEX_SIZE_ERR:
if offset is negative or greater than length, or if count is negative.
NO_MODIFICATION_ALLOWED_ERR:
if node is readonly.
getChildNodesback to summary
public NodeList getChildNodes()

Overrides com.sun.org.apache.xerces.internal.dom.NodeImpl.getChildNodes.

Implements org.w3c.dom.Node.getChildNodes.

Returns an empty node list.

getDataback to summary
public String getData()

Retrieve character data currently stored in this node.

Exceptions
DOMSTRING_SIZE_ERR:
In some implementations, the stored data may exceed the permitted length of strings. If so, getData() will throw this DOMException advising the user to instead retrieve the data in chunks via the substring() operation.
getLengthback to summary
public int getLength()

Overrides com.sun.org.apache.xerces.internal.dom.NodeImpl.getLength.

Implements org.w3c.dom.NodeList.getLength.

Report number of characters currently stored in this node's data. It may be 0, meaning that the value is an empty string.

Returns:int

Doc from com.sun.org.apache.xerces.internal.dom.NodeImpl.getLength.

int

getNodeValueback to summary
public String getNodeValue()

Overrides com.sun.org.apache.xerces.internal.dom.NodeImpl.getNodeValue.

Implements org.w3c.dom.Node.getNodeValue.

Doc from com.sun.org.apache.xerces.internal.dom.NodeImpl.getNodeValue.

Returns the node value.

insertDataback to summary
public void insertData(int offset, String data) throws DOMException

Insert additional characters into the data stored in this node, at the offset specified.

Exceptions
INDEX_SIZE_ERR:
if offset is negative or greater than length.
NO_MODIFICATION_ALLOWED_ERR:
if node is readonly.
internalDeleteDataback to summary
pack-priv void internalDeleteData(int offset, int count, boolean replace) throws DOMException

NON-DOM INTERNAL: Within DOM actions, we sometimes need to be able to control which mutation events are spawned. This version of the deleteData operation allows us to do so. It is not intended for use by application programs.

internalInsertDataback to summary
pack-priv void internalInsertData(int offset, String data, boolean replace) throws DOMException

NON-DOM INTERNAL: Within DOM actions, we sometimes need to be able to control which mutation events are spawned. This version of the insertData operation allows us to do so. It is not intended for use by application programs.

replaceDataback to summary
public void replaceData(int offset, int count, String data) throws DOMException

Replace a series of characters at the specified (zero-based) offset with a new string, NOT necessarily of the same length. Convenience method, equivalent to a delete followed by an insert. Throws a DOMException if the specified offset is beyond the end of the existing data.

Parameters
offset:int

The offset at which to begin replacing.

count:int

The number of characters to remove, interpreted as in the delete() method.

data:String

The new string to be inserted at offset in place of the removed data. Note that the entire string will be inserted -- the count parameter does not affect insertion, and the new data may be longer or shorter than the substring it replaces.

Exceptions
INDEX_SIZE_ERR:
if offset is negative or greater than length, or if count is negative.
NO_MODIFICATION_ALLOWED_ERR:
if node is readonly.
setDataback to summary
public void setData(String value) throws DOMException

Store character data into this node.

Exceptions
NO_MODIFICATION_ALLOWED_ERR:
if node is readonly.
setNodeValueback to summary
public void setNodeValue(String value)

Overrides com.sun.org.apache.xerces.internal.dom.NodeImpl.setNodeValue.

Implements org.w3c.dom.Node.setNodeValue.

Sets the content, possibly firing related events, and updating ranges (via notification to the document)

setNodeValueInternalback to summary
protected void setNodeValueInternal(String value)

Convenience wrapper for calling setNodeValueInternal when we are not performing a replacement operation

setNodeValueInternalback to summary
protected void setNodeValueInternal(String value, boolean replace)

This function added so that we can distinguish whether setNodeValue has been called from some other DOM functions. or by the client.

This is important, because we do one type of Range fix-up, from the high-level functions in CharacterData, and another type if the client simply calls setNodeValue(value).

substringDataback to summary
public String substringData(int offset, int count) throws DOMException

Substring is more than a convenience function. In some implementations of the DOM, where the stored data may exceed the length that can be returned in a single string, the only way to read it all is to extract it in chunks via this method.

Parameters
offset:int

Zero-based offset of first character to retrieve.

count:int

Number of characters to retrieve. If the sum of offset and count exceeds the length, all characters to end of data are returned.

Exceptions
INDEX_SIZE_ERR:
if offset is negative or greater than length, or if count is negative.
DOMSTRING_SIZE_ERR:
In some implementations, count may exceed the permitted length of strings. If so, substring() will throw this DOMException advising the user to instead retrieve the data in smaller chunks.