public final class DefaultObjectReferenceManager extends ObjectReferenceManager
Modifier and Type | Class and Description |
---|---|
private static class |
DefaultObjectReferenceManager.ObjectReference |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ConcurrentMap<java.lang.Long,DefaultObjectReferenceManager.ObjectReference> |
references |
private Runtime |
runtime |
Constructor and Description |
---|
DefaultObjectReferenceManager(Runtime runtime) |
Modifier and Type | Method and 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 by
reference . |
private long |
id(java.lang.Object obj) |
boolean |
remove(Pointer reference)
Removes a mapping from java object to native pointer.
|
freeReference, getObject, newInstance, newReference
private final Runtime runtime
private final java.util.concurrent.ConcurrentMap<java.lang.Long,DefaultObjectReferenceManager.ObjectReference> references
public DefaultObjectReferenceManager(Runtime runtime)
public Pointer add(java.lang.Object obj)
ObjectReferenceManager
A strong reference to object
is maintained internally, until ObjectReferenceManager.remove(Pointer)
is called.
add
in class ObjectReferenceManager
obj
- The java object to generate a reference forpublic boolean remove(Pointer reference)
ObjectReferenceManager
remove
in class ObjectReferenceManager
reference
- a native memory pointer.public java.lang.Object get(Pointer reference)
ObjectReferenceManager
reference
.get
in class ObjectReferenceManager
reference
- a native memory pointer.pointer
.private long id(java.lang.Object obj)