Struct jni::objects::JStaticMethodID
source · [−]#[repr(transparent)]pub struct JStaticMethodID { /* private fields */ }
Expand description
Wrapper around jmethodID
that implements Send
+ Sync
since method IDs
are valid across threads (not tied to a JNIEnv
).
There is no lifetime associated with these since they aren’t garbage collected like objects and their lifetime is not implicitly connected with the scope in which they are queried.
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 jmethodID
.
Safety
According to the JNI spec method IDs may be invalidated when the corresponding class is unloaded.
Since this constraint can’t be encoded as a Rust lifetime, and to avoid the excessive cost of having every Method ID be associated with a global reference to the corresponding class then it is the developers responsibility to ensure they hold some class reference for the lifetime of cached method IDs.
Implementations
Trait Implementations
sourceimpl Clone for JStaticMethodID
impl Clone for JStaticMethodID
sourcefn clone(&self) -> JStaticMethodID
fn clone(&self) -> JStaticMethodID
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more