diff --git a/src/base.ts b/src/base.ts index 95f88b73cec1aa1c9a65082e35b2e22592df4ff9..7ab2bd593ae09221a212033076f395370f355f3a 100644 --- a/src/base.ts +++ b/src/base.ts @@ -1,10 +1,17 @@ /** * Gestion des messages de debogage dans la console - * @note Etendre cette classe pour toutes les classes à debugguer + * @note Implémenter cette interface pour toutes les classes à debugguer * Dans le constructeur, utiliser super(true) pour debugger la classe, super(false) sinon. */ + +export interface IDebug { + debug(s: any): void; + + readonly DBG: boolean; +} + // tslint:disable-next-line:max-classes-per-file -export abstract class Debug { +export class Debug { /** * @param _DBG Flag de débuggage */ diff --git a/src/compute-node.ts b/src/compute-node.ts index 212b28943f4cf0d7debccbdd5658ce3d1b6a6e05..0eb7661c7bbeb5f3001e9094bb6acf56f3068fda 100644 --- a/src/compute-node.ts +++ b/src/compute-node.ts @@ -1,7 +1,8 @@ -import { Debug } from "./base"; +import { Debug, IDebug } from "./base"; import { ParamsEquation, IParamDefinitionIterator } from "./param/params-equation"; import { ParamDefinition } from "./param/param-definition"; import { ParamValueMode } from "./param/param-values"; +import { JalhydObject } from "./jalhyd_object"; /** * type de calculette @@ -31,11 +32,14 @@ export enum ComputeNodeType { * noeud de calcul */ // tslint:disable-next-line:max-classes-per-file -export abstract class ComputeNode extends Debug { +export abstract class ComputeNode extends JalhydObject implements IDebug { protected _prms: ParamsEquation; + private _debug: Debug; + constructor(prms: ParamsEquation, dbg: boolean = false) { - super(dbg); + super(); + this._debug = new Debug(dbg); this._prms = prms; if (!this._prms.calculabilityDefined) { this._prms.resetParametersCalculability(); @@ -67,4 +71,14 @@ export abstract class ComputeNode extends Debug { } protected abstract setParametersCalculability(): void; + + // interface IDebug + + debug(s: any) { + this._debug.debug(s); + } + + public get DBG(): boolean { + return this._debug.DBG; + } } diff --git a/src/session_nub.ts b/src/session_nub.ts index 55dd6d18bc38c27adc4a496186694fcca3eda9a9..faf6c1226d92132ca8e86dece9df74e0b3860e01 100644 --- a/src/session_nub.ts +++ b/src/session_nub.ts @@ -60,6 +60,14 @@ export class SessionNub { return this._nub; } + public get uid(): number { + return this._nub.uid; + } + + public get properties() { + return this._props; + } + public hasProperties(p: Props | {}): boolean { return this._props.hasProperties(p); }