Package com.kenai.jffi
Class ClosureManager
- java.lang.Object
-
- com.kenai.jffi.ClosureManager
-
public final class ClosureManager extends Object
Allocates and manages the lifecycle of native closures (aka callbacks)
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ClosurePool
getClosurePool(CallContext callContext)
static ClosureManager
getInstance()
Gets the global instance of theClosureManager
Closure.Handle
newClosure(Closure closure, CallContext callContext)
Wraps a java object that implements theClosure
interface in a native closure.Closure.Handle
newClosure(Closure closure, Type returnType, Type[] parameterTypes, CallingConvention convention)
Wraps a java object that implements theClosure
interface in a native closure.ClosureMagazine
newClosureMagazine(CallContext callContext, Method method)
-
-
-
Method Detail
-
getInstance
public static ClosureManager getInstance()
Gets the global instance of theClosureManager
- Returns:
- An instance of a
ClosureManager
-
newClosure
public final Closure.Handle newClosure(Closure closure, Type returnType, Type[] parameterTypes, CallingConvention convention)
Wraps a java object that implements theClosure
interface in a native closure.- Parameters:
closure
- The java object to be called when the native closure is invoked.returnType
- The return type of the closure.parameterTypes
- The parameter types of the closure.convention
- The calling convention of the closure.- Returns:
- A new
Closure.Handle
instance.
-
newClosure
public final Closure.Handle newClosure(Closure closure, CallContext callContext)
Wraps a java object that implements theClosure
interface in a native closure.- Parameters:
closure
- The java object to be called when the native closure is invoked.callContext
- The call context (return type, param types, convention) of the Closure- Returns:
- A new
Closure.Handle
instance.
-
getClosurePool
public final ClosurePool getClosurePool(CallContext callContext)
-
newClosureMagazine
public ClosureMagazine newClosureMagazine(CallContext callContext, Method method)
-
-