Пакет 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, 2021, 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/17/docs/api/jdk.dynalink/jdk/dynalink/linker/package-summary.html