Hilbert II - Version 0.03.08

org.qedeq.kernel.bo.load
Class DefaultModuleFactory

java.lang.Object
  extended byorg.qedeq.kernel.bo.load.DefaultModuleFactory
All Implemented Interfaces:
ModuleFactory

public class DefaultModuleFactory
extends Object
implements ModuleFactory

This class provides access methods for loading QEDEQ modules.

Version:
$Revision: 1.7 $

Constructor Summary
DefaultModuleFactory(Kernel kernel)
          Constructor.
 
Method Summary
 void autoReloadLastSessionChecked()
          If configured load all QEDEQ modules that where successfully loaded the last time.
 void clearLocalBuffer()
          Clear local file buffer and all loaded QEDEQ modules.
 ModuleAddress[] getAllLoadedModules()
          Get list of all currently loaded QEDEQ modules.
 File getBufferDirectory()
          Get buffer directory for QEDEQ module files.
 File getGenerationDirectory()
          Get directory for generated files.
 File getLocalFilePath(ModuleAddress address)
          Transform an URL address into a relative local file path.
 ModuleAddress getModuleAddress(File file)
          Get module address from URL.
 ModuleAddress getModuleAddress(String url)
          Get module address from URL.
 ModuleAddress getModuleAddress(URL url)
          Get module address from URL.
 ModuleProperties getModuleProperties(ModuleAddress address)
          Get ModuleProperties for an address.
 boolean loadAllModulesFromQedeq()
          Load all QEDEQ modules from project web directory for current kernel.
 ModuleProperties loadModule(ModuleAddress address)
          Get a certain module.
 ModuleProperties loadModule(QedeqBo module, Specification spec)
          Load a certain module.
 boolean loadPreviouslySuccessfullyLoadedModules()
          Load all previously checked QEDEQ modules.
 void loadRequiredModules(ModuleAddress address)
          Get a certain module.
 void removeAllModules()
          Remove all modules from memory.
 void removeModule(ModuleAddress address)
          Remove a QEDEQ module from memory.
 void removeModule(ModuleProperties prop)
          Remove a QEDEQ module from memory.
 void startup()
          Initialisation of ModuleFactory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultModuleFactory

public DefaultModuleFactory(Kernel kernel)
Constructor.

Parameters:
kernel - For kernel access.
Method Detail

startup

public void startup()
Description copied from interface: ModuleFactory
Initialisation of ModuleFactory. This method should be called from the Kernel directly after switching into ready state. Calling this method in ready state is not supported. TODO mime 20070411: what about an appropriate closing method?

Specified by:
startup in interface ModuleFactory

autoReloadLastSessionChecked

public void autoReloadLastSessionChecked()
If configured load all QEDEQ modules that where successfully loaded the last time.


removeAllModules

public void removeAllModules()
Description copied from interface: ModuleFactory
Remove all modules from memory.

Specified by:
removeAllModules in interface ModuleFactory

removeModule

public void removeModule(ModuleAddress address)
                  throws IOException
Remove a QEDEQ module from memory.

Specified by:
removeModule in interface ModuleFactory
Parameters:
address - Remove module identified by this address.
Throws:
IOException - Module is not known to the kernel.

removeModule

public void removeModule(ModuleProperties prop)
Remove a QEDEQ module from memory.

Parameters:
prop - Remove module identified by this property.

clearLocalBuffer

public void clearLocalBuffer()
                      throws IOException
Clear local file buffer and all loaded QEDEQ modules.

Specified by:
clearLocalBuffer in interface ModuleFactory
Throws:
IOException - Deletion of all buffered file was not successful.

loadModule

public ModuleProperties loadModule(ModuleAddress address)
                            throws SourceFileExceptionList
Get a certain module.

Specified by:
loadModule in interface ModuleFactory
Parameters:
address - Address of module.
Returns:
Wanted module.
Throws:
SourceFileExceptionList - Module could not be successfully loaded.

