TwyrBaseModule

TwyrBaseModule

The Twyr Server Base Class for all Modules.

Constructor

new TwyrBaseModule(parentopt, loaderopt)

Serves as the "base class" for all other classes in the Twyr Web Application Server, including TwyrApplication.

Source:

Serves as the "base class" for all other classes in the Twyr Web Application Server, including TwyrApplication.

  1. Defines the "lifecycle" hooks - TwyrBaseModule#load, TwyrBaseModule#initialize, TwyrBaseModule#start, TwyrBaseModule#stop, TwyrBaseModule#uninitialize, and TwyrBaseModule#unload
  2. Defines the basic property - TwyrBaseModule#dependencies.
Parameters:
Name Type Attributes Description
parent TwyrBaseModule <optional>

The parent module, if any.

loader TwyrModuleLoader <optional>

The loader to be used for managing modules' lifecycle, if any.

Extends

Members

(readonly) basePath :string

Source:
Overrides:
Type:
  • string

(readonly) dependencies :Object

Source:
Type:
  • Object

(readonly) name :string

Source:
Inherited From:
Type:
  • string

Methods

(async) _changeState(newState) → {undefined}

Enables / disables this module, and all its sub-modules (if any).

Source:
Parameters:
Name Type Description
newState Object

The next state of this module.

Returns:

Nothing.

Type
undefined

(async) _dependencyReconfigure(dependency) → {undefined}

Lets the module know that one of its dependencies changed configuration.

Source:
Parameters:
Name Type Description
dependency TwyrBaseModule

The dependency that changed configuration.

Returns:

Nothing.

Type
undefined

(async) _dependencyStateChange(dependency, newState) → {undefined}

Lets the module know that one of its dependencies changed state.

Source:
Parameters:
Name Type Description
dependency TwyrBaseModule

The dependency that changed state.

newState Object

The next state of the dependency.

Returns:

Nothing.

Type
undefined

(async) _exists(filepath, mode) → {boolean}

Checks to see if the path can be accessed by this process using the mode specified.

Source:
Parameters:
Name Type Description
filepath string

Path of the filesystem entity.

mode number

Permission to be checked for.

Returns:

True / False.

Type
boolean

_handleUncaughtException(err) → {undefined}

Logs Unhandled Exceptions to prevent the process from crashing.

Source:
Inherited From:
Parameters:
Name Type Description
err Error

The unhandled exception.

Returns:

Nothing.

Type
undefined

(async) _parentReconfigure() → {undefined}

Lets the module know that its parent changed configuration.

Source:
Returns:

Nothing.

Type
undefined

(async) _parentStateChange(newState) → {undefined}

Lets the module know that its parent changed state.

Source:
Parameters:
Name Type Description
newState Object

The next state of the parent module.

Returns:

Nothing.

Type
undefined

(async) _reconfigure(newConfig) → {undefined}

Changes the configuration of this module, and informs everyone interested.

Source:
Parameters:
Name Type Description
newConfig Object

The changed confoguration.

Returns:

Nothing.

Type
undefined

(async) _setup() → {undefined}

To be implemented by derived classes for setting themselves up.

Source:
Returns:

Nothing.

Type
undefined

(async) _subModuleReconfigure(subModule) → {undefined}

Lets the module know that one of its subModules changed configuration.

Source:
Parameters:
Name Type Description
subModule TwyrBaseModule

The sub-module that changed configuration.

Returns:

Nothing.

Type
undefined

(async) _subModuleStateChange(subModule, newState) → {undefined}

Lets the module know that one of its subModules changed state.

Source:
Parameters:
Name Type Description
subModule TwyrBaseModule

The sub-module that changed state.

newState Object

The next state of the sub-module.

Returns:

Nothing.

Type
undefined

(async) _teardown() → {undefined}

To be implemented by derived classes for un-setting themselves down.

Source:
Returns:

Nothing.

Type
undefined

(async) initialize() → {Object}

Initializes sub-modules, if any.

Source:

Call the loader (typically, TwyrModuleLoader#initialize) to initialize sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their initialization.
Type
Object

(async) load(configSrvc) → {Object}

Loads sub-modules, if any.

Source:
  1. Use the supplied ConfigurationService instance (if any), to get / store both configuration and state.
  2. Call the loader (typically, TwyrModuleLoader#load) to load sub-modules, if any.
Parameters:
Name Type Description
configSrvc ConfigurationService

Instance of the ConfigurationService that supplies configuration.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their loading.
Type
Object

(async) start(dependencies) → {Object}

Starts sub-modules, if any.

Source:

Call the loader (typically, TwyrModuleLoader#start) to start sub-modules, if any.

Parameters:
Name Type Description
dependencies Object

Interfaces to TwyrBaseService instances that this module depends on.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their startup sequences.
Type
Object

(async) stop() → {Object}

Stops sub-modules, if any.

Source:

Call the loader (typically, TwyrModuleLoader#stop) to shutdown sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their shutdown sequences.
Type
Object

(async) uninitialize() → {Object}

Uninitializes sub-modules, if any.

Source:

Call the loader (typically, TwyrModuleLoader#uninitialize) to uninitialize sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they uninitialize themselves.
Type
Object

(async) unload() → {Object}

Unloads sub-modules, if any.

Source:

Call the loader (typically, TwyrModuleLoader#unload) to unload sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they unload themselves.
Type
Object