Spec-Zone.ru › OpenJDK 27

Класс DefaultHandler

java.lang.Object
org.xml.sax.helpers.DefaultHandler
Все реализуемые интерфейсы:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler
Прямые известные подклассы:
DefaultHandler2
public class DefaultHandler extends Object implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler
Базовый класс по умолчанию для обработчиков событий SAX2.

Этот класс доступен в качестве удобного базового класса для приложений SAX2: он предоставляет реализации по умолчанию для всех обратных вызовов четырех основных классов обработчиков SAX2:

  • EntityResolver
  • DTDHandler
  • ContentHandler
  • ErrorHandler

Разработчики приложений могут расширить этот класс, если им нужно реализовать только часть интерфейса; разработчики анализаторов могут создать экземпляр этого класса, чтобы предоставить обработчики по умолчанию, когда приложение не предоставило собственные.

Этот класс заменяет устаревший класс SAX1 HandlerBase.

Начиная с:
1.4, SAX 2.0
См. также:
  • EntityResolver
  • DTDHandler
  • ContentHandler
  • ErrorHandler

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

Конструктор Описание
DefaultHandler()
Создает экземпляр DefaultHandler.

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

Модификатор и тип Метод Описание
void characters(char[] ch, int start, int length)
Получает уведомление о символьных данных внутри элемента.
void endDocument()
Получает уведомление об окончании документа.
void endElement(String uri, String localName, String qName)
Получает уведомление об окончании элемента.
void endPrefixMapping(String prefix)
Получает уведомление об окончании сопоставления пространства имен.
void error(SAXParseException e)
Получает уведомление об исправимой ошибке анализатора.
void fatalError(SAXParseException e)
Сообщает о фатальной ошибке при разборе XML.
void ignorableWhitespace(char[] ch, int start, int length)
Получает уведомление о незначащих пробельных символах в содержимом элемента.
void notationDecl(String name, String publicId, String systemId)
Получает уведомление об объявлении нотации.
void processingInstruction(String target, String data)
Получает уведомление об инструкции обработки.
InputSource resolveEntity(String publicId, String systemId)
Разрешает внешнюю сущность.
void setDocumentLocator(Locator locator)
Получает объект Locator для событий документа.
void skippedEntity(String name)
Получает уведомление о пропущенной сущности.
void startDocument()
Получает уведомление о начале документа.
void startElement(String uri, String localName, String qName, Attributes attributes)
Получает уведомление о начале элемента.
void startPrefixMapping(String prefix, String uri)
Получает уведомление о начале сопоставления пространства имен.
void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Получает уведомление об объявлении неразобранной сущности.
void warning(SAXParseException e)
Получает уведомление о предупреждении анализатора.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

declaration
Модификатор и тип Метод Описание
default void declaration(String version, String encoding, String standalone)
Получает уведомление об объявлении XML.

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

DefaultHandler

public DefaultHandler()
Создает экземпляр DefaultHandler.

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

resolveEntity

public InputSource resolveEntity(String publicId, String systemId) throws IOException, SAXException
Разрешает внешнюю сущность.

Всегда возвращает null, чтобы анализатор использовал системный идентификатор, указанный в XML-документе. Этот метод реализует поведение SAX по умолчанию: разработчики приложений могут переопределить его в подклассе для выполнения специальных преобразований, таких как поиск в каталоге или перенаправление URI.

Определено в:
resolveEntity в интерфейсе EntityResolver
Параметры:
publicId - Публичный идентификатор или null, если он недоступен.
systemId - Системный идентификатор, указанный в XML-документе.
Возвращает:
Новый источник ввода или null, чтобы использовать поведение по умолчанию.
Вызывает:
IOException - Если при настройке нового источника ввода произошла ошибка.
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • EntityResolver.resolveEntity(String, String)

notationDecl

public void notationDecl(String name, String publicId, String systemId) throws SAXException
Получает уведомление об объявлении нотации.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, если им нужно отслеживать нотации, объявленные в документе.

Определено в:
notationDecl в интерфейсе DTDHandler
Параметры:
name - Имя нотации.
publicId - Публичный идентификатор нотации или null, если он недоступен.
systemId - Системный идентификатор нотации.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • DTDHandler.notationDecl(String, String, String)

unparsedEntityDecl

public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
Получает уведомление об объявлении неразобранной сущности.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы отслеживать неразобранные сущности, объявленные в документе.

Определено в:
unparsedEntityDecl в интерфейсе DTDHandler
Параметры:
name - Имя сущности.
publicId - Публичный идентификатор сущности или null, если он недоступен.
systemId - Системный идентификатор сущности.
notationName - Имя связанной нотации.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • DTDHandler.unparsedEntityDecl(String, String, String, String)

setDocumentLocator

public void setDocumentLocator(Locator locator)
Получает объект Locator для событий документа.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, если им нужно сохранить локатор для использования с другими событиями документа.

Определено в:
setDocumentLocator в интерфейсе ContentHandler
Параметры:
locator - Локатор для всех событий документа SAX.
См. также:
  • ContentHandler.setDocumentLocator(Locator)
  • Locator

startDocument

public void startDocument() throws SAXException
Получает уведомление о начале документа.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия в начале документа (например, выделить память для корневого узла дерева или создать выходной файл).

Определено в:
startDocument в интерфейсе ContentHandler
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.startDocument()

endDocument

public void endDocument() throws SAXException
Получает уведомление об окончании документа.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия в конце документа (например, завершить построение дерева или закрыть выходной файл).

Определено в:
endDocument в интерфейсе ContentHandler
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.endDocument()

