94 * {@link jdk.dynalink.DynamicLinkerFactory} (and maybe some of them as fallback
95 * linkers, for e.g. handling "method not found" and similar errors in a
96 * language-specific manner if no other linker managed to handle the operation.)
97 * </p><p>
98 * A language runtime that wishes to make at least some of its linkers available
99 * to other language runtimes for interoperability will need to declare the
100 * class names of those linkers in
101 * {@code /META-INF/services/jdk.dynalink.linker.GuardingDynamicLinker} file in
102 * its distribution (typically, JAR file).
103 * </p><p>
104 * Most language runtimes will be able to implement their own linking logic by
105 * implementing {@link jdk.dynalink.linker.TypeBasedGuardingDynamicLinker}
106 * instead of {@link jdk.dynalink.linker.GuardingDynamicLinker}; it allows for
107 * faster type-based linking dispatch.
108 * </p><p>
109 * Language runtimes that allow type conversions other than those provided by
110 * Java will need to have their guarding dynamic linker (or linkers) also
111 * implement the {@link jdk.dynalink.linker.GuardingTypeConverterFactory}
112 * interface to provide the logic for these conversions.
113 * </p>
114 * @since 1.9
115 */
116 @jdk.Exported
117 package jdk.dynalink.linker;
|
94 * {@link jdk.dynalink.DynamicLinkerFactory} (and maybe some of them as fallback
95 * linkers, for e.g. handling "method not found" and similar errors in a
96 * language-specific manner if no other linker managed to handle the operation.)
97 * </p><p>
98 * A language runtime that wishes to make at least some of its linkers available
99 * to other language runtimes for interoperability will need to declare the
100 * class names of those linkers in
101 * {@code /META-INF/services/jdk.dynalink.linker.GuardingDynamicLinker} file in
102 * its distribution (typically, JAR file).
103 * </p><p>
104 * Most language runtimes will be able to implement their own linking logic by
105 * implementing {@link jdk.dynalink.linker.TypeBasedGuardingDynamicLinker}
106 * instead of {@link jdk.dynalink.linker.GuardingDynamicLinker}; it allows for
107 * faster type-based linking dispatch.
108 * </p><p>
109 * Language runtimes that allow type conversions other than those provided by
110 * Java will need to have their guarding dynamic linker (or linkers) also
111 * implement the {@link jdk.dynalink.linker.GuardingTypeConverterFactory}
112 * interface to provide the logic for these conversions.
113 * </p>
114 * @since 9
115 */
116 @jdk.Exported
117 package jdk.dynalink.linker;
|