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 Type
    Method
    Description
    void
    register(AccessCondition condition, Class<?>... classes)
    Registers the provided classes for JNI access at run time, if the condition is satisfied.
    void
    register(AccessCondition condition, Executable... methods)
    Registers the provided methods for JNI access at run time, if the condition is satisfied.
    void
    register(AccessCondition condition, Field... fields)
    Registers the provided fields for JNI access at run time, if the condition is satisfied.
  • Method Details

    • register

      void register(AccessCondition condition, Class<?>... classes)
      Registers the provided classes for JNI access at run time, if the condition is satisfied.
      Since:
      25.0.1
    • register

      void register(AccessCondition condition, Executable... methods)
      Registers the provided methods for JNI access at run time, if the condition is satisfied.
      Since:
      25.0.1
    • register

      void register(AccessCondition condition, Field... fields)
      Registers the provided fields for JNI access at run time, if the condition is satisfied.
      Since:
      25.0.1