Класс URLStreamHandler
- java.lang.Object
-
- java.net.URLStreamHandler
public abstract class URLStreamHandler extends Object
Абстрактный класс URLStreamHandler — это общий суперкласс для всех обработчиков протоколов потоков. Обработчик протокола потока знает, как установить соединение для определённого типа протокола, такого как http или https.
В большинстве случаев экземпляр подкласса URLStreamHandler не создаётся напрямую приложением. Вместо этого, при первом встрече имени протокола при создании URL, соответствующий обработчик протокола потока автоматически загружается.
- Since:
- JDK1.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) Открывает соединение с объектом, на который ссылается аргумент |
protected URLConnection |
openConnection(URL u,
Proxy p) Аналогично openConnection(URL), за исключением того, что соединение будет установлено через указанный прокси; обработчики протоколов, не поддерживающие проксирование, игнорируют параметр прокси и устанавливают обычное соединение. |
protected void |
parseURL(URL u,
String spec,
int start,
int limit) Разбирает строковое представление |
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) Устанавливает поля аргумента |
protected String |
toExternalForm(URL u) Преобразует |
Методы, унаследованные от класса 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)
Обеспечивает стандартное вычисление хэш-кода. Может быть переопределено обработчиками других протоколов, у которых есть разные требования к вычислению хэш-кода.
- Параметры:
-
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 - Возвращает:
- строковое представление 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 отличается от этого - С:
- 1.3
- См. также:
URL.set(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)
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.