Package jnr.ffi.provider
Class DefaultObjectReferenceManager
- java.lang.Object
-
- jnr.ffi.ObjectReferenceManager
-
- jnr.ffi.provider.DefaultObjectReferenceManager
-
public final class DefaultObjectReferenceManager extends ObjectReferenceManager
-
-
Constructor Summary
Constructors Constructor Description DefaultObjectReferenceManager(Runtime runtime)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Pointer
add(java.lang.Object obj)
Adds a mapping from a java object to a unique native address.java.lang.Object
get(Pointer reference)
Gets the java object that is mapped to the native memory address referred to byreference
.boolean
remove(Pointer reference)
Removes a mapping from java object to native pointer.-
Methods inherited from class jnr.ffi.ObjectReferenceManager
freeReference, getObject, newInstance, newReference
-
-
-
-
Constructor Detail
-
DefaultObjectReferenceManager
public DefaultObjectReferenceManager(Runtime runtime)
-
-
Method Detail
-
add
public Pointer add(java.lang.Object obj)
Description copied from class:ObjectReferenceManager
Adds a mapping from a java object to a unique native address. Each call to this method is guaranteed to produce a memory address unique within the ObjectReferenceManager instance, even for the same object.A strong reference to
object
is maintained internally, untilObjectReferenceManager.remove(Pointer)
is called.- Specified by:
add
in classObjectReferenceManager
- Parameters:
obj
- The java object to generate a reference for- Returns:
- A pointer representing the unique id.
-
remove
public boolean remove(Pointer reference)
Description copied from class:ObjectReferenceManager
Removes a mapping from java object to native pointer.- Specified by:
remove
in classObjectReferenceManager
- Parameters:
reference
- a native memory pointer.- Returns:
- true if the mapping was removed.
-
get
public java.lang.Object get(Pointer reference)
Description copied from class:ObjectReferenceManager
Gets the java object that is mapped to the native memory address referred to byreference
.- Specified by:
get
in classObjectReferenceManager
- Parameters:
reference
- a native memory pointer.- Returns:
- The java object corresponding to
pointer
.
-
-