Top Description Fields Constructors Methods
org.apache.sshd.agent.unix

public final Class AprLibrary

extends Object
Class Inheritance
Imports
java.io.File, .IOException, org.apache.sshd.common.util.OsUtils, org.apache.tomcat.jni.Library, org.apache.tomcat.jni.Pool

Internal singleton used for initializing correctly the APR native library and the associated root memory pool.

It'll finalize nicely the native resources (libraries and memory pools).

Each memory pool used in the APR transport module needs to be children of the root pool AprLibrary#getRootPool().
Author
Apache MINA Project

Field Summary

Modifier and TypeField and Description
private static AprLibrary
private final long

Constructor Summary

AccessConstructor and Description
private
AprLibrary()

APR library singleton constructor.

Method Summary

Modifier and TypeMethod and Description
private static void
chmodOwner(String authSocket, boolean execute)

pack-priv static String
protected void
finalize()

Overrides java.lang.Object.finalize.

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

public static synchronized AprLibrary

Returns:

the current APR library singleton
getInstance
()

get the shared instance of APR library, if none, initialize one

pack-priv long

Returns:

number identifying the root pool
getRootPool
()

get the package wide root pool, the mother of all the pool created in APR transport module.

private static synchronized void
initialize()

initialize the APR Library by loading the associated native libraries and creating the associated singleton

public static synchronized boolean

Returns:

true if the Library is initialized, false otherwise
isInitialized
()

is the APR library was initialized.

pack-priv static void
secureLocalSocket(String authSocket, long handle)

Inherited from java.lang.Object:
cloneequalsgetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

libraryback to summary
private static AprLibrary library
poolback to summary
private final long pool

Constructor Detail

AprLibraryback to summary
private AprLibrary()

APR library singleton constructor. Called only when accessing the singleton the first time. It is initializing an APR memory pool for the whole package (a.k.a mother or root pool).

Exceptions
RuntimeException:
if failed to load the library. Note: callers should inspect the cause of the exception in case an Error was thrown (e.g., UnsatisfiedLinkError).

Method Detail

chmodOwnerback to summary
private static void chmodOwner(String authSocket, boolean execute) throws IOException
createLocalSocketAddressback to summary
pack-priv static String createLocalSocketAddress() throws IOException
finalizeback to summary
protected void finalize() throws Throwable

Overrides java.lang.Object.finalize.

Doc from java.lang.Object.finalize.

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.

When running in a Java virtual machine in which finalization has been disabled or removed, the garbage collector will never call finalize(). In a Java virtual machine in which finalization is enabled, the garbage collector might call finalize only after an indefinite delay.

The general contract of finalize is that it is invoked if and when the Java virtual machine has determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, except as a result of an action taken by the finalization of some other object or class which is ready to be finalized. The finalize method may take any action, including making this object available again to other threads; the usual purpose of finalize, however, is to perform cleanup actions before the object is irrevocably discarded. For example, the finalize method for an object that represents an input/output connection might perform explicit I/O transactions to break the connection before the object is permanently discarded.

The finalize method of class Object performs no special action; it simply returns normally. Subclasses of Object may override this definition.

The Java programming language does not guarantee which thread will invoke the finalize method for any given object. It is guaranteed, however, that the thread that invokes finalize will not be holding any user-visible synchronization locks when finalize is invoked. If an uncaught exception is thrown by the finalize method, the exception is ignored and finalization of that object terminates.

After the finalize method has been invoked for an object, no further action is taken until the Java virtual machine has again determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, including possible actions by other objects or classes which are ready to be finalized, at which point the object may be discarded.

The finalize method is never invoked more than once by a Java virtual machine for any given object.

Any exception thrown by the finalize method causes the finalization of this object to be halted, but is otherwise ignored.

Annotations
@Override
@SuppressWarnings:checkstyle:NoFinalizer, deprecation
Exceptions
Throwable:
the Exception raised by this method
getInstanceback to summary
public static synchronized AprLibrary getInstance()

get the shared instance of APR library, if none, initialize one

Returns:AprLibrary

the current APR library singleton

getRootPoolback to summary
pack-priv long getRootPool()

get the package wide root pool, the mother of all the pool created in APR transport module.

Returns:long

number identifying the root pool

initializeback to summary
private static synchronized void initialize()

initialize the APR Library by loading the associated native libraries and creating the associated singleton

isInitializedback to summary
public static synchronized boolean isInitialized()

is the APR library was initialized.

Returns:boolean

true if the Library is initialized, false otherwise

secureLocalSocketback to summary
pack-priv static void secureLocalSocket(String authSocket, long handle) throws IOException