public final class NativeLibraryLoader
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
private static class |
NativeLibraryLoader.NoexecVolumeDetector |
| Modifier and Type | Field and Description |
|---|---|
private static boolean |
DELETE_NATIVE_LIB_AFTER_LOADING |
private static InternalLogger |
logger |
private static java.lang.String |
NATIVE_RESOURCE_HOME |
private static java.lang.String |
OSNAME |
private static java.io.File |
WORKDIR |
| Modifier | Constructor and Description |
|---|---|
private |
NativeLibraryLoader() |
| Modifier and Type | Method and Description |
|---|---|
private static byte[] |
classToByteArray(java.lang.Class<?> clazz)
Load the helper
Class as a byte array, to be redefined in specified ClassLoader. |
private static void |
closeQuietly(java.io.Closeable c) |
private static boolean |
isOSX() |
private static boolean |
isWindows() |
static void |
load(java.lang.String originalName,
java.lang.ClassLoader loader)
Load the given library with the specified
ClassLoader |
static void |
loadFirstAvailable(java.lang.ClassLoader loader,
java.lang.String... names)
Loads the first available library in the collection with the specified
ClassLoader. |
private static void |
loadLibrary(java.lang.ClassLoader loader,
java.lang.String name,
boolean absolute)
Loading the native library into the specified
ClassLoader. |
private static void |
loadLibraryByHelper(java.lang.Class<?> helper,
java.lang.String name,
boolean absolute) |
private static java.io.File |
tmpdir() |
private static java.io.File |
toDirectory(java.lang.String path) |
private static java.lang.Class<?> |
tryToLoadClass(java.lang.ClassLoader loader,
java.lang.Class<?> helper)
Try to load the helper
Class into specified ClassLoader. |
private static final InternalLogger logger
private static final java.lang.String NATIVE_RESOURCE_HOME
private static final java.lang.String OSNAME
private static final java.io.File WORKDIR
private static final boolean DELETE_NATIVE_LIB_AFTER_LOADING
private static java.io.File tmpdir()
private static java.io.File toDirectory(java.lang.String path)
private static boolean isWindows()
private static boolean isOSX()
public static void loadFirstAvailable(java.lang.ClassLoader loader,
java.lang.String... names)
ClassLoader.java.lang.IllegalArgumentException - if none of the given libraries load successfully.public static void load(java.lang.String originalName,
java.lang.ClassLoader loader)
ClassLoaderprivate static void loadLibrary(java.lang.ClassLoader loader,
java.lang.String name,
boolean absolute)
ClassLoader.loader - - The ClassLoader where the native library will be loaded intoname - - The native library path or nameabsolute - - Whether the native library will be loaded by path or by nameprivate static void loadLibraryByHelper(java.lang.Class<?> helper,
java.lang.String name,
boolean absolute)
throws java.lang.UnsatisfiedLinkError
java.lang.UnsatisfiedLinkErrorprivate static java.lang.Class<?> tryToLoadClass(java.lang.ClassLoader loader,
java.lang.Class<?> helper)
throws java.lang.ClassNotFoundException
Class into specified ClassLoader.loader - - The ClassLoader where to load the helper Classhelper - - The helper Classjava.lang.ClassNotFoundException - Helper class not found or loading failedprivate static byte[] classToByteArray(java.lang.Class<?> clazz)
throws java.lang.ClassNotFoundException
Class as a byte array, to be redefined in specified ClassLoader.clazz - - The helper Class provided by this bundleClass.java.lang.ClassNotFoundException - Helper class not found or loading failedprivate static void closeQuietly(java.io.Closeable c)