Spec-Zone.ru › OpenJDK 24

Класс 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)
Предоставляет стандартное вычисление equals.
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.

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

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

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

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 по умолчанию. Может быть переопределено обработчиками других протоколов, имеющими другие требования к equals(). Этот метод требует, чтобы ни один из его аргументов не был null. Это гарантируется тем, что он вызывается только классом java.net.URL.
Параметры:
u1 - объект URL
u2 - объект URL
Возвращает:
true, если два URL считаются равными, т.е. они ссылаются на один и тот же фрагмент в одном и том же файле.
С тех пор:
1.3

hashCode

protected int hashCode(URL u)
Предоставляет вычисление хэш-кода по умолчанию. Может быть переопределено обработчиками других протоколов, имеющими другие требования к вычислению хэш-кода.
Параметры:
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 - часть 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

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/net/URLStreamHandler.html

Spec-Zone.ru

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