Интерфейс GuardingDynamicLinker
- Все известные подинтерфейсы:
TypeBasedGuardingDynamicLinker
- Все известные реализующие классы:
-
BeansLinker,CompositeGuardingDynamicLinker,CompositeTypeBasedGuardingDynamicLinker
public interface GuardingDynamicLinker
GuardingDynamicLinker. Они обычно устанавливают их как prioritized linkers в DynamicLinkerFactory, которые они настраивают для себя, и, возможно, некоторые из них как fallback
linkers для обработки специфичных для языка условий «свойства не найдены» и т. п. Рассмотрите возможность реализации интерфейса TypeBasedGuardingDynamicLinker вместо этого интерфейса для тех линковщиков, которые основаны на классе Java объектов. Если вам нужно реализовать специфичные для языка преобразования типов, пусть ваш GuardingDynamicLinker также реализует интерфейс GuardingTypeConverterFactory.
Языки могут экспортировать линковщики в другие исполняющие среды языка для automatic discovery с помощью GuardingDynamicLinkerExporter.
- С:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
GuardedInvocation |
getGuardedInvocation |
Создаёт защищённый вызов, подходящий для конкретного вызова со специфицированными аргументами в месте вызова. |
Подробное описание методов
getGuardedInvocation
GuardedInvocation getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices) throws Exception
- Параметры:
-
linkRequest- объект, описывающий запрос на линковку конкретного вызова -
linkerServices- сервисы линковщика - Возвращает:
- защищённый вызов с обработчиком метода, подходящим для аргументов, а также условием защиты, которое, в случае отказа, должно инициировать повторную линковку. Должен возвращать null, если не может разрешить вызов. Если возвращаемый вызов безусловен (что на самом деле довольно редко), защита в возвращаемом значении может быть null. Вызов также может иметь любое количество точек переключения для асинхронной инвалидации линковки, а также подкласс
Throwable, который описывает ожидаемое условие исключения, которое также инициирует повторную линковку (часто быстрее полагаться на редкое, но ожидаемоеClassCastException, чем на всегда оцениваемоеinstanceofусловие защиты). Хотя линковщик должен генерировать вызов с типами параметров, соответствующими описанию места вызова запроса на линковку, он не должен пытаться сопоставить ожидаемый тип возвращаемого значения в месте вызова, за исключением случаев, когда это можно сделать только с преобразованиями, которые не теряют ни точности, ни величины. См.LinkerServices.asTypeLosslessReturn(MethodHandle, MethodType)для получения дополнительной информации. - Исключения:
-
Exception- если операция завершилась неудачно по какой-либо причине
© 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://download.java.net/java/early_access/jdk24/docs/api/jdk.dynalink/jdk/dynalink/linker/GuardingDynamicLinker.html