diff --git a/src/param/param-base.ts b/src/param/param-base.ts index 2a5415e91fb4dcebcb6238c92c875825b86d63dc..b5ee3c26c9f58f70d47e8a1af193afe98f7f80cd 100644 --- a/src/param/param-base.ts +++ b/src/param/param-base.ts @@ -4,6 +4,7 @@ import { Message, MessageCode } from "../util/message"; import { JalhydObject } from "../jalhyd_object" import { ParamDomain, ParamDomainValue } from "./param-domain"; +import { ParamValues, ParamValueMode } from "./param-values"; /** * paramètre avec symbole et domaine de définition @@ -21,14 +22,16 @@ export class BaseParam extends JalhydObject { private _domain: ParamDomain; /** - * valeur numérique (éventuellement non définie) + * valeur(s) prise(s) */ - private _value: DefinedNumber; + private _paramValues: ParamValues; constructor(symb: string, d: ParamDomain | ParamDomainValue, val?: number) { super(); this._symbol = symb; - this._value = new DefinedNumber(val); + + this._paramValues = new ParamValues(); + this._paramValues.singleValue = val; if (d instanceof ParamDomain) { this._domain = d; @@ -51,33 +54,37 @@ export class BaseParam extends JalhydObject { return this._domain.interval; } + public get paramValues(): ParamValues { + return this._paramValues; + } + /** * gestion de la valeur */ public get isDefined(): boolean { - return this._value.isDefined; + return this._paramValues.isDefined; } public getValue(): number { - if (!this._value.isDefined) { + if (!this._paramValues.isDefined) { const e = new Message(MessageCode.ERROR_PARAMDEF_VALUE_UNDEFINED); e.extraVar.symbol = this.symbol; throw e; } - return this._value.value; + return this._paramValues.singleValue; } public setValue(val: number) { this.checkValue(val); - this._value.value = val; + this._paramValues.singleValue = val; // console.log("setting param " + this._symbol + " id=" + this._id + " to " + val); // A VIRER } public get uncheckedValue(): number { - return this._value.uncheckedValue; + return this._paramValues.uncheckedValue; } public checkValue(v: number) { @@ -133,4 +140,8 @@ export class BaseParam extends JalhydObject { throw e; } } + + public get valueMode() { + return this._paramValues.valueMode; + } }