loadModule

public ModuleProperties loadModule(QedeqBo module,
                                   Specification spec)
                            throws SourceFileExceptionList
Description copied from interface: ModuleFactory
Load a certain module.

Specified by:
loadModule in interface ModuleFactory
Parameters:
module - This is the current module.
spec - Specification of wanted module.
Returns:
Wanted module properties.
Throws:
SourceFileExceptionList - Module could not be successfully loaded.

getAllLoadedModules

public ModuleAddress[] getAllLoadedModules()
Description copied from interface: ModuleFactory
Get list of all currently loaded QEDEQ modules.

Specified by:
getAllLoadedModules in interface ModuleFactory
Returns:
All currently loaded QEDEQ modules.

loadRequiredModules

public void loadRequiredModules(ModuleAddress address)
                         throws SourceFileExceptionList
Description copied from interface: ModuleFactory
Get a certain module.

Specified by:
loadRequiredModules in interface ModuleFactory
Parameters:
address - Address of module.
Throws:
SourceFileExceptionList - Required modules could not be successfully loaded. This can also happen if the required modules references form a circle.

loadPreviouslySuccessfullyLoadedModules

public boolean loadPreviouslySuccessfullyLoadedModules()
Load all previously checked QEDEQ modules.

Returns:
Successfully reloaded all modules.

loadAllModulesFromQedeq

public boolean loadAllModulesFromQedeq()
Description copied from interface: ModuleFactory
Load all QEDEQ modules from project web directory for current kernel.

Specified by:
loadAllModulesFromQedeq in interface ModuleFactory
Returns:
Successful loading.

getLocalFilePath

public final File getLocalFilePath(ModuleAddress address)
Transform an URL address into a relative local file path. This can also be another file name.

Specified by:
getLocalFilePath in interface ModuleFactory
Parameters:
address - Transform this URL.
Returns:
Result of transformation.

getBufferDirectory

public File getBufferDirectory()
Description copied from interface: ModuleFactory
Get buffer directory for QEDEQ module files.

Specified by:
getBufferDirectory in interface ModuleFactory
Returns:
buffer directory.

getGenerationDirectory

public File getGenerationDirectory()
Description copied from interface: ModuleFactory
Get directory for generated files.

Specified by:
getGenerationDirectory in interface ModuleFactory
Returns:
Generation directory.

getModuleProperties

public ModuleProperties getModuleProperties(ModuleAddress address)
Description copied from interface: ModuleFactory
Get ModuleProperties for an address.

Specified by:
getModuleProperties in interface ModuleFactory
Parameters:
address - Look for this address.
Returns:
Existing or new ModuleProperties, if address is maleformed null is returned.

getModuleAddress

public ModuleAddress getModuleAddress(URL url)
                               throws IOException
Description copied from interface: ModuleFactory
Get module address from URL.

Specified by:
getModuleAddress in interface ModuleFactory
Parameters:
url - URL for QEDEQ module.
Returns:
Module address.
Throws:
IOException - URL has not the correct format for referencing a QEDEQ module.

getModuleAddress

public ModuleAddress getModuleAddress(String url)
                               throws IOException
Description copied from interface: ModuleFactory
Get module address from URL.

Specified by:
getModuleAddress in interface ModuleFactory
Parameters:
url - URL for QEDEQ module.
Returns:
Module address.
Throws:
IOException - URL has not the correct format for referencing a QEDEQ module.

getModuleAddress

public ModuleAddress getModuleAddress(File file)
                               throws IOException
Description copied from interface: ModuleFactory
Get module address from URL.

Specified by:
getModuleAddress in interface ModuleFactory
Parameters:
file - Local QEDEQ module.
Returns:
Module address.
Throws:
IOException - URL has not the correct format for referencing a QEDEQ module.

Hilbert II - Version 0.03.08

©left GNU General Public Licence
All Rights Reserved.