package uk.co.mmscomputing.device.twain;
/**
* Used by jtwain for loading native libraries. Allow clients of jtwain to
* change the native library loading strategy before jtwain is first loaded.
*
* @author michael.lossos@softwaregoodness.com
*
*/
public class TwainNativeLoadStrategySingleton {
private TwainINativeLoadStrategy nativeLoadStrategy = new TwainDefaultNativeLoadStrategy();
/**
* Ensure thread safe lazy singleton initialization
*/
private static class TwainNativeLoadStrategyInstance {
public static TwainNativeLoadStrategySingleton instance = new TwainNativeLoadStrategySingleton();
}
public static TwainNativeLoadStrategySingleton getInstance() {
return TwainNativeLoadStrategyInstance.instance;
}
public TwainINativeLoadStrategy getNativeLoadStrategy() {
return nativeLoadStrategy;
}
public void setNativeLoadStrategy( TwainINativeLoadStrategy nativeLoadStrategy ) {
this.nativeLoadStrategy = nativeLoadStrategy;
}
}