com.ail.core
Class Core

java.lang.Object
  extended by com.ail.core.Core
All Implemented Interfaces:
ConfigurationOwner, Configure, CoreUser, Document, Factory, Logging, Persistence, Product, Validator, XMLBinding, java.io.Serializable

public class Core
extends java.lang.Object
implements ConfigurationOwner, Configure, Factory, Logging, Persistence, XMLBinding, Validator, Product, Document, java.io.Serializable

This class is analogous to Java's java.lang.System class. It acts as a facade for the services offered by the core. Its purpose it to simplify access to the services, and so make using the services simpler.

See Also:
Serialized Form

Field Summary
static java.lang.String CoreNamespace
           
 
Constructor Summary
Core(CoreUser coreUser)
          Clients are obliged to pass an instance of themselves in when they create an instance of Core.
 
Method Summary
 void closePersistenceSession()
          Close the open session associated with the current thread and commit.
<T extends Type>
T
create(T object)
          Create a persistent copy of an object.
 void delete(Type type)
          Delete one or more objects from persistent storage.
<T> T
fromXML(java.lang.Class<T> clazz, XMLString xml)
          Transform XML into an object.
 byte[] generateDocument(java.lang.String productName, java.lang.String documentDefinitionName, Type model)
          Generate a document and return it as a byte[].
 GetClassListArg getClassList(GetClassListArg arg)
           
 Configuration getConfiguration()
          Load the configuration for the current namespace.
 java.lang.String getConfigurationNamespace()
          This method is used internally by the configure sub-system when an instance of the core is being use by a non-ConfigurationOwner.
 java.util.Collection<java.lang.String> getConfigurationNamespaceParent()
           
 java.util.Collection<java.lang.String> getConfigurationSource()
          Return the source of the configuration being used by this instance of core.
 Group getGroup(java.lang.String name)
          Fetch the named group the from current configuration.
 Parameter getParameter(java.lang.String name)
          Fetch the named parameter from current configuration.
 java.util.Properties getParametersAsProperties(java.lang.String name)
          Fetch all the Parameters in a group and return them as a java.util.Properties.
 java.lang.String getParameterValue(java.lang.String name)
          Fetch the value of the named parameter from current configuration.
 java.lang.String getParameterValue(java.lang.String name, java.lang.String defaultValue)
          Return the value of a parameter or a default if it is null.
 java.security.Principal getSecurityPrincipal()
          Return the security principal associated with this core's core user.
 VersionEffectiveDate getVersionEffectiveDate()
          Get the core's version effective date.
 CommandArg invokeService(java.lang.String commandName, CommandArg arguments)
          Create an instance of the specified command, and invoke it with the argument provided.
 java.util.Collection<ProductDetails> listProducts()
          Fetch a collection of the products know to the system.
