Spec-Zone.ru › OpenJDK 27

Класс Guards

java.lang.Object
jdk.dynalink.linker.support.Guards
public final class Guards extends Object
Вспомогательные методы для создания типичных проверок для MethodHandles.guardWithTest(MethodHandle, MethodHandle, MethodHandle) и настройки их типов методов.
Начиная с:
9

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

Модификатор и тип Метод Описание
static MethodHandle asType(MethodHandle test, MethodType type)
Принимает дескриптор метода, предназначенный для использования в качестве проверки, и адаптирует его к запрошенному типу, возвращая при этом boolean.
static MethodHandle asType(LinkerServices linkerServices, MethodHandle test, MethodType type)
Принимает дескриптор метода, предназначенный для использования в качестве проверки, и адаптирует его к запрошенному типу, возвращая при этом boolean.
static MethodHandle getClassGuard(Class<?> clazz)
Создает метод проверки, который проверяет, принадлежит ли его единственный аргумент точно указанному классу.
static MethodHandle getIdentityGuard(Object obj)
Создает метод проверки, который проверяет, является ли его единственный аргумент тем же самым объектом, что и другой объект.
static MethodHandle getInstanceOfGuard(Class<?> clazz)
Создает метод проверки, который проверяет, является ли его единственный аргумент экземпляром указанного класса.
static MethodHandle isArray(int pos, MethodType type)
Создает дескриптор метода, возвращающий true, если аргумент в указанной позиции является массивом Java.
static MethodHandle isInstance(Class<?> clazz, int pos, MethodType type)
Создает дескриптор метода с аргументами указанного типа и возвращаемым значением boolean.
static MethodHandle isInstance(Class<?> clazz, MethodType type)
Создает дескриптор метода с аргументами указанного типа и возвращаемым значением boolean.
static MethodHandle isNotNull()
Возвращает проверку, устанавливающую, что первый аргумент не равен null.
static MethodHandle isNull()
Возвращает проверку, устанавливающую, что первый аргумент равен null.
static MethodHandle isOfClass(Class<?> clazz, MethodType type)
Создает дескриптор метода проверки с аргументами указанного типа и возвращаемым значением boolean.

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

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

isOfClass

public static MethodHandle isOfClass(Class<?> clazz, MethodType type)
Создает дескриптор метода проверки с аргументами указанного типа и возвращаемым значением boolean. При вызове он возвращает true, если первый аргумент принадлежит указанному классу (именно этому классу, а не его подклассу). Остальные аргументы игнорируются.
Параметры:
clazz — класс, которому должен принадлежать проверяемый первый аргумент
type — тип метода
Возвращает:
дескриптор метода, проверяющий, принадлежит ли его первый аргумент указанному классу.

isInstance

public static MethodHandle isInstance(Class<?> clazz, MethodType type)
Создает дескриптор метода с аргументами указанного типа и возвращаемым значением boolean. При вызове он возвращает true, если первый аргумент является экземпляром указанного класса или его подкласса. Остальные аргументы игнорируются.
Параметры:
clazz — класс, которому должен принадлежать проверяемый первый аргумент
type — тип метода
Возвращает:
дескриптор метода, проверяющий, является ли его первый аргумент экземпляром указанного класса или его подкласса.

isInstance

public static MethodHandle isInstance(Class<?> clazz, int pos, MethodType type)
Создает дескриптор метода с аргументами указанного типа и возвращаемым значением boolean. При вызове он возвращает true, если n-й аргумент является экземпляром указанного класса или его подкласса. Остальные аргументы игнорируются.
Параметры:
clazz — класс, которому должен принадлежать проверяемый первый аргумент
pos — позиция проверяемого аргумента в списке аргументов
type — тип метода
Возвращает:
дескриптор метода, проверяющий, является ли его первый аргумент экземпляром указанного класса или его подкласса.

isArray

public static MethodHandle isArray(int pos, MethodType type)
Создает дескриптор метода, возвращающий true, если аргумент в указанной позиции является массивом Java.
Параметры:
pos — позиция в списке аргументов
type — тип метода дескриптора
Возвращает:
дескриптор метода, возвращающий true, если аргумент в указанной позиции является массивом Java; остальные аргументы игнорируются.

asType

public static MethodHandle asType(MethodHandle test, MethodType type)
Принимает дескриптор метода, предназначенный для использования в качестве проверки, и адаптирует его к запрошенному типу, возвращая при этом boolean. Применяет MethodHandle.asType(MethodType) для преобразования типов и использует MethodHandles.dropArguments(MethodHandle, int, Class...), чтобы привести количество аргументов в соответствие с запрошенным типом.
Параметры:
test — дескриптор метода проверки
type — тип, к которому нужно адаптировать дескриптор метода
Возвращает:
адаптированный дескриптор метода

asType

public static MethodHandle asType(LinkerServices linkerServices, MethodHandle test, MethodType type)
Принимает дескриптор метода, предназначенный для использования в качестве проверки, и адаптирует его к запрошенному типу, возвращая при этом boolean. Применяет LinkerServices.asType(MethodHandle, MethodType) для преобразования типов и использует MethodHandles.dropArguments(MethodHandle, int, Class...), чтобы привести количество аргументов в соответствие с запрошенным типом.
Параметры:
linkerServices — службы связывания, используемые для преобразования типов
test — дескриптор метода проверки
type — тип, к которому нужно адаптировать дескриптор метода
Возвращает:
адаптированный дескриптор метода

getClassGuard

public static MethodHandle getClassGuard(Class<?> clazz)
Создает метод проверки, который проверяет, принадлежит ли его единственный аргумент точно указанному классу.
Параметры:
clazz — класс, принадлежность которому проверяется.
Возвращает:
требуемый метод проверки.

getInstanceOfGuard

public static MethodHandle getInstanceOfGuard(Class<?> clazz)
Создает метод проверки, который проверяет, является ли его единственный аргумент экземпляром указанного класса.
Параметры:
clazz — класс, принадлежность которому проверяется.
Возвращает:
требуемый метод проверки.

getIdentityGuard

public static MethodHandle getIdentityGuard(Object obj)
Создает метод проверки, который проверяет, является ли его единственный аргумент тем же самым объектом, что и другой объект.
Параметры:
obj — объект, используемый для проверки тождественности по ссылке
Возвращает:
требуемый метод проверки.

isNull

public static MethodHandle isNull()
Возвращает проверку, устанавливающую, что первый аргумент равен null.
Возвращает:
проверка, устанавливающая, что первый аргумент равен null.

isNotNull

public static MethodHandle isNotNull()
Возвращает проверку, устанавливающую, что первый аргумент не равен null.
Возвращает:
проверка, устанавливающая, что первый аргумент не равен 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