Spec-Zone.ru › OpenJDK 27

Класс URLStreamHandler

java.lang.Object
java.net.URLStreamHandler
public abstract class URLStreamHandler extends Object
Абстрактный класс URLStreamHandler является общим суперклассом для всех обработчиков потоковых протоколов. Обработчик потокового протокола знает, как установить соединение для определенного типа протокола, например http или https.

В большинстве случаев экземпляр подкласса URLStreamHandler не создается непосредственно приложением. Вместо этого при первом обнаружении имени протокола во время создания URL автоматически загружается соответствующий обработчик потокового протокола.

Начиная с:
1.0
См. также:
  • URL(java.lang.String, java.lang.String, int, java.lang.String)

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

Конструктор Описание
URLStreamHandler()
Конструктор для вызова из подклассов.

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

Модификатор и тип Метод Описание
protected boolean equals(URL u1, URL u2)
Предоставляет реализацию вычисления равенства по умолчанию.
protected int getDefaultPort()
Возвращает порт по умолчанию для URL, разобранного этим обработчиком.
protected InetAddress getHostAddress(URL u)
Получает IP-адрес нашего хоста.
protected int hashCode(URL u)
Предоставляет реализацию вычисления хеш-кода по умолчанию.
protected boolean hostsEqual(URL u1, URL u2)
Сравнивает компоненты хоста двух URL.
protected abstract URLConnection openConnection(URL u)
Открывает соединение с объектом, на который ссылается аргумент URL.
protected URLConnection openConnection(URL u, Proxy p)
То же, что и openConnection(URL), за исключением того, что соединение устанавливается через указанный прокси-сервер; обработчики протоколов, не поддерживающие работу через прокси-сервер, игнорируют параметр прокси и устанавливают обычное соединение.
protected void parseURL(URL u, String spec, int start, int limit)
Разбирает строковое представление URL в объект URL.
protected boolean sameFile(URL u1, URL u2)
Сравнивает два URL, чтобы определить, ссылаются ли они на один и тот же файл, то есть имеют ли одинаковые протокол, хост, порт и путь.
protected void setURL(URL u, String protocol, String host, int port, String file, String ref)
Устарел.
Используйте setURL(URL, String, String, int, String, String, String, String);
protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)
Устанавливает поля аргумента URL в указанные значения.
protected String toExternalForm(URL u)
Преобразует URL определенного протокола в String.

Методы, объявленные в классе 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()
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

URLStreamHandler

public URLStreamHandler()
Конструктор для вызова из подклассов.

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

openConnection

protected abstract URLConnection openConnection(URL u) throws IOException
Открывает соединение с объектом, на который ссылается аргумент URL. Этот метод следует переопределить в подклассе.

Если для протокола обработчика (например, HTTP или JAR) существует общедоступный специализированный подкласс URLConnection, принадлежащий одному из следующих пакетов или их подпакетов: java.lang, java.io, java.util, java.net, возвращаемое соединение будет экземпляром этого подкласса. Например, для HTTP будет возвращен HttpURLConnection, а для JAR — JarURLConnection.

Параметры:
u — URL, с которым устанавливается соединение.
Возвращает:
объект URLConnection для URL.
Исключения:
IOException — если при открытии соединения произошла ошибка ввода-вывода.

openConnection

protected URLConnection openConnection(URL u, Proxy p) throws IOException
То же, что и openConnection(URL), за исключением того, что соединение устанавливается через указанный прокси-сервер; обработчики протоколов, не поддерживающие работу через прокси-сервер, игнорируют параметр прокси и устанавливают обычное соединение.

Вызов этого метода имеет приоритет над настройками системного ProxySelector по умолчанию.

Требования к реализации:
Реализация этого метода по умолчанию сначала проверяет, что указанные URL и Proxy не равны null, а затем выбрасывает UnsupportedOperationException. Подклассам следует переопределить этот метод, предоставив подходящую реализацию.
Параметры:
u — URL, с которым устанавливается соединение.
p — прокси-сервер, через который будет установлено соединение. Если требуется прямое соединение, следует указать Proxy.NO_PROXY.
Возвращает:
объект URLConnection для URL.
Исключения:
IOException — если при открытии соединения произошла ошибка ввода-вывода.
IllegalArgumentException — если u или p равен null либо p имеет неверный тип.
UnsupportedOperationException — если подкласс, реализующий протокол, не поддерживает этот метод.
Начиная с:
1.5

parseURL

protected void parseURL(URL u, String spec, int start, int limit)
Разбирает строковое представление URL в объект URL.

Если имеется унаследованный контекст, он уже скопирован в аргумент URL.

