フラグはルール宣言で Rule キーワードの前に配置されます。複数のフラグを単一のルール宣言で組み合わせることができます。フラグの順番は重要ではありません。フラグはキーワードではありません。
すべてのフラグが既定とは異なるルールの処理を要求します。フラグは Intent カーネルに組み込まれている側面があり、Intent Language で新しいフラグを定義する方法はありません。
基本的なルールは、すべてのフラグをサポートします。一部のフラグは他のフラグより頻繁に使用されます。
[現場溶接記号] | 使用頻度 |
---|---|
<なし> | [共通] |
[パラメータ] | [共通] |
Lookup | 時々 |
Canonical | ユーザ定義デザインで時々、またはまれに使用します。システム デザインでは一般的に使用します。Passive と一緒に使用します。 |
Passive | ユーザ定義デザインで時々、またはまれに使用します。システム デザインでは一般的に使用します。Canonical と一緒に使用します。 |
固定 | ユーザ定義デザインでまれに使用します。 |
Uncached | ユーザ定義デザインでまれに使用します。 |
外部 | 新規。ユーザ定義デザインで時々、またはまれに使用します。 |
Shared | 新規。ユーザ定義デザインで時々使用します。 |
フラグの簡単な説明を以下に示します。
他の評価の前に、ルールがパーツのパラメータ一覧から値の取得を試みることを示します。値がパラメータとして提供されていない場合、ルールの評価が続行されます。
既定の値を使用する前に、ルールがその親から値の取得を試みることを示します。評価中に、ランタイム システムが親の中の同じ名前のルールに対する参照(値の要求)を作成します。この参照が失敗した場合、元のルールの評価が続行されます。
このルールが動的ルールによって上書きされないことを示します。同じ名前の動的ルールの追加が試みられると、エラーが生成されます。Fixed フラグはユーザ定義デザインでは一般的ではありません。
メモリに保存されない値を持つルールを示します。ルールは他のルールによって参照されるたびに評価されます。これは、ルールの評価が値の取得の代わりに(または値の取得に加えて)効果を発揮するために行われる場合に便利です。
Canonical および Passive のフラグはグループ ルールで使用するように定義されています。システム デザインでは一般的ですが、ユーザ定義デザインでは使用頻度は少ないです。
グループ ルールの Passive フラグと一緒に使用します。
グループ ルールの Canonical フラグと一緒に使用します。
このルールがバインド解除されたときに UnbindNotifyEvent が実行されるようにします。アプリケーションでこれらのイベントを検出し、外部管理リソースをクリーンアップできます。詳細については、「External フラグ」を参照してください。
すべてのパーツ インスタンスがルールを共有するように、ルール値をパーツ インスタンスではなくデザインに格納します。パーツ インスタンスごとに変化しないルール(designName など)に使用し、メモリを節約します。