Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

パラメータ定義

パラメータ定義の構造を説明します。

概要

パラメータ定義では、特定のクラスのすべてのオブジェクトで使用できる定数値を定義します。このクラス・パラメータの値は、クラス定義を作成するときに (またはコンパイル前の任意の時点で) 設定できます。既定では、各パラメータの値は NULL 文字列になりますが、パラメータ定義の一環として NULL 以外の値を指定することもできます。コンパイル時に、パラメータの値はクラスのすべてのインスタンスに対して構築されます。わずかな例外はありますが、この値を実行時に変更することはできません。

詳細

パラメータ定義の構造は以下のとおりです。

/// description Parameter name As parameter_type [ keyword_list ] = value ;

以下は、この指定の説明です。

  • description (オプション) は、クラス・リファレンスでの表示を意図しています。description は既定ではブランクです。 "Caché オブジェクトの使用法" の “クラス・ドキュメントの作成” を参照してください。

  • name (必須) はパラメータの名前です。これは、有効なクラス・メンバ名で、かつ他のクラス・メンバ名と重複しないものである必要があります。

  • parameter_type (オプション) は、パラメータのユーザ・インタフェース・タイプを指定します。

    これはクラス名ではありません。次のセクションを参照してください。この情報は、サブクラス内のパラメータの値を提供する開発者を支援するための、開発ツールでの使用を意図しています。ほとんどの場合、コンパイラはこのキーワードを無視します。

    parameter_type を省略する場合は、単語 As も省略します。

  • value (オプション) は、パラメータの値を指定します。value を省略する場合は、等号 = も省略します。

  • keyword_list (オプション) は、さらにパラメータを定義するキーワードのコンマ区切りリストです。

    Parameter キーワード” のセクションを参照してください。

    このリストを省略する場合は、角括弧も省略します。

パラメータに許可されるタイプ

parameter_type オプションは、以下のいずれかの値のとなります。

  • BOOLEAN — True (1) または False (0)

  • CLASSNAME — 有効なクラス名

  • COSCODE — ObjectScript コード

  • COSEXPRESSION — 有効な ObjectScript 式

    パラメータのタイプが COSEXPRESSION である場合は、式は実行時に評価されます。

    この値は、パラメータの Type キーワードのその他ほとんどの値とは異なり、コンパイラに影響を与えます。

  • COSIDENTIFIER — 有効な ObjectScript 識別子

  • INTEGER — 整数

  • SQL — SQL 文

  • SQLIDENTIFIER — 有効な SQL 識別子

  • STRING — 文字列値

  • TEXT — 複数行のテキスト値

  • CONFIGVALUE — クラス定義の範囲外で変更可能なパラメータ。この値は、パラメータの Type キーワードのその他ほとんどの値とは異なり、コンパイラに影響を与えます。パラメータのタイプが CONFIGVALUE の場合は、$SYSTEM.OBJ.UpdateConfigParam() を使用してパラメータを変更できます。例えば、以下のようにして、MyApp.MyClass クラス内のパラメータ MYPARM の値を新しく 42 に変更します。

    set sc=$system.OBJ.UpdateConfigParam("MyApp.MyClass","MYPARM",42)
    

    $SYSTEM.OBJ.UpdateConfigParam() は、新しいプロセスで使用される生成済みのクラス記述子に影響しますが、クラス定義には影響しません。クラスをリコンパイルすると、Caché により、クラス記述子が再生成され、クラス定義に記載されたようにこのパラメータの値を使用します (そのため、$SYSTEM.OBJ.UpdateConfigParam() によって行った変更は上書きされます)。

parameter_type は省略することもできます。その場合は、スタジオによってそのパラメータに任意の値を使用できるようになります。

/// This is the name of our web service.
Parameter SERVICENAME = "SOAPDemo" ;

関連項目

FeedbackOpens in a new tab