TrueZIP Kernel 7.0-rc1

de.schlichtherle.truezip.socket.sl
Class IOPoolLocator

java.lang.Object
  extended by de.schlichtherle.truezip.socket.sl.IOPoolLocator
All Implemented Interfaces:
IOPoolService

@Immutable
public final class IOPoolLocator
extends Object
implements IOPoolService

Locates an I/O pool service of a class with a name which is resolved by querying a system property or searching the class path, whatever yields a result first.

First, the value of the system property with the class name "de.schlichtherle.truezip.socket.spi.IOPoolProvider" as the key is queried. If this yields a value, the class with that name is then loaded and instantiated by calling its no-arg constructor.

Otherwise, the class path is searched for any resource file with the name "META-INF/services/de.schlichtherle.truezip.socket.spi.IOPoolProvider". If this yields a result, the class with the name in this file is then loaded and instantiated by calling its no-arg constructor.

Otherwise, a ServiceConfigurationError is thrown.

Author:
Christian Schlichtherle

Field Summary
private  IOPoolProvider provider
           
static IOPoolLocator SINGLETON
          The singleton instance of this class.
 
Constructor Summary
private IOPoolLocator()
          You cannot instantiate this class.
 
Method Summary
 IOPool<?> getPool()
          Returns an I/O pool.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SINGLETON

public static final IOPoolLocator SINGLETON
The singleton instance of this class.


provider

private final IOPoolProvider provider
Constructor Detail

IOPoolLocator

private IOPoolLocator()
You cannot instantiate this class.

Method Detail

getPool

public IOPool<?> getPool()
Returns an I/O pool.

Calling this method multiple times may return different I/O pools, so callers might need to cache the result for subsequent use.

The implementation in the class IOPoolLocator delegates the call to the container loaded by the constructor.

Specified by:
getPool in interface IOPoolService
Returns:
An I/O pool.

TrueZIP Kernel 7.0-rc1

Copyright © 2005-2011 Schlichtherle IT Services. All Rights Reserved.