<T extends Type>
T
load(java.lang.Class<T> type, long systemId)
          Load a specific instance of a type by ID.
 void logBootError(java.lang.String message)
          Output a message to the Error boot logging channel.
 void logBootError(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Error boot logging channel.
 void logBootFatal(java.lang.String message)
          Output a message to the Fatal boot logging channel.
 void logBootFatal(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Fatal boot logging channel.
 void logBootInfo(java.lang.String message)
          Output a message to the Info boot logging channel.
 void logBootInfo(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Info boot logging channel.
 void logBootWarning(java.lang.String message)
          Output a message to the Warning Boot logging channel.
 void logBootWarning(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Warning boot logging channel.
 void logDebug(java.lang.String message)
          Output a message to the Debug logging channel.
 void logDebug(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Debug logging channel.
 void logError(java.lang.String message)
          Output a message to the Error logging channel.
 void logError(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Error logging channel.
 void logFatal(java.lang.String message)
          Output a message to the Fatal logging channel.
 void logFatal(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Fatal logging channel.
 void logInfo(java.lang.String message)
          Output a message to the Info logging channel.
 void logInfo(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Info logging channel.
 void logWarning(java.lang.String message)
          Output a message to the Warning logging channel.
 void logWarning(java.lang.String message, java.lang.Throwable cause)
          Output a message to the Warning logging channel.
 AbstractCommand newCommand(java.lang.String commandName)
          Create a instance of the named command object.
 java.lang.Object newObject(java.lang.String objectName)
          Create a instance of the named object.
 Type newProductType(java.lang.String productName)
          Instantiate the default type associated with a product.
 Type newProductType(java.lang.String productName, java.lang.String typeName)
          Instantiate a type associated with a product.
 Type newType(java.lang.String typeName)
          Create a instance of the named type object.
 void openPersistenceSession()
          Initiate a persistence session.
 java.util.List<?> query(java.lang.String queryName, java.lang.Object... queryArgs)
          Query persistent storage for the collection of objects returned by a query.
 Type queryUnique(java.lang.String queryName, java.lang.Object... queryArgs)
          Query persistent storage for the single object returned by a query.
 void registerProduct(ProductDetails productDetails)
          Register a new product with the catalog.
 void removeProduct(ProductDetails productDetails)
          Remove a product from the registry.
 void resetAllProducts()
          Reset all the products know to the product manager.
 void resetConfiguration()
          Reset the core's configuration to its factory default.
 void resetProduct(java.lang.String productName)
          Reset a specific product.
 void setConfiguration(Configuration config)
          Save (create/update) the configuration for the current namespace.
 XMLString toXML(java.lang.Object obj)
          Transform an object into its XML representation.
<T extends Type>
T
update(T object)
          Update the persistent copy of an object from its in memory copy.
 void updateProduct(java.lang.String productName, ProductDetails productDetails)
          Update the product registries details wrt the details passed in.
 ValidatorResult validate(java.lang.String key, java.lang.Object value)
          Validate a value
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CoreNamespace

public static final java.lang.String CoreNamespace
Constructor Detail

Core

public Core(CoreUser coreUser)
Clients are obliged to pass an instance of themselves in when they create an instance of Core. This forces the contract between client and core to be a tight well defined one.

Parameters:
coreUser - The client wanting to use the core.
Method Detail

getVersionEffectiveDate

public VersionEffectiveDate getVersionEffectiveDate()
Get the core's version effective date. This date is used to determin which versions of object and configurations to use when handling requests made by the core. The client (coreUser) will have defines their own version effective date, this one is only used as a fallback.

The core's version effective date is always based on the date/time that this instance of the core was instantiated.

Specified by:
getVersionEffectiveDate in interface CoreUser
Returns:
Date The core's version effective date

setConfiguration

public void setConfiguration(Configuration config)
Save (create/update) the configuration for the current namespace. If the coreUser is a configuration owner (implements ConfigurationOwner), then the configuration is save in the namespace associated with that owner. Otherwise the core system's own configuration is updated.

Note:Calling setConfiguration does not alter the configuration currently being used. The configuration being used is determined by the callers getVersionEffectiveDate(), this selects the version of configuration that should be used by getParameter() for example.

Specified by:
setConfiguration in interface ConfigurationOwner
Parameters:
config - New configuration to be stored.
See Also:
ConfigurationOwner, CoreUser.getVersionEffectiveDate(), getParameter(java.lang.String)

getConfiguration

public Configuration getConfiguration()
Load the configuration for the current namespace. If the coreUser is a configuration owner (implements ConfigurationOwner), then its configuration (the configuration associated with the owner) is returned. Otherwise the core system's configuration is returned. The configuration returned is version dependent - the callers getVersionEffectiveDate() method will be invoked to determin which version of configuration to return.

Specified by:
getConfiguration in interface ConfigurationOwner
Returns:
The configuration associated with the current namespace.
See Also:
ConfigurationOwner, CoreUser.getVersionEffectiveDate()

getConfigurationNamespace

public java.lang.String getConfigurationNamespace()
This method is used internally by the configure sub-system when an instance of the core is being use by a non-ConfigurationOwner.

Specified by:
getConfigurationNamespace in interface CoreUser
Returns:
The Core systems configuration namespace.

resetConfiguration

public void resetConfiguration()
Reset the core's configuration to its factory default. The factory configuration that will be reset to is defined in the resource file CoreDefaultConfig.xml.

Specified by:
resetConfiguration in interface ConfigurationOwner

getGroup

public Group getGroup(java.lang.String name)
Fetch the named group the from current configuration. The "current configuration" is defined by the configuration namespace and the version effective date. The namespace is taken either from the core user if they implement ConfigurationOwner, or from the core itself. The versionEffectiveDate comes from the core user.

The group's name may be dot seperated indicating that the group is nested within other groups.

Specified by:
getGroup in interface Configure
Parameters:
name - The name of the group to be returned.
Returns:
The configuration group, or null if one is not defined for this namespace and version effective date.

getConfigurationSource

public java.util.Collection<java.lang.String> getConfigurationSource()
Return the source of the configuration being used by this instance of core. As configurations optionally have "parent" configuration that they inherit from, this method returns a collection of sources with one element for each configuration in the hierarchy.

Parameters:
owner - The configuration's owner
user - The user asking for the source
core - The core being used - and who's source will be returned
Returns:
The sources from which the configuration was loaded.

getConfigurationNamespaceParent

public java.util.Collection<java.lang.String> getConfigurationNamespaceParent()

getParameter

public Parameter getParameter(java.lang.String name)
Fetch the named parameter from current configuration. The "current configuration" is defined by the configuration namespace and the version effective date. The namespace is taken either from the core user if they implement ConfigurationOwner, or from the core itself. The versionEffectiveDate comes from the core user.

The parameter's name may be dot seperated indicating that the parameter is nested within one of more groups.

Specified by:
getParameter in interface Configure
Parameters:
name - The name of the parameter to be returned.
Returns:
The parameter, or null if one is not defined for this namespace and version effective date.

getParameterValue

public java.lang.String getParameterValue(java.lang.String name)
Fetch the value of the named parameter from current configuration. The "current configuration" is defined by the configuration namespace and the version effective date. Note: The following two pieces of code are exactly equivalent:

  1. String value=null;
    Parameter p=core.getParameter("paramName");
    if (p!=null) {
        value=p.getValue();
    }
  2. String value=core.getParameterValue("paramName");
  3. Specified by:
    getParameterValue in interface Configure
    Parameters:
    name - The name of the parameter to return a value for.
    Returns:
    The parameter's value, or null if it is not defined for this namespace and version effective date.

getParameterValue

public java.lang.String getParameterValue(java.lang.String name,
                                          java.lang.String defaultValue)
Return the value of a parameter or a default if it is null.

Specified by:
getParameterValue in interface Configure
Parameters:
name - The name of the parameter
defaultValue - The default value
Returns:
The parameter's value, or the value of default if it is undefined.
See Also:
getParameterValue(java.lang.String)

getParametersAsProperties

public java.util.Properties getParametersAsProperties(java.lang.String name)
Fetch all the Parameters in a group and return them as a java.util.Properties. This is a utility method returns the parameters in a named group and creates a Properties object with them. Each Parameter's name and value attributes are mapped into a property in the Properties object.

If the group specified does not exist, null is returned. If the group does exist but contains no Parameters, an empty Properties object is returned.

Specified by:
getParametersAsProperties in interface Configure
Parameters:
name - The name of the group whose parameters will be used.
Returns:
The parameters as properties, or null.

invokeService

public CommandArg invokeService(java.lang.String commandName,
                                CommandArg arguments)
                         throws BaseException
Create an instance of the specified command, and invoke it with the argument provided. The results returned by the command are returned.

Parameters:
commandName - The name of the command to invoke.
arguments - The arguments to pass to the service.
Returns:
The arguments as returned from the service.
Throws:
BaseException - Any exception thrown by the service.

newCommand

public AbstractCommand newCommand(java.lang.String commandName)
Create a instance of the named command object. The named command is looked up in the current configuration, and created from the specification held.

Specified by:
newCommand in interface Factory
Parameters:
commandName - The name of the command to create.
Returns:
The command object ready for use.

newType

public Type newType(java.lang.String typeName)
Create a instance of the named type object. The named type is looked up in the current configuration, and created from the specification held.

Specified by:
newType in interface Factory
Parameters:
typeName - The name of the type to create.
Returns:
The type object ready for use.

newObject

public java.lang.Object newObject(java.lang.String objectName)
Create a instance of the named object. The named object is looked up in the current configuration, and created from the specification held.

Specified by:
newObject in interface Factory
Parameters:
objectName - The name of the object to create.
Returns:
The object ready for use.

logDebug

public void logDebug(java.lang.String message,
                     java.lang.Throwable cause)
Output a message to the Debug logging channel. Messages written to this channel are of interest to developers, and to anyone trying to debug a system problem. The channel would generally only be turned on when a problem is being investigated.

Specified by:
logDebug in interface Logging
Parameters:
message - The text of the message to be output.
cause - The cause of the debug message.

logDebug

public void logDebug(java.lang.String message)
Output a message to the Debug logging channel. Messages written to this channel are of interest to developers, and to anyone trying to debug a system problem. The channel would generally only be turned on when a problem is being investigated.

Specified by:
logDebug in interface Logging
Parameters:
message - The text of the message to be output.

logInfo

public void logInfo(java.lang.String message,
                    java.lang.Throwable cause)
Output a message to the Info logging channel. This channel is designed to take messages that are of interest during normal operations. For example, "System ready", "Configuration reloaded".

Specified by:
logInfo in interface Logging
Parameters:
message - The text of the message to be output.
cause - The cause of the info message.

logInfo

public void logInfo(java.lang.String message)
Output a message to the Info logging channel. This channel is designed to take messages that are of interest during normal operations. For example, "System ready", "Configuration reloaded".

Specified by:
logInfo in interface Logging
Parameters:
message - The text of the message to be output.

logWarning

public void logWarning(java.lang.String message,
                       java.lang.Throwable cause)
Output a message to the Warning logging channel. Messages written to this channel indicate that something unexpected occured, but that it was dealt with and is not thought (by the developer) to be if great importence.

Specified by:
logWarning in interface Logging
Parameters:
message - The text of the message to be output.
cause - The cause of the warning message.

logWarning

public void logWarning(java.lang.String message)
Output a message to the Warning logging channel. Messages written to this channel indicate that something unexpected occured, but that it was dealt with and is not thought (by the developer) to be if great importance.

Specified by:
logWarning in interface Logging
Parameters:
message - The text of the message to be output.

logError

public void logError(java.lang.String message,
                     java.lang.Throwable cause)
Output a message to the Error logging channel. The error channel is reserved for messages that describe serious system problems. The problem didn't stop processing, but is significant enough to require investigation.

Specified by:
logError in interface Logging
Parameters:
message - The text of the message to be output.
cause - The cause of the error.

logError

public void logError(java.lang.String message)
Output a message to the Error logging channel. The error channel is reserved for messages that describe serious system problems. The problem didn't stop processing, but is significant enough to require investigation.

Specified by:
logError in interface Logging
Parameters:
message - The text of the message to be output.

logFatal

public void logFatal(java.lang.String message,
                     java.lang.Throwable cause)
Output a message to the Fatal logging channel. An error is fatal if it stops the operation being processed. For example, if the systems configuration information is defined in an inconsistent way a fatal error is generated.

Specified by:
logFatal in interface Logging
Parameters:
message - The text of the message to be output.
cause - The cause of the fatal error.

logFatal

public void logFatal(java.lang.String message)
Output a message to the Fatal logging channel. An error is fatal if it stops the operation being processed. For example, if the systems configuration information is defined in an inconsistent way a fatal error is generated.

Specified by:
logFatal in interface Logging
Parameters:
message - The text of the message to be output.

update

public <T extends Type> T update(T object)
Description copied from interface: Persistence
Update the persistent copy of an object from its in memory copy.

Specified by:
update in interface Persistence
Parameters:
object - The object to be written to persistent storage.
Returns:
The object as persisted.

query

public java.util.List<?> query(java.lang.String queryName,
                               java.lang.Object... queryArgs)
Description copied from interface: Persistence
Query persistent storage for the collection of objects returned by a query. The query itself is referenced by name only. This name is interpreted by the underlying persistence engine and resolved to an actual query.

Specified by:
query in interface Persistence
Parameters:
queryName - The name of the query to be executed.
queryArgs - Arguments to be used by the query.
Returns:
The results of the query.

load

public <T extends Type> T load(java.lang.Class<T> type,
                               long systemId)
Description copied from interface: Persistence
Load a specific instance of a type by ID. This has the same effect as a named query with the following query: from <type> where systemId=<systemId>.

Specified by:
load in interface Persistence
Parameters:
type - The type to be loaded
systemId - the systemId of the instance to load.
Returns:

delete

public void delete(Type type)
Description copied from interface: Persistence
Delete one or more objects from persistent storage.

Specified by:
delete in interface Persistence
Parameters:
type - Object to be deleted

queryUnique

public Type queryUnique(java.lang.String queryName,
                        java.lang.Object... queryArgs)
Description copied from interface: Persistence
Query persistent storage for the single object returned by a query. The query itself is referenced by name only. This name is interpreted by the underlying persistence engine and resolved to an actual query.

Specified by:
queryUnique in interface Persistence
Parameters:
queryName - The name of the query to be executed.
queryArgs - Arguments to be used by the query.
Returns:
The results of the query.

create

public <T extends Type> T create(T object)
Description copied from interface: Persistence
Create a persistent copy of an object.

Specified by:
create in interface Persistence
Returns:
The object as it was persisted

openPersistenceSession

public void openPersistenceSession()
Description copied from interface: Persistence
Initiate a persistence session. All persistence related methods need to operate within the context of a session. This call generally corresponds to the start of a transaction. The session is associated with the calling thread, so any persistent methods made within the same thread before Persistence.closePersistenceSession() are performed within one transaction.

Specified by:
openPersistenceSession in interface Persistence

closePersistenceSession

public void closePersistenceSession()
Description copied from interface: Persistence
Close the open session associated with the current thread and commit.

Specified by:
closePersistenceSession in interface Persistence
See Also:
Persistence.openPersistenceSession()

fromXML

public <T> T fromXML(java.lang.Class<T> clazz,
                     XMLString xml)
          throws XMLException
Transform XML into an object. The XMLString is taken to be an xml representation of an instance of the specified class. This method translates the XML into an instance of the class and returns that instance.

Specified by:
fromXML in interface XMLBinding
Parameters:
clazz - The Class represented by xml
xml - The XML representing and instance of clazz
Returns:
an instance of clazz built up from xml
Throws:
XMLException - If there is a problem parsing the XML

toXML

public XMLString toXML(java.lang.Object obj)
Transform an object into its XML representation.

Specified by:
toXML in interface XMLBinding
Parameters:
obj - The object to be transformed.
Returns:
An XMLString representing obj

validate

public ValidatorResult validate(java.lang.String key,
                                java.lang.Object value)
                         throws BaseException
Validate a value

Specified by:
validate in interface Validator
Parameters:
key - Key to identify validation required
value - Value to validate
Returns:
Validation results
Throws:
BaseException

getClassList

public GetClassListArg getClassList(GetClassListArg arg)

getSecurityPrincipal

public java.security.Principal getSecurityPrincipal()
Return the security principal associated with this core's core user.

Specified by:
getSecurityPrincipal in interface CoreUser
Returns:
The core user's security principal, or null if none is defined.

listProducts

public java.util.Collection<ProductDetails> listProducts()
Fetch a collection of the products know to the system.

Specified by:
listProducts in interface Product
Returns:
A collection of product names (as instances of java.lang.String).
Since:
2.0

newProductType

public Type newProductType(java.lang.String productName,
                           java.lang.String typeName)
Instantiate a type associated with a product. A product must define at least one type (see newProductType(String)), but may define any number of additional types for use during its lifecycle; this method is used to instantantiate specific types by name.

For example, a complex insurance product may define several different types to describe the assets the product covers. A commercial combined product might define a stock asset, a vehicle asset, a safe asset, etc. Each of these is described within the product as a seperate named type. A client would use this method to instantiate these different types as and when they needed to be added to an instance of a commercial combined policy.

Specified by:
newProductType in interface Product
Parameters:
productName - The product "owning" the type.
typeName - The name of type to be instantiated.
Returns:
The instantiated type.
Since:
2.0

newProductType

public Type newProductType(java.lang.String productName)
Instantiate the default type associated with a product. Each product must define a default type. This is the type (generally) instantiated at the beginning of the lifecycle.

Specified by:
newProductType in interface Product
Parameters:
productName - The name of the product to instantiate for.
Returns:
The instantiated type.
Since:
2.0

resetAllProducts

public void resetAllProducts()
Reset all the products know to the product manager. The product manager's configuration contains a list of products. This method performs a system reset on each of the products in that list. This amounts to performing a configuration reset using the products name as the configuration namespace.

Specified by:
resetAllProducts in interface Product
Since:
2.0

resetProduct

public void resetProduct(java.lang.String productName)
Reset a specific product. Perform a system reset on the named product returning it to it's factory state.

Specified by:
resetProduct in interface Product
Parameters:
productName - The name of the product to reset
Since:
2.0

registerProduct

public void registerProduct(ProductDetails productDetails)
                     throws DuplicateProductException
Register a new product with the catalog.

Specified by:
registerProduct in interface Product
Parameters:
details - Details of the product to register
Throws:
DuplicateProduct - if a product by the name specified (details.name) is already defined.
DuplicateProductException
Since:
2.0

removeProduct

public void removeProduct(ProductDetails productDetails)
                   throws UnknownProductException
Remove a product from the registry.

Specified by:
removeProduct in interface Product
Parameters:
name - Name of the product to remove.
Throws:
UnknownProduct - if the named product is not defined.
UnknownProductException
Since:
2.0

updateProduct

public void updateProduct(java.lang.String productName,
                          ProductDetails productDetails)
                   throws UnknownProductException
Update the product registries details wrt the details passed in.

Specified by:
updateProduct in interface Product
Parameters:
name - The name of the product to be updated.
details - Details to store
Throws:
UnknownProduct - if the product (name) isn't defined.
UnknownProductException
Since:
2.0

generateDocument

public byte[] generateDocument(java.lang.String productName,
                               java.lang.String documentDefinitionName,
                               Type model)
Generate a document and return it as a byte[]. The product named "productName" is assumed to include a document definition by the name "documentDefinition". Document definitions define all of the information that the generator needs in order to render a document except for dynamic data - this is provided my model.

The type of document returned (pdf, rtf, word, etc) is determined by the document definition.

This method should be assumed to work entirely in memory - i.e. it does not persist the document at all.

A loose contract exist between the document definition and the model. A definition is written with the expectation that it can take whatever dynamic data it needs from the model it is given. Generation will fail if the model passed in does not match the definition's expectations.

Specified by:
generateDocument in interface Document
Parameters:
productName - The name of product which 'owns' the document definition.
documentDefinitionName - the name of the definition to use.
model - The dynamic data satisfying references in the document definition.
Returns:
The rendered document.

logBootError

public void logBootError(java.lang.String message,
                         java.lang.Throwable cause)
Output a message to the Error boot logging channel. This should only be used when the normal logging services are not available - e.g. during startup when the normal service have yet to be loaded. An error is fatal if it stops the operation being processed. For example, if the systems configuration information is defined in an inconsistent way a fatal error is generated.

Specified by:
logBootError in interface Logging
Parameters:
message - The text of the message to be output.
cause - The exception that caused the error.

logBootError

public void logBootError(java.lang.String message)
Output a message to the Error boot logging channel. This should only be used when the normal logging services are not available - e.g. during startup when the normal service have yet to be loaded. Error messages that describe serious system problems. The problem didn't prevent processing, but is significant enough to require investigation.

Specified by:
logBootError in interface Logging
Parameters:
message - The text of the message to be output.

logBootFatal

public void logBootFatal(java.lang.String message,
                         java.lang.Throwable cause)
Output a message to the Fatal boot logging channel. This should only be used when the normal logging services are not available - e.g. during startup when the normal service have yet to be loaded. An error is fatal if it stops the operation being processed. For example, if the systems configuration information is defined in an inconsistent way a fatal error is generated.

Specified by:
logBootFatal in interface Logging
Parameters:
message - The text of the message to be output.
cause - The exception that caused the fatal error.

logBootFatal

public void logBootFatal(java.lang.String message)
Output a message to the Fatal boot logging channel. This should only be used when the normal logging services are not available - e.g. during startup when the normal service have yet to be loaded. An error is fatal if it stops the operation being processed. For example, if the systems configuration information is defined in an inconsistent way a fatal error is generated.

Specified by:
logBootFatal in interface Logging
Parameters:
message - The text of the message to be output.

logBootInfo

public void logBootInfo(java.lang.String message,
                        java.lang.Throwable cause)
Output a message to the Info boot logging channel. This should only be used when the normal logging services are not available - e.g. during startup when the normal service have yet to be loaded. An error is fatal if it stops the operation being processed. For example, if the systems configuration information is defined in an inconsistent way a fatal error is generated.

Specified by:
logBootInfo in interface Logging
Parameters:
message - The text of the message to be output.
cause - Related cause.

logBootInfo

public void logBootInfo(java.lang.String message)
Output a message to the Info boot logging channel. This should only be used when the normal logging services are not available - e.g. during startup when the normal service have yet to be loaded. An 'info' message indicates normal operation; it might be used to report that a message has been sent sucessfully for example.

Specified by:
logBootInfo in interface Logging
Parameters:
message - The text of the message to be output.

logBootWarning

public void logBootWarning(java.lang.String message,
                           java.lang.Throwable cause)
Output a message to the Warning boot logging channel. This should only be used when the normal logging services are not available - e.g. during startup when the normal service have yet to be loaded. An error is fatal if it stops the operation being processed. For example, if the systems configuration information is defined in an inconsistent way a fatal error is generated.

Specified by:
logBootWarning in interface Logging
Parameters:
message - The text of the message to be output.
cause - The exception that caused the warning.

logBootWarning

public void logBootWarning(java.lang.String message)
Output a message to the Warning Boot logging channel. This should only be used when the normal logging services are not available - e.g. during startup when the normal service have yet to be loaded. Warning messages indicate that something unexpected occured, but that it was dealt with and is not thought (by the developer) to be if great importance.

Specified by:
logBootWarning in interface Logging
Parameters:
message - The text of the message to be output.