org.jfree.base

Class AbstractBoot

Implemented Interfaces:
org.jfree.base.modules.SubSystem
Known Direct Subclasses:
BaseBoot

public abstract class AbstractBoot
extends java.lang.Object
implements org.jfree.base.modules.SubSystem

The common base for all Boot classes.

This initializes the subsystem and all dependent subsystems. Implementors of this class have to provide a public static getInstance() method which returns a singleton instance of the booter implementation.

Further creation of Boot object should be prevented using protected or private constructors in that class, or proper initialzation cannot be guaranteed.

Author:
Thomas Morgner

Constructor Summary

AbstractBoot()
Default constructor.

Method Summary

protected Configuration
createDefaultHierarchicalConfiguration(String staticConfig, String userConfig, boolean addSysProps)
Creates a default configuration setup, which loads its settings from the static configuration (defaults provided by the developers of the library) and the user configuration (settings provided by the deployer).
ExtendedConfiguration
getExtendedConfig()
Returns the global configuration as extended configuration.
Configuration
getGlobalConfig()
Returns the global configuration.
org.jfree.base.modules.PackageManager
getPackageManager()
Returns the packageManager instance of the package manager.
protected abstract BootableProjectInfo
getProjectInfo()
Returns the project info.
boolean
isBootDone()
Checks, whether the booting is complete.
boolean
isBootInProgress()
Checks, whether the booting is in progress.
protected AbstractBoot
loadBooter(String classname)
Loads the specified booter implementation.
protected abstract Configuration
loadConfiguration()
Loads the configuration.
protected abstract void
performBoot()
Performs the boot.
void
start()
Starts the boot process.

Constructor Details

AbstractBoot

protected AbstractBoot()
Default constructor.

Method Details

createDefaultHierarchicalConfiguration

protected Configuration createDefaultHierarchicalConfiguration(String staticConfig,
                                                               String userConfig,
                                                               boolean addSysProps)
Creates a default configuration setup, which loads its settings from the static configuration (defaults provided by the developers of the library) and the user configuration (settings provided by the deployer). The deployer's settings override the developer's settings. If the parameter addSysProps is set to true, the system properties will be added as third configuration layer. The system properties configuration allows to override all other settings.
Parameters:
staticConfig - the resource name of the developers configuration
userConfig - the resource name of the deployers configuration
addSysProps - a flag defining whether to include the system properties into the configuration.
Returns:
the configured Configuration instance.

getExtendedConfig

public ExtendedConfiguration getExtendedConfig()
Returns the global configuration as extended configuration.
Specified by:
getExtendedConfig in interface org.jfree.base.modules.SubSystem
Returns:
the extended configuration.

getGlobalConfig

public Configuration getGlobalConfig()
Returns the global configuration.
Specified by:
getGlobalConfig in interface org.jfree.base.modules.SubSystem
Returns:
The global configuration.

getPackageManager

public org.jfree.base.modules.PackageManager getPackageManager()
Returns the packageManager instance of the package manager.
Specified by:
getPackageManager in interface org.jfree.base.modules.SubSystem
Returns:
The package manager.

getProjectInfo

protected abstract BootableProjectInfo getProjectInfo()
Returns the project info.
Returns:
The project info.

isBootDone

public final boolean isBootDone()
Checks, whether the booting is complete.
Returns:
true, if the booting is complete, false otherwise.

isBootInProgress

public final boolean isBootInProgress()
Checks, whether the booting is in progress.
Returns:
true, if the booting is in progress, false otherwise.

loadBooter

protected AbstractBoot loadBooter(String classname)
Loads the specified booter implementation.
Parameters:
classname - the class name.
Returns:
The boot class.

loadConfiguration

protected abstract Configuration loadConfiguration()
Loads the configuration. This will be called exactly once.
Returns:
The configuration.

performBoot

protected abstract void performBoot()
Performs the boot.

start

public final void start()
Starts the boot process.