# Class Library

java.lang.Object
org.apache.tomcat.jni.Library

public final class Library extends Object

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static boolean`
  `APR_CHARSET_EBCDIC`
  Deprecated.
  `static boolean`
  `APR_FILES_AS_SOCKETS`
  Deprecated.
  `static boolean`
  `APR_HAS_DSO`
  Deprecated.
  `static boolean`
  `APR_HAS_FORK`
  Deprecated.
  `static boolean`
  `APR_HAS_LARGE_FILES`
  Deprecated.
  `static boolean`
  `APR_HAS_MMAP`
  Deprecated.
  `static boolean`
  `APR_HAS_OS_UUID`
  Deprecated.
  `static boolean`
  `APR_HAS_OTHER_CHILD`
  Deprecated.
  `static boolean`
  `APR_HAS_PROC_INVOKED`
  Deprecated.
  `static boolean`
  `APR_HAS_RANDOM`
  Deprecated.
  `static boolean`
  `APR_HAS_SENDFILE`
  Deprecated.
  `static boolean`
  `APR_HAS_SHARED_MEMORY`
  Deprecated.
  `static boolean`
  `APR_HAS_SO_ACCEPTFILTER`
  Deprecated.
  `static boolean`
  `APR_HAS_THREADS`
  Deprecated.
  `static boolean`
  `APR_HAS_UNICODE_FS`
  Deprecated.
  `static boolean`
  `APR_HAS_USER`
  Deprecated.
  `static boolean`
  `APR_HAS_XTHREAD_FILES`
  Deprecated.
  `static boolean`
  `APR_HAVE_IPV6`
  Deprecated.
  `static boolean`
  `APR_HAVE_UNIX`
  Deprecated.
  `static boolean`
  `APR_IS_BIGENDIAN`
  Deprecated.
  `static int`
  `APR_IS_DEV_VERSION`
  `static int`
  `APR_MAJOR_VERSION`
  `static int`
  `APR_MAX_IOVEC_SIZE`
  Deprecated.
  `static int`
  `APR_MAX_SECS_TO_LINGER`
  Deprecated.
  `static int`
  `APR_MINOR_VERSION`
  `static int`
  `APR_MMAP_LIMIT`
  Deprecated.
  `static int`
  `APR_MMAP_THRESHOLD`
  Deprecated.
  `static boolean`
  `APR_O_NONBLOCK_INHERITED`
  Deprecated.
  `static int`
  `APR_PATCH_VERSION`
  `static int`
  `APR_PATH_MAX`
  Deprecated.
  `static boolean`
  `APR_POLLSET_WAKEABLE`
  Deprecated.
  `static int`
  `APR_SIZEOF_VOIDP`
  Deprecated.
  `static boolean`
  `APR_TCP_NODELAY_INHERITED`
  Deprecated.
  `static int`
  `APRMAXHOSTLEN`
  Deprecated.
  `static int`
  `TCN_IS_DEV_VERSION`
  `static int`
  `TCN_MAJOR_VERSION`
  `static int`
  `TCN_MINOR_VERSION`
  `static int`
  `TCN_PATCH_VERSION`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static String`
  `aprVersionString()`
  `static long`
  `getGeneration()`
  `static long`
  `globalPool()`
  Deprecated.
  `static boolean`
  `initialize(String libraryName)`
  Setup any APR internal data structures.
  `static void`
  `load(String filename)`
  Deprecated.
  Unused.
  `static void`
  `loadLibrary(String libname)`
  Deprecated.
  Unused.
  `static void`
  `returnCleanUpLock()`
  `static void`
  `terminate()`
  Destroys Tomcat Native's global APR pool.
  `static void`
  `threadSafeTerminate()`
  Allows for thread safe termination when other threads may be attempting clean-up concurrently with the current thread.
  `static boolean`
  `tryCleanUpLock(long cleanupGeneration)`
  `static String`
  `versionString()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### TCN_MAJOR_VERSION

    public static int TCN_MAJOR_VERSION

  - ### TCN_MINOR_VERSION

    public static int TCN_MINOR_VERSION

  - ### TCN_PATCH_VERSION

    public static int TCN_PATCH_VERSION

  - ### TCN_IS_DEV_VERSION

    public static int TCN_IS_DEV_VERSION

  - ### APR_MAJOR_VERSION

    public static int APR_MAJOR_VERSION

  - ### APR_MINOR_VERSION

    public static int APR_MINOR_VERSION

  - ### APR_PATCH_VERSION

    public static int APR_PATCH_VERSION

  - ### APR_IS_DEV_VERSION

    public static int APR_IS_DEV_VERSION

  - ### APR_HAVE_IPV6

    @Deprecated public static boolean APR_HAVE_IPV6
    Deprecated.

  - ### APR_HAS_SHARED_MEMORY

    @Deprecated public static boolean APR_HAS_SHARED_MEMORY
    Deprecated.

  - ### APR_HAS_THREADS

    @Deprecated public static boolean APR_HAS_THREADS
    Deprecated.

  - ### APR_HAS_SENDFILE

    @Deprecated public static boolean APR_HAS_SENDFILE
    Deprecated.

  - ### APR_HAS_MMAP

    @Deprecated public static boolean APR_HAS_MMAP
    Deprecated.

  - ### APR_HAS_FORK

    @Deprecated public static boolean APR_HAS_FORK
    Deprecated.

  - ### APR_HAS_RANDOM

    @Deprecated public static boolean APR_HAS_RANDOM
    Deprecated.

  - ### APR_HAS_OTHER_CHILD

    @Deprecated public static boolean APR_HAS_OTHER_CHILD
    Deprecated.

  - ### APR_HAS_DSO

    @Deprecated public static boolean APR_HAS_DSO
    Deprecated.

  - ### APR_HAS_SO_ACCEPTFILTER

    @Deprecated public static boolean APR_HAS_SO_ACCEPTFILTER
    Deprecated.

  - ### APR_HAS_UNICODE_FS

    @Deprecated public static boolean APR_HAS_UNICODE_FS
    Deprecated.

  - ### APR_HAS_PROC_INVOKED

    @Deprecated public static boolean APR_HAS_PROC_INVOKED
    Deprecated.

  - ### APR_HAS_USER

    @Deprecated public static boolean APR_HAS_USER
    Deprecated.

  - ### APR_HAS_LARGE_FILES

    @Deprecated public static boolean APR_HAS_LARGE_FILES
    Deprecated.

  - ### APR_HAS_XTHREAD_FILES

    @Deprecated public static boolean APR_HAS_XTHREAD_FILES
    Deprecated.

  - ### APR_HAS_OS_UUID

    @Deprecated public static boolean APR_HAS_OS_UUID
    Deprecated.

  - ### APR_IS_BIGENDIAN

    @Deprecated public static boolean APR_IS_BIGENDIAN
    Deprecated.

  - ### APR_FILES_AS_SOCKETS

    @Deprecated public static boolean APR_FILES_AS_SOCKETS
    Deprecated.

  - ### APR_CHARSET_EBCDIC

    @Deprecated public static boolean APR_CHARSET_EBCDIC
    Deprecated.

  - ### APR_TCP_NODELAY_INHERITED

    @Deprecated public static boolean APR_TCP_NODELAY_INHERITED
    Deprecated.

  - ### APR_O_NONBLOCK_INHERITED

    @Deprecated public static boolean APR_O_NONBLOCK_INHERITED
    Deprecated.

  - ### APR_POLLSET_WAKEABLE

    @Deprecated public static boolean APR_POLLSET_WAKEABLE
    Deprecated.

  - ### APR_HAVE_UNIX

    @Deprecated public static boolean APR_HAVE_UNIX
    Deprecated.

  - ### APR_SIZEOF_VOIDP

    @Deprecated public static int APR_SIZEOF_VOIDP
    Deprecated.

  - ### APR_PATH_MAX

    @Deprecated public static int APR_PATH_MAX
    Deprecated.

  - ### APRMAXHOSTLEN

    @Deprecated public static int APRMAXHOSTLEN
    Deprecated.

  - ### APR_MAX_IOVEC_SIZE

    @Deprecated public static int APR_MAX_IOVEC_SIZE
    Deprecated.

  - ### APR_MAX_SECS_TO_LINGER

    @Deprecated public static int APR_MAX_SECS_TO_LINGER
    Deprecated.

  - ### APR_MMAP_THRESHOLD

    @Deprecated public static int APR_MMAP_THRESHOLD
    Deprecated.

  - ### APR_MMAP_LIMIT

    @Deprecated public static int APR_MMAP_LIMIT
    Deprecated.

- ## Method Details

  - ### threadSafeTerminate

    public static void threadSafeTerminate()
    Allows for thread safe termination when other threads may be attempting clean-up concurrently with the current thread. Waits for any threads currently holding the clean-up lock to release the lock and then calls `terminate()`.

  - ### terminate

    public static void terminate()
    Destroys Tomcat Native's global APR pool. This has to be the last call to TCN library. This will destroy any APR root pools that have not been explicitly destroyed.

    This method should only be used if the caller is certain that all other threads have finished using the native library.

  - ### versionString

    public static String versionString()

  - ### aprVersionString

    public static String aprVersionString()

  - ### globalPool

    @Deprecated public static long globalPool()
    Deprecated.

  - ### initialize

    public static boolean initialize(String libraryName) throws Exception
    Setup any APR internal data structures. This MUST be the first function called for any APR library.
    Parameters:
      `libraryName` - the name of the library to load
    Returns:
      `true` if the native code was initialized successfully otherwise `false`
    Throws:
      `Exception` - if a problem occurred during initialization

  - ### tryCleanUpLock

    public static boolean tryCleanUpLock(long cleanupGeneration)

  - ### getGeneration

    public static long getGeneration()

  - ### returnCleanUpLock

    public static void returnCleanUpLock()

  - ### load

    @Deprecated public static void load(String filename)
    Deprecated.
    Unused. Will be removed in Tomcat 10.1.x
    Calls System.load(filename). System.load() associates the loaded library with the class loader of the class that called the System method. A native library may not be loaded by more than one class loader, so calling the System method from a class that was loaded by a Webapp class loader will make it impossible for other Webapps to load it. Using this method will load the native library via a shared class loader (typically the Common class loader, but may vary in some configurations), so that it can be loaded by multiple Webapps.
    Parameters:
      `filename` - - absolute path of the native library

  - ### loadLibrary

    @Deprecated public static void loadLibrary(String libname)
    Deprecated.
    Unused. Will be removed in Tomcat 10.1.x
    Calls System.loadLibrary(libname). System.loadLibrary() associates the loaded library with the class loader of the class that called the System method. A native library may not be loaded by more than one class loader, so calling the System method from a class that was loaded by a Webapp class loader will make it impossible for other Webapps to load it. Using this method will load the native library via a shared class loader (typically the Common class loader, but may vary in some configurations), so that it can be loaded by multiple Webapps.
    Parameters:
      `libname` - - the name of the native library