package com.technofovea.hllib;
import com.sun.jna.FromNativeContext;
import com.sun.jna.ToNativeContext;
import com.sun.jna.TypeConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author Darien Hager
*/
class PackageConverter implements TypeConverter {
private static final Logger logger = LoggerFactory.getLogger(PackageConverter.class);
public Object fromNative(Object input, FromNativeContext context) {
assert (context.getTargetType().equals(HlPackage.class));
Integer i = (Integer) input;
if (i < 0) {
logger.error("Could not convert package from negative native value {}",i);
return null; //TODO better way to report errors?
}
HlPackage pkg = HlPackage.create(i);
return pkg;
}
public Object toNative(Object input, ToNativeContext context) {
HlPackage pkg = (HlPackage) input;
return pkg.getID();
}
public Class nativeType() {
return Integer.class;
}
}