com.jniwrapper
Class DefaultLibraryLoader

java.lang.Object
  |
  +--com.jniwrapper.DefaultLibraryLoader
All Implemented Interfaces:
LibraryLoader

public class DefaultLibraryLoader
extends java.lang.Object
implements LibraryLoader

Default implementation for LibraryLoader that realizes Singleton pattern. Paths for searching libraries can be added via addPath() methods. The instance of this class can be obtained via getInstance().


Method Summary
 void addPath(java.io.File directory)
          Adds directory to path for searching libraries.
 void addPath(java.util.List directories)
          Adds directory list to path for searching libraries.
 void addPath(java.lang.String path)
          Adds colon-separated path.
 java.io.File findLibrary(java.lang.String name)
          Finds a library by its name.
static DefaultLibraryLoader getInstance()
          Returns singleton instance.
static java.lang.String getLibraryExtension()
          Returns a file extension for native code libraries used under current platform.
 void loadLibrary(java.lang.String name)
          Loads a native library by its name.
static java.lang.String mapLibraryName(java.lang.String libName)
          Maps a libary name to a plaftorm-specific filename.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static DefaultLibraryLoader getInstance()
Returns singleton instance.


addPath

public void addPath(java.io.File directory)
Adds directory to path for searching libraries.


addPath

public void addPath(java.util.List directories)
Adds directory list to path for searching libraries.


addPath

public void addPath(java.lang.String path)
Adds colon-separated path.


findLibrary

public java.io.File findLibrary(java.lang.String name)
Finds a library by its name.

Specified by:
findLibrary in interface LibraryLoader

loadLibrary

public void loadLibrary(java.lang.String name)
Loads a native library by its name. This method looks for a library within "java.library.path" as well as within added paths.

Specified by:
loadLibrary in interface LibraryLoader

mapLibraryName

public static java.lang.String mapLibraryName(java.lang.String libName)
Maps a libary name to a plaftorm-specific filename. If the passed name already has a file extension, it is returned as the result of this method.

Returns:
a platform-specific library name

getLibraryExtension

public static java.lang.String getLibraryExtension()
Returns a file extension for native code libraries used under current platform.