Class NativeLibraryPathResolver

java.lang.Object
com.inductiveautomation.ignition.common.util.NativeLibraryPathResolver

public class NativeLibraryPathResolver extends Object
Resolves file paths to native libraries based on the following file structure:

 /native/$os/$arch/native_lib_filename
 

Valid $os values include:

  • win
  • linux
  • osx
  • hpux

Valid $arch values include:

  • x86
  • x64
  • arm
  • itanium

This directory structure is used to load native library exports out of jar files.

  • Method Details

    • resolvePath

      public static String resolvePath(String filename)
      Resolve the path to filename based on the current Platform.
      Parameters:
      filename - The name of the native library file.
      Returns:
      The path to the native library, taking into account the current Platform.
    • resolvePath

      public static String resolvePath(String filename, Platform platform)
      Resolve the path to filename based on the given Platform.
      Parameters:
      filename - The name of the native library file.
      platform - The Platform to take into account.
      Returns:
      The path to the native library, taking into account the given Platform.
    • resolveLibFileAbsolutePath

      @Nullable public static String resolveLibFileAbsolutePath(@Nonnull String libName)
      Resolves the absolute file path (or null) to the library if it exists on the 'java.library.path'
      Parameters:
      libName - The raw lib name. This is passed through System.mapLibraryName(String) before file lookup occurs. Must not be null
    • getPlatformNativeSuffix

      public static String getPlatformNativeSuffix()
      Returns the native suffix, along with the ".", eg ".dll"