Package jnr.ffi.provider
Class DefaultObjectReferenceManager
java.lang.Object
jnr.ffi.ObjectReferenceManager
jnr.ffi.provider.DefaultObjectReferenceManager
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConcurrentMap
<Long, DefaultObjectReferenceManager.ObjectReference> private final Runtime
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdds a mapping from a java object to a unique native address.Gets the java object that is mapped to the native memory address referred to byreference
.private long
boolean
Removes a mapping from java object to native pointer.Methods inherited from class jnr.ffi.ObjectReferenceManager
freeReference, getObject, newInstance, newReference
-
Field Details
-
runtime
-
references
-
-
Constructor Details
-
DefaultObjectReferenceManager
-
-
Method Details
-
add
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
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
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
.
-
id
-