Class DefaultObjectReferenceManager

java.lang.Object
jnr.ffi.ObjectReferenceManager
jnr.ffi.provider.DefaultObjectReferenceManager

public final class DefaultObjectReferenceManager extends ObjectReferenceManager
  • Constructor Details

    • DefaultObjectReferenceManager

      public DefaultObjectReferenceManager(Runtime runtime)
  • Method Details

    • add

      public Pointer add(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, until ObjectReferenceManager.remove(Pointer) is called.

      Specified by:
      add in class ObjectReferenceManager
      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 class ObjectReferenceManager
      Parameters:
      reference - a native memory pointer.
      Returns:
      true if the mapping was removed.
    • get

      public Object get(Pointer reference)
      Description copied from class: ObjectReferenceManager
      Gets the java object that is mapped to the native memory address referred to by reference.
      Specified by:
      get in class ObjectReferenceManager
      Parameters:
      reference - a native memory pointer.
      Returns:
      The java object corresponding to pointer.