Package com.kenai.jffi
Class ClosureManager
- java.lang.Object
-
- com.kenai.jffi.ClosureManager
-
public final class ClosureManager extends java.lang.ObjectAllocates and manages the lifecycle of native closures (aka callbacks)
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ClosurePoolgetClosurePool(CallContext callContext)static ClosureManagergetInstance()Gets the global instance of theClosureManagerClosure.HandlenewClosure(Closure closure, CallContext callContext)Wraps a java object that implements theClosureinterface in a native closure.Closure.HandlenewClosure(Closure closure, Type returnType, Type[] parameterTypes, CallingConvention convention)Wraps a java object that implements theClosureinterface in a native closure.ClosureMagazinenewClosureMagazine(CallContext callContext, java.lang.reflect.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 theClosureinterface 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.Handleinstance.
-
newClosure
public final Closure.Handle newClosure(Closure closure, CallContext callContext)
Wraps a java object that implements theClosureinterface 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.Handleinstance.
-
getClosurePool
public final ClosurePool getClosurePool(CallContext callContext)
-
newClosureMagazine
public ClosureMagazine newClosureMagazine(CallContext callContext, java.lang.reflect.Method method)
-
-