Class ClosureMagazine.Handle

java.lang.Object
com.kenai.jffi.ClosureMagazine.Handle
All Implemented Interfaces:
Closure.Handle
Enclosing class:
ClosureMagazine

private static final class ClosureMagazine.Handle extends Object implements Closure.Handle
  • Field Details

    • magazine

      private final ClosureMagazine magazine
    • closureAddress

      private final long closureAddress
    • codeAddress

      private final long codeAddress
  • Constructor Details

    • Handle

      private Handle(ClosureMagazine magazine, long closureAddress, long codeAddress)
  • Method Details

    • getAddress

      public long getAddress()
      Description copied from interface: Closure.Handle
      Gets the native code address of the closure. This can be passed into a native function that takes a function pointer.
      Specified by:
      getAddress in interface Closure.Handle
      Returns:
      The native address of the closure code.
    • setAutoRelease

      public void setAutoRelease(boolean autorelease)
      Description copied from interface: Closure.Handle
      Sets whether the closure memory should be released when the Handle is garbage collected or not.
      Specified by:
      setAutoRelease in interface Closure.Handle
      Parameters:
      autorelease - If true, the closure memory is automatically managed, else the closure memory must be explicitly freed.
    • dispose

      public void dispose()
      Description copied from interface: Closure.Handle
      Releases the closure memory back to the operating system. Although the closure trampoline memory will normally be released when the Handle is garbage collected, this may not happen for some time, and is non-deterministic. This allows explicit control over memory reclamation.
      Specified by:
      dispose in interface Closure.Handle
    • free

      public void free()
      Specified by:
      free in interface Closure.Handle