Interface JNIAccess
public interface JNIAccess
This interface is used to register classes, methods, and fields for JNI access at runtime. An
instance of this interface is acquired via
Feature.AfterRegistrationAccess.getJNIAccess().
All methods in JNIAccess require a AccessCondition as their first parameter. A
class and its members will be registered for JNI access only if the specified condition is
satisfied.
How to use
JNIAccess should only be used during Feature.afterRegistration(Feature.AfterRegistrationAccess). Any attempt to
register metadata in any other phase will result in an error.
Example:
@Override
public void afterRegistration(AfterRegistrationAccess access) {
JNIAccess jniAccess = access.getJNIAccess();
AccessCondition condition = AccessCondition.typeReached(ConditionType.class);
jniAccess.register(condition, Foo.class);
jniAccess.register(condition, Foo.class.getMethod("method"));
jniAccess.register(condition, Foo.class.getField("field"));
}
- Since:
- 25.0.1
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidregister(AccessCondition condition, Class<?>... classes) Registers the provided classes for JNI access at run time, if theconditionis satisfied.voidregister(AccessCondition condition, Executable... methods) Registers the provided methods for JNI access at run time, if theconditionis satisfied.voidregister(AccessCondition condition, Field... fields) Registers the provided fields for JNI access at run time, if theconditionis satisfied.
-
Method Details
-
register
Registers the provided classes for JNI access at run time, if theconditionis satisfied.- Since:
- 25.0.1
-
register
Registers the provided methods for JNI access at run time, if theconditionis satisfied.- Since:
- 25.0.1
-
register
Registers the provided fields for JNI access at run time, if theconditionis satisfied.- Since:
- 25.0.1
-