--- experimental/server/PluginManager/PluginFilterManager.java 2000/12/01 09:51:32 1.2 +++ experimental/server/PluginManager/PluginFilterManager.java 2000/12/01 14:38:47 1.3 @@ -10,20 +10,11 @@ import uk.ac.ukc.iscream.util.*; class PluginFilterManager { - // public method to return an instance of a PluginFilterManager, - // as this class is a singleton. - public static PluginFilterManager init() throws AlreadyInitialisedException { - if (_instance != null){ - throw new AlreadyInitialisedException("init() has already been called."); - } - _instance = new PluginFilterManager(); - return _instance; - } - // Return a reference to the single class. + // Construct it if it does not already exist, otherwise just return the reference. public static PluginFilterManager getInstance() throws NotInitialisedException { if (_instance == null){ - throw new NotInitialisedException("An instance of PluginFilterManager hasn't been initialised yet!"); + return new PluginFilterManager(); } return _instance; } @@ -33,6 +24,7 @@ class PluginFilterManager { private PluginFilterManager(){ System.out.println("Creating filter pipeline for plugin filters ..."); + System.out.println(""); // Look in the specified directory for "*__Plugin.class" files. File file = new File(_directory); @@ -50,7 +42,7 @@ class PluginFilterManager { try { PluginFilter pf = (PluginFilter)ClassLoader.getSystemClassLoader().loadClass(files[i]).newInstance(); _filterPipeline.add(pf); - System.out.println("Added filter: "+files[i]); + System.out.println("Added filter: "+files[i]+" ("+pf.getDescription()+")"); } catch (InstantiationException e){ System.out.println("Failed to add "+files[i]+" to the plugin filter pipeline."); @@ -64,7 +56,8 @@ class PluginFilterManager { //System.out.println("Ignoring "+files[i]+" in the plugin folder."); } } - + + System.out.println(""); System.out.println("The filter pipeline has been set up with "+_filterPipeline.size()+" plugin filters."); }