パラメータのタイプと値
パラメータのタイプは必ずしも指定する必要はありません。指定する場合、この情報は主に開発環境での使用が意図されることに注意してください。
パラメータのタイプには、BOOLEAN、STRING、INTEGER などがあります。これらは、InterSystems IRIS のクラス名ではありません。完全なリストについては、"クラス定義リファレンス" の “パラメータ定義” を参照してください。
コンパイラはパラメータのタイプを無視します。ただし、COSEXPRESSION タイプと CONFIGVALUE タイプを除きます (どちらもサブセクションで説明します)。
実行時に評価されるクラス・パラメータ (COSEXPRESSION)
実行時に評価される ObjectScript 式として、パラメータを定義できます。そのためには、以下のように COSEXPRESSION としてタイプを指定し、値として ObjectScript 式を指定します。
Parameter PARAMNAME As COSEXPRESSION = "ObjectScriptExpression";
PARAMNAME は定義するパラメータです。ObjectScriptExpression は実行時に評価される ObjectScript コンテンツです。
以下にクラス・パラメータ定義の例を示します。
Parameter DateParam As COSEXPRESSION = "$H";
コンパイル時に評価されるクラス・パラメータ (中括弧)
コンパイル時に評価される ObjectScript 式として、パラメータを定義できます。そのためには、以下のようにタイプを指定せずに、値を中括弧で囲んで指定します。
Parameter PARAMNAME = {ObjectScriptExpression};
PARAMNAME は定義するパラメータです。ObjectScriptExpression は実行時に評価される ObjectScript コンテンツです。
例 :
Parameter COMPILETIME = {$zdatetime($h)};
実行時に更新されるクラス・パラメータ (CONFIGVALUE)
クラス定義の外側で変更できるように、パラメータを定義できます。そのためには、CONFIGVALUE としてタイプを指定します。この場合、$SYSTEM.OBJ.UpdateConfigParam() メソッドによってパラメータを変更できます。例えば、以下のようにして、MyApp.MyClass クラスのパラメータ MYPARM の値を新しい値の 42 に変更します。
set sc=$system.OBJ.UpdateConfigParam("MyApp.MyClass","MYPARM",42)
$SYSTEM.OBJ.UpdateConfigParam() は、新しいプロセスで使用される生成済みのクラス記述子に影響しますが、クラス定義には影響しません。クラスをリコンパイルすると、InterSystems IRIS により、クラス記述子が再生成され、クラス定義に記載されたようにこのパラメータの値を使用します。そのため、$SYSTEM.OBJ.UpdateConfigParam() によって行った変更は上書きされます。