Класс SocketPermission
- Все реализуемые интерфейсы:
Serializable, Guard
@Deprecated(since="26", forRemoval=true) public final class SocketPermission extends Permission implements Serializable
host = (hostname | IPv4address | iPv6reference) [:portrange]
portrange = portnumber | -portnumber | portnumber-[portnumber]
Узел указывается в виде DNS-имени, числового IP-адреса или «localhost» (для локального компьютера). Подстановочный знак «*» можно включить в спецификацию узла DNS-имени один раз. Если он включен, он должен находиться в крайней левой позиции, как в «*.example.com». Формат IPv6reference должен соответствовать указанному в RFC 2732: формат буквальных IPv6-адресов в URL:
ipv6reference = "[" IPv6address "]"
Например, экземпляр SocketPermission можно создать следующим образом:
String hostAddress = inetaddress.getHostAddress();
if (inetaddress instanceof Inet6Address) {
sp = new SocketPermission("[" + hostAddress + "]:" + port, action);
} else {
sp = new SocketPermission(hostAddress + ":" + port, action);
}
или
String host = url.getHost();
sp = new SocketPermission(host + ":" + port, action);
Также допустима полная несжатая форма буквального IPv6-адреса.
Порт или диапазон портов указывать необязательно. Спецификация порта в форме «N-», где N — номер порта, означает все порты с номером N и выше, тогда как спецификация в форме «-N» указывает все порты с номером N и ниже. Специальное значение порта 0 обозначает весь диапазон эфемерных портов. Это фиксированный диапазон портов, из которого система может выделять динамические порты. Фактический диапазон может зависеть от системы.
Возможные способы подключения к узлу:
accept connect listen resolveДействие «listen» имеет смысл только при использовании с «localhost» и означает возможность привязки к указанному порту. Действие «resolve» подразумевается при наличии любого из остальных действий. Действие «resolve» относится к поиску имен узлов/IP-адресов в службе имен.
Перед обработкой строка действий преобразуется в нижний регистр.
- Начиная с:
- 1.2
- Внешние спецификации
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SocketPermission |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Создает новый объект SocketPermission с указанными действиями. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Сравнивает два объекта SocketPermission на равенство. |
String |
getActions() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Возвращает каноническое строковое представление действий. |
int |
hashCode() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Возвращает хеш-код этого объекта. |
boolean |
implies |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Проверяет, «подразумевает» ли этот объект разрешения сокета указанное разрешение. |
PermissionCollection |
newPermissionCollection() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Возвращает новый объект PermissionCollection для хранения объектов SocketPermission. |
Методы, объявленные в классе Permission
checkGuard, getName, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
checkGuard |
Реализует интерфейс Guard для разрешения. |
final String |
getName() |
Возвращает имя этого Permission. |
String |
toString() |
Возвращает строковое описание этого Permission. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
SocketPermission
public SocketPermission(String host, String action)
Чтобы указать локальный компьютер, используйте «localhost» в качестве узла. Также обратите внимание: пустая строка узла ("") эквивалентна «localhost».
Параметр действия содержит разделенный запятыми список действий, разрешенных для указанного узла (и порта или портов). Возможные действия: «connect», «listen», «accept», «resolve» или любая их комбинация. Действие «resolve» добавляется автоматически, если указано любое из трех остальных действий.
Примеры создания экземпляра SocketPermission:
nr = new SocketPermission("www.example.com", "connect");
nr = new SocketPermission("www.example.com:80", "connect");
nr = new SocketPermission("*.example.com", "connect");
nr = new SocketPermission("*.edu", "resolve");
nr = new SocketPermission("204.160.241.0", "connect");
nr = new SocketPermission("localhost:1024-65535", "listen");
nr = new SocketPermission("204.160.241.0:1024-65535", "connect");
- Параметры:
-
host— имя узла или IP-адрес компьютера, необязательно с двоеточием и номером порта либо диапазоном портов. -
action— строка действий. - Исключения:
-
NullPointerException— если какой-либо параметр равен null -
IllegalArgumentException— если форматhostнедопустим либо строкаactionпуста, имеет неверный формат или содержит действие, не входящее в указанный список возможных действий
Подробное описание методов
implies
public boolean implies(Permission p)
В частности, этот метод сначала проверяет, истинны ли все следующие условия (и возвращает false, если хотя бы одно из них не выполняется):
- p является экземпляром SocketPermission;
- действия p являются собственным подмножеством действий этого объекта; и
- диапазон портов p входит в этот диапазон портов. Примечание: диапазон портов игнорируется, если p содержит только действие «resolve».
implies проверяет каждое из следующих условий в указанном порядке и возвращает true, если соответствующее условие выполняется: - Если этот объект был инициализирован одним IP-адресом и один из IP-адресов p совпадает с IP-адресом этого объекта.
- Если этот объект является доменом с подстановочным знаком (например, *.example.com), а каноническое имя p (имя без предшествующего *) заканчивается каноническим именем узла этого объекта. Например, *.example.com подразумевает *.foo.example.com.
- Если этот объект был инициализирован не одним IP-адресом, а один из IP-адресов этого объекта совпадает с одним из IP-адресов p.
- Если это каноническое имя совпадает с каноническим именем p.
implies возвращает false.- Определено в:
-
impliesв классеPermission - Параметры:
-
p— разрешение для проверки. - Возвращает:
- true, если указанное разрешение подразумевается этим объектом, иначе false.
equals
public boolean equals(Object obj)
- Определено в:
-
equalsв классеPermission - Параметры:
-
obj— объект, который нужно сравнить с этим объектом на равенство. - Возвращает:
- true, если obj является SocketPermission и имеет те же имя узла, диапазон портов и действия, что и этот объект SocketPermission. Однако диапазон портов не учитывается при сравнении, если obj содержит только действие «resolve».
- См. также:
hashCode
public int hashCode()
- Определено в:
-
hashCodeв классеPermission - Возвращает:
- значение хеш-кода этого объекта.
- См. также:
getActions
public String getActions()
- Определено в:
-
getActionsв классеPermission - Возвращает:
- каноническое строковое представление действий.
newPermissionCollection
public PermissionCollection newPermissionCollection()
Объекты SocketPermission должны храниться таким образом, чтобы их можно было добавлять в коллекцию в любом порядке, но при этом метод PermissionCollection implies можно было реализовать эффективным (и согласованным) образом.
- Переопределяет:
-
newPermissionCollectionв классеPermission - Возвращает:
- новый объект PermissionCollection, подходящий для хранения объектов SocketPermission.
© 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.