Класс Guards
java.lang.Object
jdk.dynalink.linker.support.Guards
public final class Guards extends Object
Вспомогательные методы для создания типичных проверок для
MethodHandles.guardWithTest(MethodHandle, MethodHandle, MethodHandle) и настройки их типов методов.- Начиная с:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static MethodHandle |
asType |
Принимает дескриптор метода, предназначенный для использования в качестве проверки, и адаптирует его к запрошенному типу с логическим возвращаемым значением. |
static MethodHandle |
asType |
Принимает дескриптор метода, предназначенный для использования в качестве проверки, и адаптирует его к запрошенному типу с логическим возвращаемым значением. |
static MethodHandle |
getClassGuard |
Создает метод проверки, который проверяет, принадлежит ли его единственный аргумент точно указанному классу. |
static MethodHandle |
getIdentityGuard |
Создает метод проверки, который проверяет, является ли его единственный аргумент тем же самым объектом по ссылке. |
static MethodHandle |
getInstanceOfGuard |
Создает метод проверки, который проверяет, является ли его единственный аргумент экземпляром указанного класса. |
static MethodHandle |
isArray |
Создает дескриптор метода, возвращающий true, если аргумент в указанной позиции является массивом Java. |
static MethodHandle |
isInstance |
Создает дескриптор метода с аргументами указанного типа и логическим возвращаемым значением. |
static MethodHandle |
isInstance |
Создает дескриптор метода с аргументами указанного типа и логическим возвращаемым значением. |
static MethodHandle |
isNotNull() |
Возвращает проверку, определяющую, что первый аргумент не равен null. |
static MethodHandle |
isNull() |
Возвращает проверку, определяющую, что первый аргумент равен null. |
static MethodHandle |
isOfClass |
Создает дескриптор метода проверки с аргументами указанного типа и логическим возвращаемым значением. |
Подробное описание методов
isOfClass
public static MethodHandle isOfClass(Class<?> clazz, MethodType type)
Создает дескриптор метода проверки с аргументами указанного типа и логическим возвращаемым значением. При вызове он возвращает true, если первый аргумент принадлежит указанному классу (именно этому классу, а не его подклассу). Остальные аргументы игнорируются.
- Параметры:
-
clazz— класс, которому должен принадлежать первый аргумент -
type— тип метода - Возвращает:
- дескриптор метода, проверяющий, принадлежит ли первый аргумент указанному классу.
isInstance
public static MethodHandle isInstance(Class<?> clazz, MethodType type)
Создает дескриптор метода с аргументами указанного типа и логическим возвращаемым значением. При вызове он возвращает true, если первый аргумент является экземпляром указанного класса или его подкласса. Остальные аргументы игнорируются.
- Параметры:
-
clazz— класс, экземпляром которого должен быть первый аргумент -
type— тип метода - Возвращает:
- дескриптор метода, проверяющий, является ли первый аргумент экземпляром указанного класса или его подкласса.
isInstance
public static MethodHandle isInstance(Class<?> clazz, int pos, MethodType type)
Создает дескриптор метода с аргументами указанного типа и логическим возвращаемым значением. При вызове он возвращает 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)
Принимает дескриптор метода, предназначенный для использования в качестве проверки, и адаптирует его к запрошенному типу с логическим возвращаемым значением. Применяет
MethodHandle.asType(MethodType) для преобразования типов и использует MethodHandles.dropArguments(MethodHandle, int, Class...) для приведения количества аргументов в соответствие с запрошенным типом.- Параметры:
-
test— дескриптор метода проверки -
type— тип, к которому нужно адаптировать дескриптор метода - Возвращает:
- адаптированный дескриптор метода
asType
public static MethodHandle asType(LinkerServices linkerServices, MethodHandle test, MethodType type)
Принимает дескриптор метода, предназначенный для использования в качестве проверки, и адаптирует его к запрошенному типу с логическим возвращаемым значением. Применяет
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.
© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.dynalink/jdk/dynalink/linker/support/Guards.html