A RAII implementation of scoped guard which detaches the current thread
when dropped. The attached JNIEnv can be accessed through this guard
via its Deref implementation.
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 jclass. Just a JObject wrapped in a new
class.
Wrapper around [sys::jobject] that adds a lifetime to ensure that
the underlying JNI pointer won’t be accessible to safe Rust code if the
object reference is released.