Namespace: Consultingwerk.Framework
Class 
ServiceLoader Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object

File:ServiceLoader
Purpose:Automates loading of services into the ServiceContainer
Description:Temp-Table Structure in Consultingwerk/Framework/ttServiceLoader.i
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Mon Nov 07 23:14:29 CET 2011
Notes:The ServiceTypeName field in the temp-table / xml document
may contain a comma-delimited list of interface/class names.
In that case a single service instance will be registered
using multiple interfaces
Sample XML structure:
<ttServiceLoader xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ttServiceLoaderRow>
<Order>1</Order>
<ServiceTypeName>Consultingwerk.Framework.IAuthenticationService</ServiceTypeName>
<ServiceClassName>Consultingwerk.SmartFramework.Authentication.AuthenticationService</ServiceClassName>
<Disabled>false</Disabled>
<RequiredDatabases></RequiredDatabases>
<LazyLoading>false</LazyLoading>
</ttServiceLoaderRow>
</ttServiceLoader>
Disabled and LazyLoading are optional flags
Supports custom log file messages using the "ServiceLoader:2"
("ServiceLoader") or "ServiceLoader:3" custom message sub system.



Top Method Summary
Options Name Purpose
+ Load (character) Loads and registers services from a XML file
+ Load (character, logical) Loads and registers services from a XML file
+ Load (character[]) Loads and registers services from an array of XML files
+ Load (handle) Loads and registers services from a temp-table
+ Load (handle, logical) Loads and registers services from a temp-table
+ Load (table) Loads services defined in the temp-table ttServiceLoader
+ Load (table, logical) Loads services defined in the temp-table ttServiceLoader
+ LoadFromFile (character) Loads and registers services from an XML file
+ LoadFromFile (character, logical) Loads and registers services from an XML file
+ LoadFromFiles (character[]) Loads and registers services from an array of XML files
# OnLoadingService (LoadingServiceEventArgs) Raises the LoadingService
+ Unload (character) Unloads (removes) services based on an XML file
+ Unload (character, logical) Unloads (removes) services based on an XML file
+ Unload (handle) Unloads (removes) services based on a temp-table
+ Unload (handle, logical) Unloads (removes) services based on a temp-table
+ UnloadFromFile (character) Unloads (removes) services based on an XML file
+ UnloadFromFile (character, logical) Unloads (removes) services based on an XML file

Top Constructor Summary
Options Name Purpose
+ ServiceLoader () Constructor for the ServiceLoader class
+ ServiceLoader (IServiceContainer) Constructor for the ServiceLoader class

Top Event Summary
Options Name Purpose
+ LoadingService (LoadingServiceEventArgs) Raised when a Service Loader instance loads a Service

Top Property Summary
Options Name Purpose
+ Consultingwerk.Framework.IServiceContainer ServiceContainer


Method Detail
Top

PUBLIC Load (character)

Purpose: Loads and registers services from a XML file
Notes: Does not ignore duplicates (will error on duplicates)

Parameters:
pcFileName CHARACTER
An XML Document containing the service definitions
Top

PUBLIC Load (character, logical)

Purpose: Loads and registers services from a XML file
Notes:

Parameters:
pcFileName CHARACTER
An XML Document containing the service definitions
plIgnoreDuplicates LOGICAL
Logical flag indicating if duplicates (by service interface) will be ignored
Top

PUBLIC Load (character[])

Purpose: Loads and registers services from an array of XML files
Notes: Merges the data from all provided service.xml files, later
entries (service.xml files) may override settings of
earlier entries
Does not ignore duplicates (will error on duplicates) - in
case services are already loaded

Parameters:
pcFileNames CHARACTER
An array of XML Documents containing multiple service definitions
Top

PUBLIC Load (handle)

Purpose: Loads and registers services from a temp-table
Notes: Does not ignore duplicates (will error on duplicates)

Parameters:
phTableHandle HANDLE
The handle to a temp-table containing the service definitions
Top

PUBLIC Load (handle, logical)

Purpose: Loads and registers services from a temp-table
Notes:

Parameters:
phTableHandle HANDLE
The handle to a temp-table containing the service definitions
plIgnoreDuplicates LOGICAL
Logical flag indicating if duplicates (by service interface) will be ignored
Top

PUBLIC Load (table)

Purpose: Loads services defined in the temp-table ttServiceLoader
Notes:

