Reference Source
public class | source

TopologyDefineItem

Extends:

LoggableErrorableSettingsableStateableInstance → TopologyDefineItem

TopologyDefineItem class.

Example:

A Topology item is a runtime dynamic object corresponding to a static topology registry item.
Each item has a name, a tenant, a package, a version and initial settings.
Item sub class instances can have collections of children items.

Topology registry is shared and synchronized between all topology nodes with a master node to acknoledge changes.
Topology runtime is the dynamic corresponding part of a topology registry and is instancied on each node.

API:
		->load():nothing - load Topology item settings.
		->get_topology_info(arg_deep=true, arg_visited={}):object - get topology item informations.
		->get_children():object - gt topology children items.
		
		->get_topology_type():string     - get resource topology type.
		->get_topology_tenant():string   - get resource topology tenant.
		->get_topology_package():string  - get resource topology package.
		->get_topology_version():string  - get resource topology version.
		->get_topology_uid_desc():string - get resource topology uid description.
		->get_topology_uid():string      - get resource topology uid.
		->get_topology_security():object - get resource topology security.

Constructor Summary

Public Constructor
public

constructor(arg_name: string, arg_settings: object, arg_class: string, arg_log_context: string): nothing

Create a topology item instance.

Member Summary

Public Members
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public

Method Summary

Public Methods
public

compare_versions(arg_op: string, arg_version1: string, arg_version2: string): boolean

Compare two versions.

public

declare_collection(arg_plural_name: string, arg_single_name: string, arg_topology_class: class, arg_init_cb: function): nothing

Load a collection of topology items.

public

dump_topology_info(arg_info: object, arg_tabs: string, arg_eol: string, arg_write: function): nothing

Dump topology item informations.

public

Get exporting settings.

public

Get topology children items.

public

Get children names.

public

get_topology_info(arg_deep: boolean, arg_visited: object): object

Get topology item informations.

public

Get topology owner.

public

Get resource topology package.

public

Get resource topology security.

public

Get resource topology tenant.

public

Get resource topology type.

public

Get resource topology uid.

public

Get resource topology uid description.

public

Get resource topology version.

public

Check functional format.

public

Load Topology item settings.

public

load_collection(arg_collection_name: string, arg_collection: object, arg_topology_class: class, arg_init_cb: function): Promise

Load a collection of topology items.

Inherited Summary

From class Loggable
public

Log context.

public

Class type flag.

public

Trace is enabled for this flag.

private

Logger manager instance (default undefined)

public

debug(args: string | array): nothing

Trace DEBUG formatted message.

public

disable_trace(): nothing

Disable traces.

public

enable_trace(): nothing

Enable traces.

public

enter_group(arg_group: string): nothing

Trace INFO message on "enter trace group".

public

error(args: string | array): nothing

Trace ERROR formatted message.

public

Define get class name method for non Instance classes.

public

Get instance context.

public

Get logger manager.

public

Define get instance name method for non Instance classes.

public

Get trace flag.

public

info(args: string | array): nothing

Trace INFO formatted message.

public

leave_group(arg_group: string): nothing

Trace INFO message on "leave trace group".

public

separate_level_1(): nothing

Trace INFO trace level 1 separator.

public

separate_level_2(): nothing

Trace INFO trace level 2 separator.

public

separate_level_3(): nothing

Trace INFO trace level 3 separator.

public

set_trace(arg_value: boolean): nothing

Set trace flag.

public

should_trace(arg_traces_cfg: object): boolean

Calculate should trace flag.

public

should_trace_class(arg_traces_cfg: object): boolean

Calculate should trace flag for classes.

public

should_trace_collection_item(arg_traces_cfg: object, arg_collection_name: string, arg_this_item_accessor: string): boolean

Calculate should trace flag for given collection of names or patterns.

public

should_trace_module(arg_traces_cfg: object): boolean

Calculate should trace flag for modules.

public

should_trace_name(arg_traces_cfg: object): boolean

Calculate should trace flag for instances names.

public

Toggle trace flag.

public

Update trace enabled flag.

public

warn(args: string | array): nothing

Trace WARN formatted message.

From class Errorable
private

Error text (default null).

private

Has error flag (default false).

public

error(arg_msg: string): nothing

Set an error.

public

Default helper for "not implemented" error.

public

Get error message.

public

Test is an error is set.

From class Settingsable
public

$settings: object | Immutable.Map

Instance settings (default undefined).

public

Class type flag.

public

get_setting(arg_name: string | array, arg_default: any): any

Get a value in settings for given key.

public

get_setting_js(arg_name: string | array, arg_default: any): any

Get a value in settings for given key.

public

get_settings(): Immutable.Map

Get instance settings.

public

get_settings_js(): Immutable.Map

Get instance settings.

public

has_setting(arg_name: string): boolean

Test if a key exists in settings.

public

set_setting(arg_name: string, arg_value: any): nothing

Set a value in settings for given key.

public

set_settings(arg_settings: Immutable.Map): nothing

Set instance settings.

From class Stateable
public

Class type flag.

public

state_path: array

State path in runtime state.

private

Initial state.

private

_runtime: Runtime

Runtime isntance.

private

State store.

private

