Package jnr.ffi.provider.jffi
Class NativeClosureManager
- java.lang.Object
-
- jnr.ffi.provider.jffi.NativeClosureManager
-
- All Implemented Interfaces:
ClosureManager
final class NativeClosureManager extends java.lang.Object implements ClosureManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NativeClosureManager.ClosureSite<T>
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.ClassLoader,AsmClassLoader>
asmClassLoaders
private java.util.Map<java.lang.Class<?>,NativeClosureFactory>
factories
private Runtime
runtime
private SignatureTypeMapper
typeMapper
-
Constructor Summary
Constructors Constructor Description NativeClosureManager(Runtime runtime, SignatureTypeMapper typeMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) <T> NativeClosureFactory<T>
getClosureFactory(java.lang.Class<T> closureClass)
<T> Pointer
getClosurePointer(java.lang.Class<? extends T> closureClass, T instance)
(package private) <T> NativeClosureFactory<T>
initClosureFactory(java.lang.Class<T> closureClass, AsmClassLoader classLoader)
<T> T
newClosure(java.lang.Class<? extends T> closureClass, T instance)
(package private) <T> ToNativeConverter<T,Pointer>
newClosureSite(java.lang.Class<T> closureClass)
-
-
-
Field Detail
-
factories
private volatile java.util.Map<java.lang.Class<?>,NativeClosureFactory> factories
-
asmClassLoaders
private volatile java.util.Map<java.lang.ClassLoader,AsmClassLoader> asmClassLoaders
-
runtime
private final Runtime runtime
-
typeMapper
private final SignatureTypeMapper typeMapper
-
-
Constructor Detail
-
NativeClosureManager
NativeClosureManager(Runtime runtime, SignatureTypeMapper typeMapper)
-
-
Method Detail
-
getClosureFactory
<T> NativeClosureFactory<T> getClosureFactory(java.lang.Class<T> closureClass)
-
newClosure
public <T> T newClosure(java.lang.Class<? extends T> closureClass, T instance)
- Specified by:
newClosure
in interfaceClosureManager
-
getClosurePointer
public final <T> Pointer getClosurePointer(java.lang.Class<? extends T> closureClass, T instance)
- Specified by:
getClosurePointer
in interfaceClosureManager
-
initClosureFactory
<T> NativeClosureFactory<T> initClosureFactory(java.lang.Class<T> closureClass, AsmClassLoader classLoader)
-
newClosureSite
<T> ToNativeConverter<T,Pointer> newClosureSite(java.lang.Class<T> closureClass)
-
-