Класс ContentHandler

public abstract class ContentHandler
extends Object

Абстрактный класс ContentHandler является суперклассом для всех классов, которые считывают объект из Object по URLConnection.

Приложение обычно не вызывает метод getContent в этом классе напрямую. Вместо этого приложение вызывает метод getContent в классе URL или в URLConnection. Фабрика обработчика контента приложения (экземпляр класса, реализующего интерфейс ContentHandlerFactory созданный вызовом setContentHandlerFactory) вызывается с String, содержащим MIME-тип получаемого объекта по сокету. Фабрика возвращает экземпляр подкласса ContentHandler, и его метод getContent вызывается для создания объекта.

Если обработчик контента не был найден, URLConnection будет искать обработчик контента в настраиваемом набором мест. Пользователи могут определить набор префиксов классов, разделённых вертикальной чертой, для поиска, определив свойство URLConnection.contentPathProp. Имя класса должно быть в формате:

{префикс-пакета}.{главная_часть}.{второстепенная_часть}

где {главная_часть}.{второстепенная_часть} формируется путём взятия строки типа контента, замены всех символов косой черты на period ('.') и всех других не буквенно-цифровых символов на знак нижнего подчёркивания '_'. Буквенно-цифровые символы - это 26 прописных ASCII букв 'A' по 'Z', 26 строчных ASCII букв 'a' по 'z', и 10 ASCII цифр '0' по '9'.

Пример: YoyoDyne.experimental.text.plain

Если пользовательский обработчик контента не найден, система пытается загрузить обработчик типа контента из одного из встроенных обработчиков, если он существует.

Если загрузка класса обработчика контента будет выполнена загрузчиком классов, который находится вне цепочки делегирования вызывающей стороны, JVM потребует разрешения RuntimePermission "getClassLoader".

Since:
1.0
See Also:
getContent(java.net.URLConnection), ContentHandlerFactory, URL.getContent(), URLConnection, URLConnection.getContent(), URLConnection.setContentHandlerFactory(java.net.ContentHandlerFactory)

Конструкторы

Конструктор Описание
ContentHandler()

Методы

Модификатор и тип Метод Описание
abstract Object getContent​(URLConnection urlc)

Этот метод считывает поток соединения URL и создаёт объект из него, начиная с начала представления объекта.

Object getContent​(URLConnection urlc, Class[] classes)

Этот метод считывает поток соединения URL и создаёт объект, соответствующий одному из указанных типов, начиная с начала представления объекта.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

ContentHandler

public ContentHandler()

Методы

getContent

public abstract Object getContent(URLConnection urlc)
                           throws IOException

Этот метод считывает поток соединения URL и создаёт объект из него, начиная с начала представления объекта.

Parameters:
urlc - соединение URL.
Returns:
объект, считанный обработчиком ContentHandler.
Throws:
IOException - если при чтении объекта произошла ошибка ввода/вывода.

getContent

public Object getContent(URLConnection urlc,
                         Class[] classes)
                  throws IOException

Этот метод считывает поток соединения URL и создаёт объект, соответствующий одному из указанных типов, начиная с начала представления объекта. Реализация по умолчанию этого метода должна вызвать getContent(URLConnection) и проверить возвращаемый тип на соответствие предложенным типам.

Parameters:
urlc - соединение URL.
classes - массив запрашиваемых типов
Returns:
объект, считанный обработчиком ContentHandler, который соответствует первому из предложенных типов, или null, если ни один из запрошенных типов не поддерживается.
Throws:
IOException - если при чтении объекта произошла ошибка ввода/вывода.
Since:
1.3

© 1993, 2020, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/ContentHandler.html

Spec-Zone .ru
спецификации, руководства, описания, API