Класс URLStreamHandler

public abstract class URLStreamHandler
extends Object

Абстрактный класс URLStreamHandler является общим суперклассом для всех обработчиков протоколов потоков. Обработчик протокола потока знает, как установить соединение для определённого типа протокола, например, http или https.

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

Since:
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.

Параметры:
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 - позиция символа, на которой нужно остановить парсинг. Это конец строки или позиция символа "#", если он присутствует. Вся информация после символа решётки указывает на якорь.

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)

Предоставляет стандартное вычисление хэша. Может быть переопределён обработчиками для других протоколов, имеющих различные требования к вычислению 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 - часть authority для URL.
userInfo - часть userInfo URL.
path - компонент пути URL.
query - часть query для URL.
ref - ссылка.
Выбрасывает:
SecurityException - если протокол обработчика URL отличается от текущего
С:
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 отличается от текущего

© 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/URLStreamHandler.html

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