Spec-Zone.ru › OpenJDK 27

Интерфейс CharacterData

Все суперинтерфейсы:
Node
Все известные подинтерфейсы:
CDATASection, Comment, Text
public interface CharacterData extends Node
Интерфейс CharacterData расширяет Node набором атрибутов и методов для доступа к символьным данным в DOM. Для ясности этот набор определён здесь, а не в каждом объекте, использующем эти атрибуты и методы. Объекты DOM не соответствуют напрямую CharacterData, однако Text и другие наследуют от него этот интерфейс. Все offsets в этом интерфейсе отсчитываются от 0.

Как объясняется в интерфейсе DOMString, текстовые строки в DOM представлены в кодировке UTF-16, то есть как последовательность 16-разрядных единиц. Далее термин «16-разрядные единицы» используется при необходимости указать, что индексация в CharacterData выполняется в 16-разрядных единицах.

См. также спецификацию объектной модели документа (DOM) уровня 3, ядро.

Начиная с версии:
1.4, DOM Level 2

Краткое описание полей

Поля, объявленные в интерфейсе Node

ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
Модификатор и тип Поле Описание
static final short ATTRIBUTE_NODE
Узел является Attr.
static final short CDATA_SECTION_NODE
Узел является CDATASection.
static final short COMMENT_NODE
Узел является Comment.
static final short DOCUMENT_FRAGMENT_NODE
Узел является DocumentFragment.
static final short DOCUMENT_NODE
Узел является Document.
static final short DOCUMENT_POSITION_CONTAINED_BY
Узел содержится в опорном узле.
static final short DOCUMENT_POSITION_CONTAINS
Узел содержит опорный узел.
static final short DOCUMENT_POSITION_DISCONNECTED
Узлы не связаны.
static final short DOCUMENT_POSITION_FOLLOWING
Узел следует за опорным узлом.
static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
Определение того, какой узел предшествует другому или следует за ним, зависит от реализации.
static final short DOCUMENT_POSITION_PRECEDING
Второй узел предшествует опорному узлу.
static final short DOCUMENT_TYPE_NODE
Узел является DocumentType.
static final short ELEMENT_NODE
Узел является Element.
static final short ENTITY_NODE
Узел является Entity.
static final short ENTITY_REFERENCE_NODE
Узел является EntityReference.
static final short NOTATION_NODE
Узел является Notation.
static final short PROCESSING_INSTRUCTION_NODE
Узел является ProcessingInstruction.
static final short TEXT_NODE
Узел является узлом Text.

Краткое описание методов

Модификатор и тип Метод Описание
void appendData(String arg)
Добавляет строку в конец символьных данных узла.
void deleteData(int offset, int count)
Удаляет из узла диапазон 16-разрядных единиц.
String getData()
Символьные данные узла, реализующего этот интерфейс.
int getLength()
Количество 16-разрядных единиц, доступных через data и приведённый ниже метод substringData.
void insertData(int offset, String arg)
Вставляет строку в указанную позицию, заданную смещением в 16-разрядных единицах.
void replaceData(int offset, int count, String arg)
Заменяет символы, начиная с указанного смещения в 16-разрядных единицах, заданной строкой.
void setData(String data)
Символьные данные узла, реализующего этот интерфейс.
String substringData(int offset, int count)
Извлекает диапазон данных из узла.

Методы, объявленные в интерфейсе Node

appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
Модификатор и тип Метод Описание
Node appendChild(Node newChild)
Добавляет узел newChild в конец списка дочерних узлов этого узла.
Node cloneNode(boolean deep)
Возвращает дубликат этого узла, то есть служит универсальным конструктором копирования для узлов.
short compareDocumentPosition(Node other)
Сравнивает опорный узел, то есть узел, для которого вызывается этот метод, с другим узлом, переданным в качестве параметра, относительно их положения в документе и в соответствии с порядком документа.
NamedNodeMap getAttributes()
NamedNodeMap, содержащий атрибуты этого узла (если он является Element), или null в противном случае.
String getBaseURI()
Абсолютный базовый URI этого узла или null, если реализации не удалось получить абсолютный URI.
NodeList getChildNodes()
NodeList, содержащий все дочерние узлы этого узла.
Object getFeature(String feature, String version)
Этот метод возвращает специализированный объект, реализующий специализированные API указанной функции и версии, как указано в .
Node getFirstChild()
Первый дочерний узел этого узла.
Node getLastChild()
Последний дочерний узел этого узла.
String getLocalName()
Возвращает локальную часть полного имени этого узла.
String getNamespaceURI()
URI пространства имён этого узла или null, если он не задан (см. ).
Node getNextSibling()
Узел, непосредственно следующий за этим узлом.
String getNodeName()
Имя этого узла в зависимости от его типа; см. таблицу выше.
short getNodeType()
Код, обозначающий тип базового объекта, как определено выше.
String getNodeValue()
Значение этого узла в зависимости от его типа; см. таблицу выше.
Document getOwnerDocument()
Объект Document, связанный с этим узлом.
Node getParentNode()
Родительский узел этого узла.
String getPrefix()
Префикс пространства имён этого узла или null, если он не задан.
Node getPreviousSibling()
Узел, непосредственно предшествующий этому узлу.
String getTextContent()
Этот атрибут возвращает текстовое содержимое этого узла и его потомков.
Object getUserData(String key)
Извлекает объект, связанный с ключом в этом узле.
boolean hasAttributes()
Возвращает, имеются ли у этого узла (если он является элементом) атрибуты.
boolean hasChildNodes()
Возвращает, имеются ли у этого узла дочерние узлы.
Node insertBefore(Node newChild, Node refChild)
Вставляет узел newChild перед существующим дочерним узлом refChild.
boolean isDefaultNamespace(String namespaceURI)
Этот метод проверяет, является ли указанный namespaceURI пространством имён по умолчанию.
boolean isEqualNode(Node arg)
Проверяет, равны ли два узла.
boolean isSameNode(Node other)
Возвращает, является ли этот узел тем же узлом, что и указанный.
boolean isSupported(String feature, String version)
Проверяет, реализует ли реализация DOM определённую функцию и поддерживается ли эта функция данным узлом, как указано в .
String lookupNamespaceURI(String prefix)
Ищет URI пространства имён, связанный с указанным префиксом, начиная с этого узла.
String lookupPrefix(String namespaceURI)
Ищет префикс, связанный с указанным URI пространства имён, начиная с этого узла.
void normalize()
Приводит все узлы Text на всей глубине поддерева, расположенного под этим Node, включая узлы атрибутов, к «нормальной» форме, в которой узлы Text разделяются только структурными элементами (например, элементами, комментариями, инструкциями обработки, секциями CDATA и ссылками на сущности), то есть отсутствуют соседние узлы Text и пустые узлы Text.
Node removeChild(Node oldChild)
Удаляет дочерний узел, указанный в oldChild, из списка дочерних узлов и возвращает его.
Node replaceChild(Node newChild, Node oldChild)
Заменяет дочерний узел oldChild на newChild в списке дочерних узлов и возвращает узел oldChild.
void setNodeValue(String nodeValue)
Значение этого узла в зависимости от его типа; см. таблицу выше.
void setPrefix(String prefix)
Префикс пространства имён этого узла или null, если он не задан.
void setTextContent(String textContent)
Этот атрибут возвращает текстовое содержимое этого узла и его потомков.
Object setUserData(String key, Object data, UserDataHandler handler)
Связывает объект с ключом в этом узле.

Подробное описание методов

getData

String getData() throws DOMException
Символьные данные узла, реализующего этот интерфейс. Реализация DOM не должна произвольно ограничивать объём данных, которые можно хранить в узле CharacterData. Однако ограничения реализации могут не позволить поместить все данные узла в одну переменную DOMString. В таких случаях пользователь может вызвать substringData, чтобы получить данные частями подходящего размера.
Выбрасывает:
DOMException - DOMSTRING_SIZE_ERR: возникает, если возвращаемое количество символов превышает размер переменной DOMString на платформе реализации.

