Пакет jdk.dynalink.linker
Содержит интерфейсы и классы, необходимые языковым средам выполнения для реализации собственных языкоспецифичных моделей объектов и преобразований типов. Основной точкой входа является интерфейс GuardingDynamicLinker. Он должен быть реализован для обеспечения связывания для собственной модели объектов среды выполнения. Языковая среда выполнения может иметь более одной реализации динамического связующего для защиты. При конфигурации Dynalink для себя среда выполнения обычно устанавливает эти защищённые связующие как приоритетные связующие в своем DynamicLinkerFactory (и, возможно, некоторые из них в качестве связующих по умолчанию, например, для обработки "метода не найдено" и аналогичных ошибок языкоспецифичным образом, если ни один другой связующий не смог обработать операцию.)
Языковая среда выполнения, которая хочет сделать по крайней мере некоторые из своих связующих доступными для других языковых сред выполнения для межъязыковой совместимости, должна использовать GuardingDynamicLinkerExporter.
Большинство языковых сред выполнения смогут реализовать собственную логику связывания, реализовав TypeBasedGuardingDynamicLinker вместо GuardingDynamicLinker; это позволяет ускорить отправку связывания на основе типа.
Языковые среды выполнения, которые допускают преобразования типов, отличные от предоставленных Java, должны иметь свой динамический связующий компонент (или связующие компоненты) также реализуют интерфейс GuardingTypeConverterFactory, чтобы предоставить логику для этих преобразований.
- Since:
- 9
| Класс | Описание |
|---|---|
| ConversionComparator | Необязательный интерфейс, который должен быть реализован реализующими GuardingTypeConverterFactory. |
| ConversionComparator.Comparison | Перечисление возможных результатов сравнения одного преобразования с другим. |
| GuardedInvocation | Представляет условно допустимый метод-обработчик. |
| GuardedInvocationTransformer | Интерфейс для объектов, используемых для преобразования одного защищённого вызова в другой. |
| GuardingDynamicLinker | Базовый интерфейс для языкоспецифичных динамических связующих. |
| GuardingDynamicLinkerExporter | Класс, действующий как поставщик динамических связующих для защиты, которые могут быть загружены другими языковыми средами выполнения автоматически. |
| GuardingTypeConverterFactory | Необязательный интерфейс, который может быть реализован реализациями GuardingDynamicLinker для предоставления языкоспецифичных возможностей преобразования типов. |
| LinkerServices | Интерфейс для сервисов, предоставляемых экземплярам GuardingDynamicLinker владельцем DynamicLinker. |
| LinkRequest | Представляет запрос на связывание определенного вызова в определенном месте вызова. |
| MethodHandleTransformer | Обобщённый интерфейс, описывающий операции преобразования обработчиков методов. |
| MethodTypeConversionStrategy | Интерфейс для объектов, представляющих стратегию преобразования обработчика метода в новый тип. |
| TypeBasedGuardingDynamicLinker | Динамический связующий компонент для защиты, который может определить, может ли он связать место вызова только на основе типа первого аргумента во время вызова связывания. |
© 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/package-summary.html