Expand description

Wrappers for object pointers returned from the JVM.

Structs

Auto-release wrapper for pointer-based generic arrays.
Auto-delete wrapper for local refs.
Auto-release wrapper for pointer-based primitive arrays.
A global JVM reference. These are “pinned” by the garbage collector and are guaranteed to not get collected until released. Thus, this is allowed to outlive the JNIEnv that it came from and can be used in other threads.
Lifetime’d representation of a jobject that is an instance of the ByteBuffer Java class. Just a JObject wrapped in a new class.
Lifetime’d representation of a jclass. Just a JObject wrapped in a new class.
Wrapper around jfieldID that implements Send + Sync since method IDs are valid across threads (not tied to a JNIEnv).
Wrapper for JObjects that implement java/util/List. Provides methods to get, add, and remove elements.
An iterator over the keys and values in a map.
Wrapper for JObjects that implement java/util/Map. Provides methods to get and set entries and a way to iterate over key/value pairs.
An iterator over the keys and values in a map.
Wrapper around jmethodID that implements Send + Sync since method IDs are valid across threads (not tied to a JNIEnv).
Wrapper around sys::jobject that adds a lifetime. This prevents it from outliving the context in which it was acquired and getting GC’d out from under us. It matches C’s representation of the raw pointer, so it can be used in any of the extern function argument positions that would take a jobject.
Wrapper around jfieldID that implements Send + Sync since field IDs are valid across threads (not tied to a JNIEnv).
Wrapper around jmethodID that implements Send + Sync since method IDs are valid across threads (not tied to a JNIEnv).
Lifetime’d representation of a jstring. Just a JObject wrapped in a new class.
Lifetime’d representation of a jthrowable. Just a JObject wrapped in a new class.

Enums

Rusty version of the JNI C jvalue enum. Used in Java method call arguments and returns.
ReleaseMode

Traits

Trait to define type array access/release