Visual LANSAフレームワークは非常に単純なフレームワーク、アプリケーションおよびビジネス・オブジェクト・モデルで商用のコンピュータ・システムを定義します。
独自のカスタム・プロパティをフレームワーク全体、アプリケーション内、個々のビジネス・オブジェクトに追加してこのモデルを拡張することができます。
カスタム・プロパティの概念を理解する最も簡単な方法として、次のような一般的な商用アプリケーションの要件の一部を考えてみましょう。
これらの一般的な要求には多くの対処方法があります。ひとつには、これらをカスタム・プロパティとしてフレームワークに追加します。
例えば、単純に「当社の Web サイトの URL は www.mycompany.com (後で変更される可能性あり) です。」という要件があるとします。会社のWebサイトURLをフレームワークのソフト的なコード値にするには、以下を実行します。
デザイナーとしてCOMPANYURLというフレームワーク・レベルのカスタム・プロパティを定義します。おそらく、これは英数字型で最長256文字のプロパティになるでしょう。これはオンサイトの管理者には変更できないプロパティで、省略値は www.mycompany.com です。
開発者としてカスタム・プロパティCOMPANYURLの値を取り出し、プログラムに入力し、会社のURLのハード・コーディングを回避します。
Windows および WAM アプリケーションでは、いずれも以下のように値を取り出します。
Invoke Method(#avFrameworkManager.avGetUserProperty) Atlevel(F)
Withname(COMPANYURL) AlphaValue(#COMP_URL)
管理者として
特にすることはありません。ユーザー・プロファイルを作成するたびに、そのプロファイルに関連付けられた会社のWebサイトというプロパティが存在し、値www.mycompany.comを持っていることが分かりますが、それを変更することはできません。フレームワークのデザイナーだけがこの値を変更できます。
より複雑な例として、「一部のユーザーは署名した保証契約をある特定の状態でのみ閲覧できる」という要件があったとしましょう。この要件は以下のようにしてカスタム・プロパティで実現できます。
デザイナーとしてALLOWSTATESというアプリケーション・レベルのカスタム・プロパティを定義します。このプロパティは以下のような固定英数字リストとして定義されます。
|
ALLOWSTATESの値を取り出し、プログラムに入力し、プログラムの稼動状態を制御します。
Windows および WAM アプリケーションでは、いずれも以下のように値を取り出します。
Invoke Method(#avFrameworkManager.avGetUserProperty) Atlevel(A)
Withname(ALLOWSTATE) AlphaValue(#ALL_STATE)
どちらの場合も、#ALL_STATEには値ALL、CA、NYまたはMNが含まれ、アプリケーションのさまざまな契約書へのアクセスを制御するために使用されます。
管理者としてユーザーを定義する時、カレント・ユーザーのカスタム・プロパティタブに切り替え、ユーザーがどの州から契約を見られるか選択することができます。以下のようなリストから選択することになります。
これらの簡単な例がカスタム・プロパティの真髄を示してくれます。もちろん、実際にはさらに可能性が考えられます。例えば、プロパティのタイプを英数字、数値またはBooleanとして、複数の選択リストを指定するなどです。
「よくある質問 (カスタム・プロパティ)」および「カスタム・プロパティ使用時の注意事項」も参照してください。
カスタム・プロパティの定義新しいプロパティを設定するとき以下のオプションが表示されます。