Package com.codevasp.lazysodium.utils
Class LibraryLoader
java.lang.Object
com.codevasp.lazysodium.utils.LibraryLoader
A simple library class which helps with loading dynamic sodium library stored in the
JAR archive. Works with JNA.
This class is thread-safe.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumLibrary loading mode controls which libraries are attempted to be loaded (installed in the system or bundled in the Lazysodium JAR) and in which order. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringReturns the absolute path to sodium library inside JAR (beginning with '/'), e.g.voidloadAbsolutePath(String absPath) voidloadLibrary(LibraryLoader.Mode mode, String systemFallBack) Loads the sodium library and registers the native methods ofSodiumandSodiumJavausing the specified loading mode.voidloadSystemLibrary(String library)
-
Constructor Details
-
LibraryLoader
-
-
Method Details
-
getSodiumPathInResources
Returns the absolute path to sodium library inside JAR (beginning with '/'), e.g. /linux/libsodium.so.- Returns:
- The path to the libsodium binary.
-
loadLibrary
Loads the sodium library and registers the native methods ofSodiumandSodiumJavausing the specified loading mode. The library will be loaded at most once.- Parameters:
mode- controls which sodium library (installed in the system or bundled in the JAR) is loaded, and in which ordersystemFallBack- If loading directly fails then it will fall to the system fallback specified here- Throws:
LibraryLoadingException- if fails to load the library- See Also:
-
Native.register(Class, String)
-
loadSystemLibrary
-
loadAbsolutePath
-