FileDocCategorySizeDatePackage
CacheFileManagerFactory.javaAPI DocAzureus 3.0.3.42326Thu Feb 09 19:42:52 GMT 2006com.aelitis.azureus.core.diskmanager.cache

CacheFileManagerFactory

public class CacheFileManagerFactory extends Object
author
parg

Fields Summary
public static final String
DEFAULT_MANAGER
private static CacheFileManager
manager
private static AEMonitor
class_mon
Constructors Summary
Methods Summary
public static CacheFileManagergetSingleton()

	
	
	  
	
	
		 
	
		return( getSingleton( null ));
	
public static CacheFileManagergetSingleton(java.lang.String explicit_implementation)

		try{
			class_mon.enter();
		
			if ( manager == null ){
				
				String	impl = explicit_implementation;
				
				if ( impl == null ){
					
					impl = System.getProperty( "com.aelitis.azureus.core.diskmanager.cache.manager");
				}
				
				if ( impl == null ){
					
					impl	= DEFAULT_MANAGER;
				}
				
				try{
					Class impl_class = CacheFileManagerFactory.class.getClassLoader().loadClass( impl );
					
					manager = (CacheFileManager)impl_class.newInstance();
									
				}catch( Throwable e ){
					
					throw( new CacheFileManagerException( null, "Failed to instantiate manager '" + impl + "'", e ));
				}
			}
			
			return( manager );
			
		}finally{
			
			class_mon.exit();
		}