プロパティー・セットは、パーツの特定のオプションを指定します。通常、パーツの作成時にプロパティーを指定すると、そのプロパティーは静的になります。 ただし、特定の環境において、プロパティーを動的に変更することができます。
パーツごとおよびステレオタイプごとに、使用可能なプロパティーが異なります。パーツの作成時に、どのプロパティーが適切であるかを確認してください。 一部のパーツではプロパティーが必須になることもありますが、ほとんどのプロパティーはオプションです。
DataItem cost money(10,2)
{Currency = yes,
CurrencySymbol = "$"}
end
左中括弧で始まり右中括弧で終わるコード・ブロック (つまり、プロパティーとその値のリスト) は、値の設定ブロック と呼ばれます。プロパティーは、特定の状態でのみ有効となります。 例えば、DataItem パーツには、特定のタイプのユーザー・インターフェースのみに適用されるプロパティーを、組み込むことができます。 前述の例では、プロパティー currency と currencySymbol を任意の DataItem パーツに指定して、DataItem が通貨値を表していることを示し、値の表示時に使用する通貨記号を指定することができます。「EGL 言語解説書」の『currencySymbol』トピックを見ると、このプロパティーを Web ページで使用する際には有効になり、コンソール・ユーザー・インターフェース・アプリケーションで使用する際には無効になることが分かります。
それぞれのプロパティーに対して、有効な値を提供する必要があります。プロパティーには、文字列リテラルを受け入れるもの、値 "yes" または "no" を受け入れるもの、列挙 というオプション・リストの値を受け入れるもの、配列リテラルを受け入れるもの、などがあります。ほとんどの場合、プロパティーの値として変数や定数を使うことはできません。つまり、currency プロパティーの値として、ブール変数やストリング変数で "yes" または "no" を設定することはできず、リテラル (つまり、値 "yes" または "no" の引用符を外したもの) を指定しなければなりません。
handler myPage type JSFHandler
{onPreRenderFunction = refreshFunction}
function refreshFunction()
end
end
この例では、onPreRenderFunction が、refreshFunction 関数の名前に指定されています。
この名前を持つ関数が、ハンドラーになければなりません。もしない場合は、EGL は検証エラーをスローします。プロパティーの中には、前のバージョンまたは移行されたコードとの互換性を確保するために提供されているものがあります。これらは、新規 EGL アプリケーションでは不要となります。新規コード用に提供されているプロパティーと、互換性の確保用に提供されているプロパティーを識別するには、「EGL 言語解説書」のトピックで、特定のパーツとそのプロパティーについて説明しているものを参照してください。
DataItem myRedVar int {color = red} end
Record myRedRecord type BasicRecord
myField myRedVar;
end
この場合、フィールド myField の振る舞いは、
このフィールドに color プロパティーを指定したかのようになります。myRedInt int {color = red};
myBlueInt int {color = blue};
myBlueInt = myRedInt;
この場合、myBlueInt の color プロパティーは、blue に設定されたままになります。参照変数は、プロパティー転送に対する例外です。「EGL 言語解説書」の『プロパティー』を参照してください。
DataItem myRedVar int {color = red} end
Record myBlueRecord type BasicRecord
myField myRedVar {color = blue};
end
ここでは、フィールド myField によって、
値 red が値 blue に指定変更されています。myBlueVar int {color = red, color = blue};
この場合、2 番目の定義が最初の定義を指定変更するため、変数の color プロパティーは blue に設定されます。