Parameters:
ttServiceLoader_static TEMP-TABLE ttServiceLoader_static
Temp-Table from Consultingwerk/Framework/ttServiceLoader.i
Top

PUBLIC Load (table, logical)

Purpose: Loads services defined in the temp-table ttServiceLoader
Notes:

Parameters:
ttServiceLoader_static TEMP-TABLE ttServiceLoader_static
Temp-Table from Consultingwerk/Framework/ttServiceLoader.i
plIgnoreDuplicates LOGICAL
Logical flag indicating if duplicates (by service interface) will be ignored
Top

PUBLIC LoadFromFile (character)

Purpose: Loads and registers services from an XML file
Notes: Does not ignore duplicates (will error on duplicates)

Parameters:
pcFileName CHARACTER
An XML Document containing the service definitions
Top

PUBLIC LoadFromFile (character, logical)

Purpose: Loads and registers services from an XML file
Notes:

Parameters:
pcFileName CHARACTER
An XML Document containing the service definitions
plIgnoreDuplicates LOGICAL
Logical flag indicating if duplicates (by service interface) will be ignored
Top

PUBLIC LoadFromFiles (character[])

Purpose: Loads and registers services from an array of XML files
Notes: Merges the data from all provided service.xml files, later
entries (service.xml files) may override settings of
earlier entries
Does not ignore duplicates (will error on duplicates) - in
case services are already loaded

Parameters:
pcFileNames CHARACTER
An array of XML Document containing the service definitions
Top

PROTECTED OnLoadingService (LoadingServiceEventArgs)

Purpose: Raises the LoadingService
Notes:

Parameters:
e Consultingwerk.Framework.LoadingServiceEventArgs
The LoadingServiceEventArgs with the data for the event
Top

PUBLIC Unload (character)

Purpose: Unloads (removes) services based on an XML file
Notes: Does not force the deletion of the service instance

Parameters:
pcFileName CHARACTER
An XML Document containing the service definitions
Top

PUBLIC Unload (character, logical)

Purpose: Unloads (removes) services based on an XML file
Notes:

Parameters:
pcFileName CHARACTER
An XML Document containing the service definitions
plForceDelete LOGICAL
Logical flag indicating if we should force the deletion of the instance
Top

PUBLIC Unload (handle)

Purpose: Unloads (removes) services based on a temp-table
Notes: Does not force the deletion of the service instance

Parameters:
phTableHandle HANDLE
The handle to a temp-table containing the service definitions
Top

PUBLIC Unload (handle, logical)

Purpose: Unloads (removes) services based on a temp-table
Notes:

Parameters:
phTableHandle HANDLE
The handle to a temp-table containing the service definitions
plForceDelete LOGICAL
Logical flag indicating if we should force the deletion of the instance
Top

PUBLIC UnloadFromFile (character)

Purpose: Unloads (removes) services based on an XML file
Notes: Does not force the deletion of the service instance

Parameters:
pcFileName CHARACTER
An XML Document containing the service definitions
Top

PUBLIC UnloadFromFile (character, logical)

Purpose: Unloads (removes) services based on an XML file
Notes:

Parameters:
pcFileName CHARACTER
An XML Document containing the service definitions
plForceDelete LOGICAL
Logical flag indicating if we should force the deletion of the instance


Constructor Detail
Top

PUBLIC ServiceLoader ()

Purpose: Constructor for the ServiceLoader class
Notes: Uses FrameworkSettings:ServiceContainer as the default ServiceContainer

Top

PUBLIC ServiceLoader (IServiceContainer)

Purpose: Constructor for the ServiceLoader class
Notes:

Parameters:
poServiceContainer Consultingwerk.Framework.IServiceContainer
The ServiceContainer to work with


Event Detail
Top

PUBLIC LoadingService (LoadingServiceEventArgs)

Purpose: Raised when a Service Loader instance loads a Service
Notes:

Parameters:
e Consultingwerk.Framework.LoadingServiceEventArgs
The LoadingServiceEventArgs with the data for the event


Property Detail
Top

PUBLIC Consultingwerk.Framework.IServiceContainer ServiceContainer


Returns Consultingwerk.Framework.IServiceContainer


Temp-Table Detail

Temp-Table ttServiceLoader_static

Defined in:


©2006-2023 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       15.04.2024 05:51:47