Метод parseURL класса URLStreamHandler разбирает строковое представление так, как если бы оно было спецификацией http. Синтаксис разбора большинства семейств протоколов URL аналогичен. Обработчик потокового протокола с другим синтаксисом должен переопределить эту процедуру.

Параметры:
u — объект URL, в который помещается результат разбора спецификации.
spec — объект String, представляющий URL, который необходимо разобрать.
start — индекс символа, с которого начинается разбор. Он указывает на позицию сразу после «:» (если оно есть), задающего имя протокола.
limit — позиция символа, на которой следует остановить разбор. Это конец строки или позиция символа «#», если он присутствует. Вся информация после знака решетки указывает на фрагмент.
Исключения:
IllegalArgumentException — если реализация обработчика протокола отклоняет один из заданных параметров
NullPointerException — если u является null или если start < limit и spec является null

getDefaultPort

protected int getDefaultPort()
Возвращает порт по умолчанию для URL, разобранного этим обработчиком. Этот метод предназначен для переопределения обработчиками с номерами портов по умолчанию.
Возвращает:
порт по умолчанию для URL, разобранного этим обработчиком.
Начиная с:
1.3

equals

protected boolean equals(URL u1, URL u2)
Предоставляет реализацию вычисления равенства по умолчанию. Может быть переопределен обработчиками других протоколов с иными требованиями к equals(). Метод требует, чтобы ни один из его аргументов не был равен null. Это гарантируется тем, что его вызывает только класс java.net.URL.
Параметры:
u1 — объект URL
u2 — объект URL
Возвращает:
true, если два URL считаются равными, то есть ссылаются на один и тот же фрагмент одного и того же файла.
Начиная с:
1.3

hashCode

protected int hashCode(URL u)
Предоставляет реализацию вычисления хеш-кода по умолчанию. Может быть переопределен обработчиками других протоколов с иными требованиями к вычислению hashCode.
Параметры:
u — объект URL
Возвращает:
int, подходящий для индексирования в хеш-таблице
Начиная с:
1.3

sameFile

protected boolean sameFile(URL u1, URL u2)
Сравнивает два URL, чтобы определить, ссылаются ли они на один и тот же файл, то есть имеют ли одинаковые протокол, хост, порт и путь. Метод требует, чтобы ни один из его аргументов не был равен null. Это гарантируется тем, что его косвенно вызывает только класс java.net.URL.
Параметры:
u1 — объект URL
u2 — объект URL
Возвращает:
true, если u1 и u2 ссылаются на один и тот же файл
Начиная с:
1.3

getHostAddress

protected InetAddress getHostAddress(URL u)
Получает IP-адрес нашего хоста. Если поле хоста пусто или произошла ошибка DNS, возвращается null.
Параметры:
u — объект URL
Возвращает:
объект InetAddress, представляющий IP-адрес хоста.
Начиная с:
1.3

hostsEqual

protected boolean hostsEqual(URL u1, URL u2)
Сравнивает компоненты хоста двух URL.
Параметры:
u1 — URL первого сравниваемого хоста
u2 — URL второго сравниваемого хоста
Возвращает:
true тогда и только тогда, когда они равны, и false в противном случае.
Начиная с:
1.3

toExternalForm

protected String toExternalForm(URL u)
Преобразует URL определенного протокола в String.
Параметры:
u — URL.
Возвращает:
строковое представление аргумента URL.

setURL

protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)
Устанавливает поля аргумента URL в указанные значения. Только классы, производные от URLStreamHandler, могут использовать этот метод для задания значений полей URL.
Параметры:
u — URL для изменения.
protocol — имя протокола.
host — значение удаленного хоста для URL.
port — порт на удаленной машине.
authority — часть URL, содержащая полномочия доступа.
userInfo — часть URL, содержащая сведения о пользователе.
path — компонент пути URL.
query — часть URL, содержащая запрос.
ref — ссылка.
Исключения:
SecurityException — если обработчик протокола URL отличается от этого обработчика
IllegalArgumentException — если реализация обработчика протокола отклоняет один из заданных параметров
NullPointerException — если u является null
Начиная с:
1.3

setURL

@Deprecated protected void setURL(URL u, String protocol, String host, int port, String file, String ref)
Устарел.
Используйте setURL(URL, String, String, int, String, String, String, String);
Устанавливает поля аргумента URL в указанные значения. Только классы, производные от URLStreamHandler, могут использовать этот метод для задания значений полей URL.
Параметры:
u — URL для изменения.
protocol — имя протокола. Это значение игнорируется начиная с версии 1.2.
host — значение удаленного хоста для URL.
port — порт на удаленной машине.
file — файл.
ref — ссылка.
Исключения:
SecurityException — если обработчик протокола URL отличается от этого обработчика
IllegalArgumentException — если реализация обработчика протокола отклоняет один из заданных параметров
NullPointerException — если u является null

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