Package jnr.ffi

Enum LibraryOption

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<LibraryOption>

    public enum LibraryOption
    extends java.lang.Enum<LibraryOption>
    Options that apply to a library
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      CallingConvention
      The type of calling convention.
      FunctionMapper
      A function mapper which maps from java function names to native function names.
      IgnoreError
      Function calls should NOT save the errno/last error after the call.
      LoadNow
      Load the library into memory immediately, instead of lazily loading it
      PreferCustomPaths
      Relevant for GNU/Linux Platform.Linux only Prefer custom paths over system paths when loading a library, even if the custom path has a lower version.
      SaveError
      Function calls should save the errno/last error after the call.
      TypeMapper
      A type mapper which maps java types to native types is present.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static LibraryOption valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static LibraryOption[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • TypeMapper

        public static final LibraryOption TypeMapper
        A type mapper which maps java types to native types is present.
      • FunctionMapper

        public static final LibraryOption FunctionMapper
        A function mapper which maps from java function names to native function names.
      • LoadNow

        public static final LibraryOption LoadNow
        Load the library into memory immediately, instead of lazily loading it
      • PreferCustomPaths

        public static final LibraryOption PreferCustomPaths
        Relevant for GNU/Linux Platform.Linux only Prefer custom paths over system paths when loading a library, even if the custom path has a lower version. By default JNR-FFI will choose the library of the desired name with the highest version, whether in the custom paths or the system default paths. This can be a problem if you are distributing your own library for example libfoo.so and the system paths happen to have a libfoo.so.4 for example, in which case JNR-FFI will prefer the higher version despite your explicit custom paths. By using this option, JNR-FFI will know to prefer the custom paths, even if they have a lower version, this ensures consistent behaviors across environments.
    • Method Detail

      • values

        public static LibraryOption[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (LibraryOption c : LibraryOption.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static LibraryOption valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null