setData

void setData(String data) throws DOMException
Символьные данные узла, реализующего этот интерфейс. Реализация DOM не должна произвольно ограничивать объём данных, которые можно хранить в узле CharacterData. Однако ограничения реализации могут не позволить поместить все данные узла в одну переменную DOMString. В таких случаях пользователь может вызвать substringData, чтобы получить данные частями подходящего размера.
Выбрасывает:
DOMException - NO_MODIFICATION_ALLOWED_ERR: возникает, если узел доступен только для чтения.

getLength

int getLength()
Количество 16-разрядных единиц, доступных через data и приведённый ниже метод substringData. Это значение может быть равно нулю, то есть узлы CharacterData могут быть пустыми.

substringData

String substringData(int offset, int count) throws DOMException
Извлекает диапазон данных из узла.
Параметры:
offset - Начальное смещение извлекаемой подстроки.
count - Количество извлекаемых 16-разрядных единиц.
Возвращает:
Указанную подстроку. Если сумма offset и count превышает length, возвращаются все 16-разрядные единицы до конца данных.
Выбрасывает:
DOMException - INDEX_SIZE_ERR: возникает, если указанное offset отрицательно или превышает количество 16-разрядных единиц в data либо если указанное count отрицательно.
DOMSTRING_SIZE_ERR: возникает, если указанный диапазон текста не помещается в DOMString.

appendData

void appendData(String arg) throws DOMException
Добавляет строку в конец символьных данных узла. В случае успеха data предоставляет доступ к объединённой строке, состоящей из data и указанного значения DOMString.
Параметры:
arg - Значение DOMString, которое нужно добавить.
Выбрасывает:
DOMException - NO_MODIFICATION_ALLOWED_ERR: возникает, если этот узел доступен только для чтения.

insertData

void insertData(int offset, String arg) throws DOMException
Вставляет строку в указанную позицию, заданную смещением в 16-разрядных единицах.
Параметры:
offset - Смещение в символах, в котором следует выполнить вставку.
arg - Значение DOMString, которое нужно вставить.
Выбрасывает:
DOMException - INDEX_SIZE_ERR: возникает, если указанное offset отрицательно или превышает количество 16-разрядных единиц в data.
NO_MODIFICATION_ALLOWED_ERR: возникает, если этот узел доступен только для чтения.

deleteData

void deleteData(int offset, int count) throws DOMException
Удаляет из узла диапазон 16-разрядных единиц. В случае успеха data и length отражают это изменение.
Параметры:
offset - Смещение, с которого начинается удаление.
count - Количество 16-разрядных единиц, которые нужно удалить. Если сумма offset и count превышает length, удаляются все 16-разрядные единицы от offset до конца данных.
Выбрасывает:
DOMException - INDEX_SIZE_ERR: возникает, если указанное offset отрицательно или превышает количество 16-разрядных единиц в data либо если указанное count отрицательно.
NO_MODIFICATION_ALLOWED_ERR: возникает, если этот узел доступен только для чтения.

replaceData

void replaceData(int offset, int count, String arg) throws DOMException
Заменяет символы, начиная с указанного смещения в 16-разрядных единицах, заданной строкой.
Параметры:
offset - Смещение, с которого начинается замена.
count - Количество 16-разрядных единиц, которые нужно заменить. Если сумма offset и count превышает length, заменяются все 16-разрядные единицы до конца данных (то есть выполняется то же действие, что и при вызове метода remove с тем же диапазоном, за которым следует вызов метода append).
arg - Значение DOMString, которым нужно заменить этот диапазон.
Выбрасывает:
DOMException - INDEX_SIZE_ERR: возникает, если указанное offset отрицательно или превышает количество 16-разрядных единиц в data либо если указанное count отрицательно.
NO_MODIFICATION_ALLOWED_ERR: возникает, если этот узел доступен только для чтения.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API