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