FileDocCategorySizeDatePackage
Library.javaAPI DocApache Tomcat 6.0.148078Fri Jul 20 04:20:32 BST 2007org.apache.tomcat.jni

Library

public final class Library extends Object
Library
author
Mladen Turk
version
$Revision: 467222 $, $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $

Fields Summary
private static String[]
NAMES
private static Library
_instance
public static int
TCN_MAJOR_VERSION
public static int
TCN_MINOR_VERSION
public static int
TCN_PATCH_VERSION
public static int
TCN_IS_DEV_VERSION
public static int
APR_MAJOR_VERSION
public static int
APR_MINOR_VERSION
public static int
APR_PATCH_VERSION
public static int
APR_IS_DEV_VERSION
public static boolean
APR_HAVE_IPV6
public static boolean
APR_HAS_SHARED_MEMORY
public static boolean
APR_HAS_THREADS
public static boolean
APR_HAS_SENDFILE
public static boolean
APR_HAS_MMAP
public static boolean
APR_HAS_FORK
public static boolean
APR_HAS_RANDOM
public static boolean
APR_HAS_OTHER_CHILD
public static boolean
APR_HAS_DSO
public static boolean
APR_HAS_SO_ACCEPTFILTER
public static boolean
APR_HAS_UNICODE_FS
public static boolean
APR_HAS_PROC_INVOKED
public static boolean
APR_HAS_USER
public static boolean
APR_HAS_LARGE_FILES
public static boolean
APR_HAS_XTHREAD_FILES
public static boolean
APR_HAS_OS_UUID
public static boolean
APR_IS_BIGENDIAN
public static boolean
APR_FILES_AS_SOCKETS
public static boolean
APR_CHARSET_EBCDIC
public static boolean
APR_TCP_NODELAY_INHERITED
public static boolean
APR_O_NONBLOCK_INHERITED
public static int
APR_SIZEOF_VOIDP
public static int
APR_PATH_MAX
public static int
APRMAXHOSTLEN
public static int
APR_MAX_IOVEC_SIZE
public static int
APR_MAX_SECS_TO_LINGER
public static int
APR_MMAP_THRESHOLD
public static int
APR_MMAP_LIMIT
Constructors Summary
private Library()


     
    
        boolean loaded = false;
        String err = "";
        for (int i = 0; i < NAMES.length; i++) {
            try {
                System.loadLibrary(NAMES[i]);
                loaded = true;
            }
            catch (Throwable e) {
                if ( i > 0)
                    err += ", ";
                err +=  e.getMessage();
            }
            if (loaded)
                break;
        }
        if (!loaded) {
            err += "(";
            err += System.getProperty("java.library.path");
            err += ")";
            throw new UnsatisfiedLinkError(err);
        }
    
private Library(String libraryName)

        System.loadLibrary(libraryName);
    
Methods Summary
public static native java.lang.StringaprVersionString()

public static native longglobalPool()

private static native booleanhas(int what)

public static booleaninitialize(java.lang.String libraryName)
Setup any APR internal data structures. This MUST be the first function called for any APR library.

param
libraryName the name of the library to load


    /* return global TCN's APR pool */
        

                                    
        
         
    
        if (_instance == null) {
            if (libraryName == null)
                _instance = new Library();
            else
                _instance = new Library(libraryName);
            TCN_MAJOR_VERSION  = version(0x01);
            TCN_MINOR_VERSION  = version(0x02);
            TCN_PATCH_VERSION  = version(0x03);
            TCN_IS_DEV_VERSION = version(0x04);
            APR_MAJOR_VERSION  = version(0x11);
            APR_MINOR_VERSION  = version(0x12);
            APR_PATCH_VERSION  = version(0x13);
            APR_IS_DEV_VERSION = version(0x14);

            APR_SIZEOF_VOIDP        = size(1);
            APR_PATH_MAX            = size(2);
            APRMAXHOSTLEN           = size(3);
            APR_MAX_IOVEC_SIZE      = size(4);
            APR_MAX_SECS_TO_LINGER  = size(5);
            APR_MMAP_THRESHOLD      = size(6);
            APR_MMAP_LIMIT          = size(7);

            APR_HAVE_IPV6           = has(0);
            APR_HAS_SHARED_MEMORY   = has(1);
            APR_HAS_THREADS         = has(2);
            APR_HAS_SENDFILE        = has(3);
            APR_HAS_MMAP            = has(4);
            APR_HAS_FORK            = has(5);
            APR_HAS_RANDOM          = has(6);
            APR_HAS_OTHER_CHILD     = has(7);
            APR_HAS_DSO             = has(8);
            APR_HAS_SO_ACCEPTFILTER = has(9);
            APR_HAS_UNICODE_FS      = has(10);
            APR_HAS_PROC_INVOKED    = has(11);
            APR_HAS_USER            = has(12);
            APR_HAS_LARGE_FILES     = has(13);
            APR_HAS_XTHREAD_FILES   = has(14);
            APR_HAS_OS_UUID         = has(15);
            APR_IS_BIGENDIAN        = has(16);
            APR_FILES_AS_SOCKETS    = has(17);
            APR_CHARSET_EBCDIC      = has(18);
            APR_TCP_NODELAY_INHERITED = has(19);
            APR_O_NONBLOCK_INHERITED  = has(20);
            if (APR_MAJOR_VERSION < 1) {
                throw new UnsatisfiedLinkError("Unsupported APR Version (" +
                                               aprVersionString() + ")");
            }
            if (!APR_HAS_THREADS) {
                throw new UnsatisfiedLinkError("Missing APR_HAS_THREADS");
            }
        }
        return initialize();
    
private static native booleaninitialize()

private static native intsize(int what)

public static native voidterminate()

private static native intversion(int what)

public static native java.lang.StringversionString()