package dasherJava.core.output;
import com.sun.jna.Library;
import com.sun.jna.Native;
public class LazyLibraryLoader<T extends Library> {
private final String libraryName;
private final Class<T> libraryClass;
private T library = null;
public LazyLibraryLoader(String libraryName, Class<T> libraryClass) {
this.libraryName=libraryName;
this.libraryClass=libraryClass;
}
public synchronized T getLibrary() throws UnsatisfiedLinkError {
if (library==null) library=Native.load(libraryName, libraryClass);
return library;
}
}