Spec-Zone.ru › OpenJDK 21

Класс Lookup

java.lang.Object
jdk.dynalink.linker.support.Lookup
public final class Lookup extends Object
Обёртка вокруг MethodHandles.Lookup, маскирующая проверенные исключения. Полезно в тех случаях, когда вы ищете методы в собственном коде (поэтому ошибка, если они отсутствуют).

Краткое описание полей

Модификатор и тип Поле Описание
static final Lookup PUBLIC
Канонический объект Lookup, который оборачивает MethodHandles.publicLookup().

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

Конструктор Описание
Lookup(MethodHandles.Lookup lookup)
Создаёт новый экземпляр, связанный с экземпляром MethodHandles.Lookup.

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

Модификатор и тип Метод Описание
MethodHandle findGetter(Class<?> refc, String name, Class<?> type)
Выполняет MethodHandles.Lookup.findGetter(Class, String, Class), преобразуя любые встречающиеся IllegalAccessException в IllegalAccessError, и NoSuchFieldException в NoSuchFieldError.
static MethodHandle findOwnSpecial(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Используя findSpecial(Class, String, MethodType), находит метод в классе данного lookup.
MethodHandle findOwnSpecial(String name, Class<?> rtype, Class<?>... ptypes)
Используя findSpecial(Class, String, MethodType), находит метод в классе данного lookup.
static MethodHandle findOwnStatic(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Используя findStatic(Class, String, MethodType), находит метод в классе данного lookup.
MethodHandle findOwnStatic(String name, Class<?> rtype, Class<?>... ptypes)
Используя findStatic(Class, String, MethodType), находит метод в классе данного lookup.
MethodHandle findSpecial(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findSpecial(Class, String, MethodType, Class) для базового lookup.
MethodHandle findStatic(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findStatic(Class, String, MethodType) для базового lookup.
MethodHandle findVirtual(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findVirtual(Class, String, MethodType) для базового lookup.
static MethodHandle unreflect(MethodHandles.Lookup lookup, Method m)
Выполняет MethodHandles.Lookup.unreflect(Method), преобразуя любые встречающиеся IllegalAccessException в IllegalAccessError.
MethodHandle unreflect(Method m)
Выполняет MethodHandles.Lookup.unreflect(Method), преобразуя любые встречающиеся IllegalAccessException в IllegalAccessError.
static MethodHandle unreflectConstructor(MethodHandles.Lookup lookup, Constructor<?> c)
Выполняет MethodHandles.Lookup.unreflectConstructor(Constructor), преобразуя любые встречающиеся IllegalAccessException в IllegalAccessError.
MethodHandle unreflectConstructor(Constructor<?> c)
Выполняет MethodHandles.Lookup.unreflectConstructor(Constructor), преобразуя любые встречающиеся IllegalAccessException в IllegalAccessError.
MethodHandle unreflectGetter(Field f)
Выполняет MethodHandles.Lookup.unreflectGetter(Field), преобразуя любые встречающиеся IllegalAccessException в IllegalAccessError.
MethodHandle unreflectSetter(Field f)
Выполняет MethodHandles.Lookup.unreflectSetter(Field), преобразуя любые встречающиеся IllegalAccessException в IllegalAccessError.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

PUBLIC

public static final Lookup PUBLIC
Канонический объект Lookup, который оборачивает MethodHandles.publicLookup().

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

Lookup

public Lookup(MethodHandles.Lookup lookup)
Создаёт новый экземпляр, связанный с экземпляром MethodHandles.Lookup.
Параметры:
lookup - MethodHandles.Lookup, к которому он делегирует.

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

unreflect

public MethodHandle unreflect(Method m)
Выполняет MethodHandles.Lookup.unreflect(Method), преобразуя любые встреченные IllegalAccessException в IllegalAccessError.
Параметры:
m - метод для преобразования
Возвращает:
обработанную ссылку на метод.
Выбрасывает:
IllegalAccessError - если метод недоступен.

unreflect

public static MethodHandle unreflect(MethodHandles.Lookup lookup, Method m)
Выполняет MethodHandles.Lookup.unreflect(Method), преобразуя любые встреченные IllegalAccessException в IllegalAccessError.
Параметры:
lookup - используемый для преобразования объект Lookup
m - метод для преобразования
Возвращает:
обработанную ссылку на метод.
Выбрасывает:
IllegalAccessError - если метод недоступен.

unreflectGetter

public MethodHandle unreflectGetter(Field f)
Выполняет MethodHandles.Lookup.unreflectGetter(Field), преобразуя любые встреченные IllegalAccessException в IllegalAccessError.
Параметры:
f - поле, для которого отражается getter
Возвращает:
обработанную ссылку на getter поля.
Выбрасывает:
IllegalAccessError - если getter недоступен.

findGetter

public MethodHandle findGetter(Class<?> refc, String name, Class<?> type)
Выполняет MethodHandles.Lookup.findGetter(Class, String, Class), преобразуя любые встреченные IllegalAccessException в IllegalAccessError и NoSuchFieldException в NoSuchFieldError.
Параметры:
refc - класс, объявляющий поле
name - имя поля
type - тип поля
Возвращает:
обработанную ссылку на getter поля.
Выбрасывает:
IllegalAccessError - если поле недоступно.
NoSuchFieldError - если поле не существует.

unreflectSetter

public MethodHandle unreflectSetter(Field f)
Выполняет MethodHandles.Lookup.unreflectSetter(Field), преобразуя любые встреченные IllegalAccessException в IllegalAccessError.
Параметры:
f - поле, для которого отражается setter
Возвращает:
обработанную ссылку на setter поля.
Выбрасывает:
IllegalAccessError - если поле недоступно.
NoSuchFieldError - если поле не существует.

unreflectConstructor

public MethodHandle unreflectConstructor(Constructor<?> c)
Выполняет MethodHandles.Lookup.unreflectConstructor(Constructor), преобразуя любые встреченные IllegalAccessException в IllegalAccessError.
Параметры:
c - конструктор для преобразования
Возвращает:
обработанную ссылку на конструктор.
Выбрасывает:
IllegalAccessError - если конструктор недоступен.

unreflectConstructor

public static MethodHandle unreflectConstructor(MethodHandles.Lookup lookup, Constructor<?> c)
Выполняет MethodHandles.Lookup.unreflectConstructor(Constructor), преобразуя любые встреченные IllegalAccessException в IllegalAccessError.
Параметры:
lookup - используемый для преобразования объект Lookup
c - конструктор для преобразования
Возвращает:
обработанную ссылку на конструктор.
Выбрасывает:
IllegalAccessError - если конструктор недоступен.

findSpecial

public MethodHandle findSpecial(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findSpecial(Class, String, MethodType, Class) для базового объекта Lookup. Преобразует любые встреченные IllegalAccessException в IllegalAccessError и NoSuchMethodException в NoSuchMethodError.
Параметры:
declaringClass - класс, объявляющий метод
name - имя метода
type - тип метода
Возвращает:
ссылка на метод
Выбрасывает:
IllegalAccessError - если метод недоступен.
NoSuchMethodError - если метод не существует.

findStatic

public MethodHandle findStatic(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findStatic(Class, String, MethodType) для базового объекта Lookup. Преобразует любые встреченные IllegalAccessException в IllegalAccessError и NoSuchMethodException в NoSuchMethodError.
Параметры:
declaringClass - класс, объявляющий метод
name - имя метода
type - тип метода
Возвращает:
ссылка на метод
Выбрасывает:
IllegalAccessError - если метод недоступен.
NoSuchMethodError - если метод не существует.

findVirtual

public MethodHandle findVirtual(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findVirtual(Class, String, MethodType) для базового поиска. Преобразует любые обнаруженные IllegalAccessException в IllegalAccessError, а NoSuchMethodException — в NoSuchMethodError.
Parameters:
declaringClass — класс, объявляющий метод
name — имя метода
type — тип метода
Returns:
обработчик метода
Throws:
IllegalAccessError — если метод недоступен.
NoSuchMethodError — если метод не существует.

findOwnSpecial

public static MethodHandle findOwnSpecial(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Используя findSpecial(Class, String, MethodType), находит метод в классе, связанном с данным поиском. Полезно в коде классов для удобного связывания с собственными закрытыми методами.
Parameters:
lookup — поиск для класса
name — имя метода
rtype — тип возвращаемого значения метода
ptypes — типы параметров метода
Returns:
обработчик метода

findOwnSpecial

public MethodHandle findOwnSpecial(String name, Class<?> rtype, Class<?>... ptypes)
Используя findSpecial(Class, String, MethodType), находит метод в классе, связанном с данным поиском. Полезно в коде классов для удобного связывания с собственными закрытыми методами. Более удобно, чем findSpecial, так как вы просто перечисляете типы параметров, а не указываете класс поиска.
Parameters:
name — имя метода
rtype — тип возвращаемого значения метода
ptypes — типы параметров метода
Returns:
обработчик метода

findOwnStatic

public static MethodHandle findOwnStatic(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Используя findStatic(Class, String, MethodType), находит статический метод в классе, связанном с данным поиском. Полезно в коде классов для удобного связывания с собственными закрытыми методами. Более удобно, чем findStatic, так как вы просто перечисляете типы параметров, а не указываете класс поиска.
Parameters:
lookup — поиск для класса
name — имя метода
rtype — тип возвращаемого значения метода
ptypes — типы параметров метода
Returns:
обработчик метода

findOwnStatic

public MethodHandle findOwnStatic(String name, Class<?> rtype, Class<?>... ptypes)
Используя findStatic(Class, String, MethodType), находит статический метод в классе, связанном с данным поиском. Полезно в коде классов для удобного связывания с собственными закрытыми методами. Более удобно, чем findStatic, так как вы просто перечисляете типы параметров, а не указываете класс поиска.
Parameters:
name — имя метода
rtype — тип возвращаемого значения метода
ptypes — типы параметров метода
Returns:
обработчик метода

© 1993, 2023, 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/21/docs/api/jdk.dynalink/jdk/dynalink/linker/support/Lookup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API