public class HSObject extends Object
JNIMethodScope and thus invalid once the scope
exits or a global JNI handle that is only released sometime after the HSObject dies.| Constructor and Description |
|---|
HSObject(JNI.JNIEnv env,
JNI.JObject handle)
Creates an object encapsulating a
handle whose lifetime is determined by this object. |
HSObject(JNI.JNIEnv env,
JNI.JObject handle,
boolean allowGlobalDuplicates,
boolean weak)
Creates an object encapsulating a
handle whose lifetime is determined by this object. |
HSObject(JNIMethodScope scope,
JNI.JObject handle)
Creates an object encapsulating a
handle whose lifetime is limited to scope. |
| Modifier and Type | Method and Description |
|---|---|
static void |
cleanHandles(JNI.JNIEnv env)
Processes
HSObject.CLEANERS_QUEUE to release any handles whose objects are now unreachable. |
JNI.JObject |
getHandle() |
void |
release(JNI.JNIEnv env) |
String |
toString() |
public HSObject(JNI.JNIEnv env, JNI.JObject handle)
handle whose lifetime is determined by this object.
The created HSObject uses a JNI global reference and does not allow duplicate JNI
references. Use #HSObject(JNIEnv, JObject, boolean, boolean) to create
HSObject using a JNI weak reference or allowing duplicate JNI references.public HSObject(JNI.JNIEnv env, JNI.JObject handle, boolean allowGlobalDuplicates, boolean weak)
handle whose lifetime is determined by this object.
The created HSObject possibly allows duplicate JNI global handles.public HSObject(JNIMethodScope scope, JNI.JObject handle)
handle whose lifetime is limited to scope.
Once scope.close() is called, any attempt to use the handle
will result in an IllegalArgumentException.public final JNI.JObject getHandle()
public final void release(JNI.JNIEnv env)
public static void cleanHandles(JNI.JNIEnv env)
HSObject.CLEANERS_QUEUE to release any handles whose objects are now unreachable.