startPrefixMapping

public void startPrefixMapping(String prefix, String uri) throws SAXException
Получает уведомление о начале сопоставления пространства имен.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия в начале области действия каждого префикса пространства имен (например, сохранять сопоставление префиксов).

Определено в:
startPrefixMapping в интерфейсе ContentHandler
Параметры:
prefix - Объявляемый префикс пространства имен.
uri - URI пространства имен, сопоставленный с префиксом.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.startPrefixMapping(String, String)

endPrefixMapping

public void endPrefixMapping(String prefix) throws SAXException
Получает уведомление об окончании сопоставления пространства имен.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия в конце сопоставления каждого префикса.

Определено в:
endPrefixMapping в интерфейсе ContentHandler
Параметры:
prefix - Объявляемый префикс пространства имен.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.endPrefixMapping(String)

startElement

public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
Получает уведомление о начале элемента.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия в начале каждого элемента (например, выделить память для нового узла дерева или записать выходные данные в файл).

Определено в:
startElement в интерфейсе ContentHandler
Параметры:
uri - URI пространства имен или пустая строка, если у элемента нет URI пространства имен либо обработка пространств имен не выполняется.
localName - Локальное имя (без префикса) или пустая строка, если обработка пространств имен не выполняется.
qName - Полное имя (с префиксом) или пустая строка, если полные имена недоступны.
attributes - Атрибуты элемента. Если атрибутов нет, это должен быть пустой объект Attributes.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.startElement(String, String, String, Attributes)

endElement

public void endElement(String uri, String localName, String qName) throws SAXException
Получает уведомление об окончании элемента.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия в конце каждого элемента (например, завершить построение узла дерева или записать выходные данные в файл).

Определено в:
endElement в интерфейсе ContentHandler
Параметры:
uri - URI пространства имен или пустая строка, если у элемента нет URI пространства имен либо обработка пространств имен не выполняется.
localName - Локальное имя (без префикса) или пустая строка, если обработка пространств имен не выполняется.
qName - Полное имя (с префиксом) или пустая строка, если полные имена недоступны.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.endElement(String, String, String)

characters

public void characters(char[] ch, int start, int length) throws SAXException
Получает уведомление о символьных данных внутри элемента.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод, чтобы выполнять определенные действия для каждого фрагмента символьных данных (например, добавлять данные в узел или буфер либо выводить их в файл).

Определено в:
characters в интерфейсе ContentHandler
Параметры:
ch - Символы.
start - Начальная позиция в массиве символов.
length - Количество символов, используемых из массива.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.characters(char[], int, int)

ignorableWhitespace

public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
Получает уведомление о незначащих пробельных символах в содержимом элемента.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод, чтобы выполнять определенные действия для каждого фрагмента незначащих пробельных символов (например, добавлять данные в узел или буфер либо выводить их в файл).

Определено в:
ignorableWhitespace в интерфейсе ContentHandler
Параметры:
ch - Пробельные символы.
start - Начальная позиция в массиве символов.
length - Количество символов, используемых из массива.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.ignorableWhitespace(char[], int, int)

processingInstruction

public void processingInstruction(String target, String data) throws SAXException
Получает уведомление об инструкции обработки.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия для каждой инструкции обработки, например устанавливать переменные состояния или вызывать другие методы.

Определено в:
processingInstruction в интерфейсе ContentHandler
Параметры:
target - Цель инструкции обработки.
data - Данные инструкции обработки или null, если они не предоставлены.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.processingInstruction(String, String)

skippedEntity

public void skippedEntity(String name) throws SAXException
Получает уведомление о пропущенной сущности.

По умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия для каждой инструкции обработки, например устанавливать переменные состояния или вызывать другие методы.

Определено в:
skippedEntity в интерфейсе ContentHandler
Параметры:
name - Имя пропущенной сущности.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ContentHandler.processingInstruction(String, String)

warning

public void warning(SAXParseException e) throws SAXException
Получает уведомление о предупреждении анализатора.

Реализация по умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия для каждого предупреждения, например записывать сообщение в файл журнала или выводить его в консоль.

Определено в:
warning в интерфейсе ErrorHandler
Параметры:
e - Информация о предупреждении, представленная в виде исключения.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ErrorHandler.warning(SAXParseException)
  • SAXParseException

error

public void error(SAXParseException e) throws SAXException
Получает уведомление об исправимой ошибке анализатора.

Реализация по умолчанию ничего не делает. Разработчики приложений могут переопределить этот метод в подклассе, чтобы выполнять определенные действия для каждой ошибки, например записывать сообщение в файл журнала или выводить его в консоль.

Определено в:
error в интерфейсе ErrorHandler
Параметры:
e - Информация об ошибке, представленная в виде исключения.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ErrorHandler.warning(SAXParseException)
  • SAXParseException

fatalError

public void fatalError(SAXParseException e) throws SAXException
Сообщает о фатальной ошибке при разборе XML.

Реализация по умолчанию выбрасывает SAXParseException. Разработчики приложений могут переопределить этот метод в подклассе, если им нужно выполнять определенные действия при каждой фатальной ошибке (например, собирать все ошибки в один отчет): в любом случае при вызове этого метода приложение должно прекратить всю обычную обработку, поскольку документ больше не является надежным, а анализатор может прекратить сообщать о событиях разбора.

Определено в:
fatalError в интерфейсе ErrorHandler
Параметры:
e - Информация об ошибке, представленная в виде исключения.
Вызывает:
SAXException - Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • ErrorHandler.fatalError(SAXParseException)
  • SAXParseException

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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