Класс StreamReaderDelegate
- Все реализуемые интерфейсы:
XMLStreamConstants, XMLStreamReader
public class StreamReaderDelegate extends Object implements XMLStreamReader
- Начиная с:
- 1.6
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
ATTRIBUTE |
Указывает, что событие является атрибутом |
static final int |
CDATA |
Указывает, что событие является секцией CDATA |
static final int |
CHARACTERS |
Указывает, что событие содержит символы |
static final int |
COMMENT |
Указывает, что событие является комментарием |
static final int |
DTD |
Указывает, что событие является DTD |
static final int |
END_DOCUMENT |
Указывает, что событие является концом документа |
static final int |
END_ELEMENT |
Указывает, что событие является концом элемента |
static final int |
ENTITY_DECLARATION |
Указывает на объявление сущности |
static final int |
ENTITY_REFERENCE |
Указывает, что событие является ссылкой на сущность |
static final int |
NAMESPACE |
Указывает, что событие является объявлением пространства имён |
static final int |
NOTATION_DECLARATION |
Указывает на нотацию |
static final int |
PROCESSING_INSTRUCTION |
Указывает, что событие является инструкцией обработки |
static final int |
SPACE |
Символы являются пробельными (см. [XML], 2.10 «Обработка пробельных символов»). |
static final int |
START_DOCUMENT |
Указывает, что событие является началом документа |
static final int |
START_ELEMENT |
Указывает, что событие является началом элемента |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StreamReaderDelegate() |
Создаёт пустой фильтр без родительского объекта. |
StreamReaderDelegate |
Создаёт фильтр с указанным родительским объектом. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Освобождает все ресурсы, связанные с этим Reader. |
int |
getAttributeCount() |
Возвращает количество атрибутов этого START_ELEMENT; этот метод допустимо вызывать только для START_ELEMENT или ATTRIBUTE. |
String |
getAttributeLocalName |
Возвращает localName атрибута с указанным индексом |
QName |
getAttributeName |
Возвращает qname атрибута с указанным индексом |
String |
getAttributeNamespace |
Возвращает пространство имён атрибута с указанным индексом |
String |
getAttributePrefix |
Возвращает префикс атрибута с указанным индексом |
String |
getAttributeType |
Возвращает тип XML атрибута с указанным индексом |
String |
getAttributeValue |
Возвращает значение атрибута с указанным индексом |
String |
getAttributeValue |
Возвращает нормализованное значение атрибута, заданного пространством имён и localName. Если namespaceURI равен null, проверка пространства имён на равенство не выполняется |
String |
getCharacterEncodingScheme() |
Возвращает кодировку символов, объявленную в объявлении XML. Если кодировка не объявлена, возвращает null |
String |
getElementText() |
Считывает содержимое элемента, содержащего только текст; если элемент не является текстовым, генерируется исключение. |
String |
getEncoding() |
Возвращает кодировку входных данных, если она известна, или null, если неизвестна. |
int |
getEventType() |
Возвращает целочисленный код, указывающий тип события, на которое указывает курсор. |
String |
getLocalName() |
Возвращает (локальное) имя текущего события. |
Location |
getLocation() |
Возвращает текущее местоположение процессора. |
QName |
getName() |
Возвращает QName для текущего события START_ELEMENT или END_ELEMENT |
NamespaceContext |
getNamespaceContext() |
Возвращает доступный только для чтения контекст пространства имён для текущей позиции. |
int |
getNamespaceCount() |
Возвращает количество пространств имён, объявленных в этом START_ELEMENT или END_ELEMENT; этот метод допустимо вызывать только для START_ELEMENT, END_ELEMENT или NAMESPACE. |
String |
getNamespacePrefix |
Возвращает префикс пространства имён, объявленного по указанному индексу. |
String |
getNamespaceURI() |
Если текущее событие — START_ELEMENT или END_ELEMENT, этот метод возвращает URI префикса или пространства имён по умолчанию. |
String |
getNamespaceURI |
Возвращает URI пространства имён, объявленного по указанному индексу. |
String |
getNamespaceURI |
Возвращает URI для указанного префикса. |
XMLStreamReader |
getParent() |
Возвращает родительский объект этого экземпляра. |
String |
getPIData() |
Возвращает секцию данных инструкции обработки |
String |
getPITarget() |
Возвращает цель инструкции обработки |
String |
getPrefix() |
Возвращает префикс текущего события или null, если у события нет префикса |
Object |
getProperty |
Получает значение функции/свойства из базовой реализации |
String |
getText() |
Возвращает текущее значение события разбора в виде строки: строковое значение события CHARACTERS, значение COMMENT, замещающее значение ENTITY_REFERENCE, строковое значение секции CDATA, строковое значение события SPACE или строковое значение внутреннего подмножества DTD. |
char[] |
getTextCharacters() |
Возвращает массив, содержащий символы этого события. |
int |
getTextCharacters |
Получает текст, связанный с событием CHARACTERS, SPACE или CDATA. |
int |
getTextLength() |
Возвращает длину последовательности символов этого текстового события в массиве текстовых символов. |
int |
getTextStart() |
Возвращает смещение в массиве текстовых символов, по которому хранится первый символ (этого текстового события). |
String |
getVersion() |
Возвращает версию XML, объявленную в объявлении XML. Если версия не объявлена, возвращает null |
boolean |
hasName() |
Возвращает логическое значение, указывающее, имеет ли текущее событие имя (является ли оно START_ELEMENT или END_ELEMENT). |
boolean |
hasNext() |
Возвращает true, если остались события разбора, и false, если событий больше нет. |
boolean |
hasText() |
Возвращает логическое значение, указывающее, содержит ли текущее событие текст. |
boolean |
isAttributeSpecified |
Возвращает логическое значение, указывающее, был ли этот атрибут создан по умолчанию |
boolean |
isCharacters() |
Возвращает true, если курсор указывает на событие символьных данных |
boolean |
isEndElement() |
Возвращает true, если курсор указывает на закрывающий тег (в противном случае — false) |
boolean |
isStandalone() |
Получает объявление standalone из объявления XML |
boolean |
isStartElement() |
Возвращает true, если курсор указывает на открывающий тег (в противном случае — false) |
boolean |
isWhiteSpace() |
Возвращает true, если курсор указывает на событие символьных данных, состоящее только из пробельных символов |
int |
next() |
Получает следующее событие разбора. Процессор может вернуть все смежные символьные данные одним фрагментом или разделить их на несколько фрагментов. |
int |
nextTag() |
Пропускает все пробельные символы (isWhiteSpace() возвращает true), COMMENT или PROCESSING_INSTRUCTION до тех пор, пока не встретится START_ELEMENT или END_ELEMENT. |
void |
require |
Проверяет, имеет ли текущее событие указанный тип и совпадают ли пространство имён и имя с пространством имён и именем текущего события. |
void |
setParent |
Задаёт родительский объект для этого экземпляра. |
boolean |
standaloneSet() |
Проверяет, было ли в документе задано значение standalone |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного периода реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного периода реального времени. |
Подробное описание конструкторов
StreamReaderDelegate
public StreamReaderDelegate()
StreamReaderDelegate
public StreamReaderDelegate(XMLStreamReader reader)
- Параметры:
-
reader— родительский элемент
Подробное описание методов
setParent
public void setParent(XMLStreamReader reader)
- Параметры:
-
reader— новый родительский элемент
getParent
public XMLStreamReader getParent()
- Возвращает:
- родительский элемент или null, если он не задан
next
public int next() throws XMLStreamException
XMLStreamReaderДля следующего XML:
<foo><!--description-->content text<![CDATA[<greeting>Hello>/greeting>]]>other content>/foo>
При вызове next() для элемента foo поведение будет следующим:
1 — комментарий (COMMENT)
2 — затем символьный раздел (CHARACTERS)
3 — затем раздел CDATA (еще одно CHARACTERS)
4 — затем следующий символьный раздел (еще одно CHARACTERS)
5 — затем END_ELEMENT
ПРИМЕЧАНИЕ: пустой элемент (например, <tag/>) будет представлен двумя отдельными событиями: START_ELEMENT, END_ELEMENT. Это обеспечивает эквивалентность разбора пустого элемента и <tag></tag>.
- Определено в:
-
nextв интерфейсеXMLStreamReader - Возвращает:
- целочисленный код, соответствующий текущему событию разбора
- Выбрасывает:
-
XMLStreamException— если при обработке базового источника XML возникает ошибка - См. также:
nextTag
public int nextTag() throws XMLStreamException
XMLStreamReaderПредварительное условие: отсутствует
Постусловие: текущее событие — START_ELEMENT или END_ELEMENT; курсор мог переместиться через любое событие с пробельными символами.
По существу, метод выполняет следующее (реализации могут оптимизировать обработку, но должны обеспечивать эквивалентный результат):
int eventType = next();
while((eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace()) // skip whitespace
|| (eventType == XMLStreamConstants.CDATA && isWhiteSpace())
// skip whitespace
|| eventType == XMLStreamConstants.SPACE
|| eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
|| eventType == XMLStreamConstants.COMMENT
) {
eventType = next();
}
if (eventType != XMLStreamConstants.START_ELEMENT && eventType != XMLStreamConstants.END_ELEMENT) {
throw new String XMLStreamException("expected start or end tag", getLocation());
}
return eventType;
- Определено в:
-
nextTagв интерфейсеXMLStreamReader - Возвращает:
- тип события прочитанного элемента (START_ELEMENT или END_ELEMENT)
- Выбрасывает:
-
XMLStreamException— если текущее событие не является пробельным символом, PROCESSING_INSTRUCTION, START_ELEMENT или END_ELEMENT
getElementText
public String getElementText() throws XMLStreamException
XMLStreamReaderПредварительное условие: текущее событие — START_ELEMENT.
Постусловие: текущее событие — соответствующий END_ELEMENT.
Метод выполняет следующие действия (реализации могут оптимизировать обработку, но должны обеспечивать эквивалентный результат):
if(getEventType() != XMLStreamConstants.START_ELEMENT) {
throw new XMLStreamException(
"parser must be on START_ELEMENT to read next text", getLocation());
}
int eventType = next();
StringBuffer content = new StringBuffer();
while(eventType != XMLStreamConstants.END_ELEMENT) {
if(eventType == XMLStreamConstants.CHARACTERS
|| eventType == XMLStreamConstants.CDATA
|| eventType == XMLStreamConstants.SPACE
|| eventType == XMLStreamConstants.ENTITY_REFERENCE) {
buf.append(getText());
} else if(eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
|| eventType == XMLStreamConstants.COMMENT) {
// skipping
} else if(eventType == XMLStreamConstants.END_DOCUMENT) {
throw new XMLStreamException(
"unexpected end of document when reading element text content", this);
} else if(eventType == XMLStreamConstants.START_ELEMENT) {
throw new XMLStreamException(
"element text content may not contain START_ELEMENT", getLocation());
} else {
throw new XMLStreamException(
"Unexpected event type "+eventType, getLocation());
}
eventType = next();
}
return buf.toString();
- Определено в:
-
getElementTextв интерфейсеXMLStreamReader - Возвращает:
- содержимое элемента, содержащего только текст
- Выбрасывает:
-
XMLStreamException— если текущее событие не является START_ELEMENT или обнаружен элемент, содержащий не только текст
require
public void require(int type, String namespaceURI, String localName) throws XMLStreamException
XMLStreamReader- Определено в:
-
requireв интерфейсеXMLStreamReader - Параметры:
-
type— тип события -
namespaceURI— URI события; может быть null -
localName— localName события; может быть null - Выбрасывает:
-
XMLStreamException— если требуемые значения не совпадают.
hasNext
public boolean hasNext() throws XMLStreamException
XMLStreamReader- Определено в:
-
hasNextв интерфейсеXMLStreamReader - Возвращает:
- true, если есть следующие события, иначе false
- Выбрасывает:
-
XMLStreamException— если при определении следующего состояния возникает критическая ошибка
close
public void close() throws XMLStreamException
XMLStreamReader- Определено в:
-
closeв интерфейсеXMLStreamReader - Выбрасывает:
-
XMLStreamException— если при освобождении связанных ресурсов возникают ошибки
getNamespaceURI
public String getNamespaceURI(String prefix)
XMLStreamReaderПРИМЕЧАНИЕ: префикс 'xml' связан с пространством имен "http://www.w3.org/XML/1998/namespace" согласно спецификации Пространства имен в XML.
ПРИМЕЧАНИЕ: префикс 'xmlns' должен разрешаться в следующее пространство имен: http://www.w3.org/2000/xmlns/
- Определено в:
-
getNamespaceURIв интерфейсеXMLStreamReader - Параметры:
-
prefix— префикс для поиска; не может быть null - Возвращает:
- URI, связанный с указанным префиксом, или null, если он не связан
getNamespaceContext
public NamespaceContext getNamespaceContext()
XMLStreamReader- Определено в:
-
getNamespaceContextв интерфейсеXMLStreamReader - Возвращает:
- контекст пространств имен
isStartElement
public boolean isStartElement()
XMLStreamReader- Определено в:
-
isStartElementв интерфейсеXMLStreamReader - Возвращает:
- true, если курсор указывает на начальный тег, иначе false
isEndElement
public boolean isEndElement()
XMLStreamReader- Определено в:
-
isEndElementв интерфейсеXMLStreamReader - Возвращает:
- true, если курсор указывает на конечный тег, иначе false
isCharacters
public boolean isCharacters()
XMLStreamReader- Определено в:
-
isCharactersв интерфейсеXMLStreamReader - Возвращает:
- true, если курсор указывает на символьные данные, иначе false
isWhiteSpace
public boolean isWhiteSpace()
XMLStreamReader- Определено в:
-
isWhiteSpaceв интерфейсеXMLStreamReader - Возвращает:
- true, если курсор указывает только на пробельные символы, иначе false
getAttributeValue
public String getAttributeValue(String namespaceUri, String localName)
XMLStreamReader- Определено в:
-
getAttributeValueв интерфейсеXMLStreamReader - Параметры:
-
namespaceUri— пространство имен атрибута -
localName— локальное имя атрибута; не может быть null - Возвращает:
- значение атрибута или null, если атрибут не найден
getAttributeCount
public int getAttributeCount()
XMLStreamReader- Определено в:
-
getAttributeCountв интерфейсеXMLStreamReader - Возвращает:
- количество атрибутов
getAttributeName
public QName getAttributeName(int index)
XMLStreamReader- Определено в:
-
getAttributeNameв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- QName атрибута
getAttributePrefix
public String getAttributePrefix(int index)
XMLStreamReader- Определено в:
-
getAttributePrefixв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- префикс атрибута
getAttributeNamespace
public String getAttributeNamespace(int index)
XMLStreamReader- Определено в:
-
getAttributeNamespaceв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- URI пространства имен (может быть null)
getAttributeLocalName
public String getAttributeLocalName(int index)
XMLStreamReader- Определено в:
-
getAttributeLocalNameв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- localName атрибута
getAttributeType
public String getAttributeType(int index)
XMLStreamReader- Определено в:
-
getAttributeTypeв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- тип XML атрибута
getAttributeValue
public String getAttributeValue(int index)
XMLStreamReader- Определено в:
-
getAttributeValueв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- значение атрибута
isAttributeSpecified
public boolean isAttributeSpecified(int index)
XMLStreamReader- Определено в:
-
isAttributeSpecifiedв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- true, если это атрибут, заданный по умолчанию
getNamespaceCount
public int getNamespaceCount()
XMLStreamReader- Определено в:
-
getNamespaceCountв интерфейсеXMLStreamReader - Возвращает:
- количество объявлений пространств имен для данного элемента
getNamespacePrefix
public String getNamespacePrefix(int index)
XMLStreamReader- Определено в:
-
getNamespacePrefixв интерфейсеXMLStreamReader - Параметры:
-
index— позиция объявления пространства имен - Возвращает:
- префикс пространства имен
getNamespaceURI
public String getNamespaceURI(int index)
XMLStreamReader- Определено в:
-
getNamespaceURIв интерфейсеXMLStreamReader - Параметры:
-
index— позиция объявления пространства имен - Возвращает:
- URI пространства имен
getEventType
public int getEventType()
XMLStreamReaderXMLStreamConstants.START_DOCUMENT.- Определено в:
-
getEventTypeв интерфейсеXMLStreamReader - Возвращает:
- тип текущего события
getText
public String getText()
XMLStreamReader- Определено в:
-
getTextв интерфейсеXMLStreamReader - Возвращает:
- текущий текст или null
getTextCharacters
public int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException
XMLStreamReaderint length = 1024;
char[] myBuffer = new char[ length ];
for ( int sourceStart = 0 ; ; sourceStart += length )
{
int nCopied = stream.getTextCharacters( sourceStart, myBuffer, 0, length );
if (nCopied < length)
break;
}
Если в базовом источнике обнаружены ошибки XML, может быть выброшено XMLStreamException. Аргумент "targetStart" должен быть не меньше 0 и меньше длины "target"; значение Length должно быть больше 0, а "targetStart + length" должно быть меньше или равно длине "target".- Определено в:
-
getTextCharactersв интерфейсеXMLStreamReader - Параметры:
-
sourceStart— индекс первого символа в исходном массиве для копирования -
target— целевой массив -
targetStart— начальное смещение в целевом массиве -
length— количество символов для копирования - Возвращает:
- фактическое количество скопированных символов
- Выбрасывает:
-
XMLStreamException— если базовый источник XML не является корректно сформированным
getTextCharacters
public char[] getTextCharacters()
XMLStreamReader- Определено в:
-
getTextCharactersв интерфейсеXMLStreamReader - Возвращает:
- текущий текст или пустой массив
getTextStart
public int getTextStart()
XMLStreamReader- Определено в:
-
getTextStartв интерфейсеXMLStreamReader - Возвращает:
- начальная позиция текста в массиве символов
getTextLength
public int getTextLength()
XMLStreamReader- Определено в:
-
getTextLengthв интерфейсеXMLStreamReader - Возвращает:
- длина текста
getEncoding
public String getEncoding()
XMLStreamReader- Определено в:
-
getEncodingв интерфейсеXMLStreamReader - Возвращает:
- кодировка этого экземпляра или null
hasText
public boolean hasText()
XMLStreamReader- Определено в:
-
hasTextв интерфейсеXMLStreamReader - Возвращает:
- true, если событие содержит текст, иначе false
getLocation
public Location getLocation()
XMLStreamReader- Определено в:
-
getLocationв интерфейсеXMLStreamReader - Возвращает:
- расположение курсора
getName
public QName getName()
XMLStreamReader- Определено в:
-
getNameв интерфейсеXMLStreamReader - Возвращает:
- QName для текущего события START_ELEMENT или END_ELEMENT
getLocalName
public String getLocalName()
XMLStreamReader- Определено в:
-
getLocalNameв интерфейсеXMLStreamReader - Возвращает:
- localName
hasName
public boolean hasName()
XMLStreamReader- Определено в:
-
hasNameв интерфейсеXMLStreamReader - Возвращает:
- true, если событие имеет имя, иначе false
getNamespaceURI
public String getNamespaceURI()
XMLStreamReader- Определено в:
-
getNamespaceURIв интерфейсеXMLStreamReader - Возвращает:
- URI, связанный с префиксом этого элемента, пространство имен по умолчанию или null
getPrefix
public String getPrefix()
XMLStreamReader- Определено в:
-
getPrefixв интерфейсеXMLStreamReader - Возвращает:
- префикс или null
getVersion
public String getVersion()
XMLStreamReader- Определено в:
-
getVersionв интерфейсеXMLStreamReader - Возвращает:
- версия XML или null
isStandalone
public boolean isStandalone()
XMLStreamReader- Указано в:
-
isStandaloneв интерфейсеXMLStreamReader - Возвращает:
- true, если это standalone, иначе false
standaloneSet
public boolean standaloneSet()
XMLStreamReader- Указано в:
-
standaloneSetв интерфейсеXMLStreamReader - Возвращает:
- true, если значение standalone было задано в документе, иначе false
getCharacterEncodingScheme
public String getCharacterEncodingScheme()
XMLStreamReader- Указано в:
-
getCharacterEncodingSchemeв интерфейсеXMLStreamReader - Возвращает:
- кодировку, объявленную в документе, или null
getPITarget
public String getPITarget()
XMLStreamReader- Указано в:
-
getPITargetв интерфейсеXMLStreamReader - Возвращает:
- цель или null
getPIData
public String getPIData()
XMLStreamReader- Указано в:
-
getPIDataв интерфейсеXMLStreamReader - Возвращает:
- данные или null
getProperty
public Object getProperty(String name)
XMLStreamReader- Указано в:
-
getPropertyв интерфейсеXMLStreamReader - Параметры:
-
name- Имя свойства; не может быть null - Возвращает:
- Значение свойства
© 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.