State changes handlers.

public

dispatch_action(arg_action_type: string | object, arg_options: object | undefined): nothing

Dispatch a state action.

public

get_initial_state(): Immutable.Map

Get initial state, an immutable object from a Redux data store.

public

Get name.

public

Get runtime instance.

public

get_state(): Immutable.Map

Get current state, an immutable object from a Redux data store.

public

Get current state, an immutable object from a Redux data store.

public

get_state_path(): array

Get state path into a Redux data store.

public

Get state store.

public

get_state_value(arg_key_or_path: string | array, arg_default_value: any): any

Get a state entry.

public

handle_state_change(arg_previous_state: Immutable.Map, arg_new_state: Immutable.Map): nothing

Handle component state changes.

public

register_state_value_change_handle(arg_path: string | array, arg_listener: string | function): nothing

Register a state value change listener.

From class Instance
public

Instance class name.

public

Instance id.

public

Instance name.

public

Instance collection name.

public

Class type flag.

public

Instance is loaded flag.

public

Get instance class.

public

Get instance description: {$type:..., $class:..., $id:..., $name:...}.

public

Get instance description string: $type:..., $class:..., $id:..., $name:....

public

Get instance unique id.

public

Get instance unique name.

public

Get instance type.

public

Test if this code run inside a browser.

public

Test if this code run on a browser.

public abstract

load(): nothing

Load instance settings.

Public Constructors

public constructor(arg_name: string, arg_settings: object, arg_class: string, arg_log_context: string): nothing source

Create a topology item instance.

Override:

Instance#constructor

Params:

NameTypeAttributeDescription
arg_name string

instance name.

arg_settings object

instance settings map.

arg_class string

class name.

arg_log_context string

trace context string.

Return:

nothing

Public Members

public DEFAULT_PACKAGE: string source

public DEFAULT_SECURITY: {} source

public DEFAULT_TENANT: string source

public DEFAULT_TYPE: string source

public DEFAULT_VERSION: string source

public [arg_plural_name]: * source

public [arg_single_name]: * source

public is_topology_define_item: boolean source

public topology_children: {} source

public topology_owner: * source

public topology_package: * source

public topology_security: * source

public topology_tenant: * source

public topology_type: * source

public topology_uid: * source

public topology_uid_desc: * source

public topology_version: * source

Public Methods

public compare_versions(arg_op: string, arg_version1: string, arg_version2: string): boolean source

Compare two versions. @TODO: use node-semver

Params:

NameTypeAttributeDescription
arg_op string

comparison operator (<, <=, =, >=, >).

arg_version1 string

left version.

arg_version2 string

right version.

Return:

boolean

public declare_collection(arg_plural_name: string, arg_single_name: string, arg_topology_class: class, arg_init_cb: function): nothing source

Load a collection of topology items.

Params:

NameTypeAttributeDescription
arg_plural_name string

plural name of the collection.

arg_single_name string

single name of the collection item.

arg_topology_class class

item TopologyDefineItem child class.

arg_init_cb function

optional callback to complete item loading:(name,settings)=>Promise(boolean).

Return:

nothing

public dump_topology_info(arg_info: object, arg_tabs: string, arg_eol: string, arg_write: function): nothing source

Dump topology item informations.

Params:

NameTypeAttributeDescription
arg_info object

topology info object.

arg_tabs string

separator.

arg_eol string

end of line char.

arg_write function

output function.

Return:

nothing

public export_settings(): object source

Get exporting settings.

Return:

object

exported settings for browser without sensitive values.

public get_children(): object source

Get topology children items.

Return:

object

map of children items.

public get_children_names(): array source

Get children names.

Return:

array

public get_topology_info(arg_deep: boolean, arg_visited: object): object source

Get topology item informations.

Params:

NameTypeAttributeDescription
arg_deep boolean

get deep sub items information on true (default:true).

arg_visited object

visited items plain object map (default:{}).

Return:

object

topology informations (plain object).

public get_topology_owner(): string source

Get topology owner.

Return:

string

public get_topology_package(): string source

Get resource topology package.

Return:

string

public get_topology_security(): object source

Get resource topology security.

Return:

object

public get_topology_tenant(): string source

Get resource topology tenant.

Return:

string

public get_topology_type(): string source

Get resource topology type.

Return:

string

public get_topology_uid(): string source

Get resource topology uid.

Return:

string

public get_topology_uid_desc(): string source

Get resource topology uid description.

Return:

string

public get_topology_version(): string source

Get resource topology version.

Return:

string

public is_valid(): boolean source

Check functional format.

Return:

boolean

public load(): Promise source

Load Topology item settings.

Override:

Instance#load

Return:

Promise

Promise(boolean): true=success, false=failure

public load_collection(arg_collection_name: string, arg_collection: object, arg_topology_class: class, arg_init_cb: function): Promise source

Load a collection of topology items.

Params:

NameTypeAttributeDescription
arg_collection_name string

name of the collection in the item settings.

arg_collection object

child collection of items.

arg_topology_class class

item TopologyDefineItem child class.

arg_init_cb function

optional callback to complete item loading:(name,settings)=>Promise(boolean).

Return:

Promise

Promise(boolean): true=success, false=failure.