Package jnr.ffi.mapper
Class CachingTypeMapper
- java.lang.Object
-
- jnr.ffi.mapper.AbstractSignatureTypeMapper
-
- jnr.ffi.mapper.CachingTypeMapper
-
- All Implemented Interfaces:
SignatureTypeMapper
public final class CachingTypeMapper extends AbstractSignatureTypeMapper implements SignatureTypeMapper
Caches native converter lookups by class.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classCachingTypeMapper.InvalidType
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<SignatureType,FromNativeType>fromNativeTypeMapprivate SignatureTypeMappermapperprivate static CachingTypeMapper.InvalidTypeNO_TYPEprivate java.util.Map<SignatureType,ToNativeType>toNativeTypeMapprivate static CachingTypeMapper.InvalidTypeUNCACHEABLE_TYPE
-
Constructor Summary
Constructors Constructor Description CachingTypeMapper(SignatureTypeMapper mapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FromNativeTypegetFromNativeType(SignatureType type, FromNativeContext context)ToNativeTypegetToNativeType(SignatureType type, ToNativeContext context)private FromNativeTypelookupAndCacheFromNativeType(SignatureType signature, FromNativeContext context)private ToNativeTypelookupAndCacheToNativeType(SignatureType signature, ToNativeContext context)
-
-
-
Field Detail
-
mapper
private final SignatureTypeMapper mapper
-
toNativeTypeMap
private volatile java.util.Map<SignatureType,ToNativeType> toNativeTypeMap
-
fromNativeTypeMap
private volatile java.util.Map<SignatureType,FromNativeType> fromNativeTypeMap
-
UNCACHEABLE_TYPE
private static final CachingTypeMapper.InvalidType UNCACHEABLE_TYPE
-
NO_TYPE
private static final CachingTypeMapper.InvalidType NO_TYPE
-
-
Constructor Detail
-
CachingTypeMapper
public CachingTypeMapper(SignatureTypeMapper mapper)
-
-
Method Detail
-
getFromNativeType
public FromNativeType getFromNativeType(SignatureType type, FromNativeContext context)
- Specified by:
getFromNativeTypein interfaceSignatureTypeMapper- Overrides:
getFromNativeTypein classAbstractSignatureTypeMapper
-
getToNativeType
public ToNativeType getToNativeType(SignatureType type, ToNativeContext context)
- Specified by:
getToNativeTypein interfaceSignatureTypeMapper- Overrides:
getToNativeTypein classAbstractSignatureTypeMapper
-
lookupAndCacheFromNativeType
private FromNativeType lookupAndCacheFromNativeType(SignatureType signature, FromNativeContext context)
-
lookupAndCacheToNativeType
private ToNativeType lookupAndCacheToNativeType(SignatureType signature, ToNativeContext context)
-
-