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