You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

[ |../../index.htm#lansa/lansa048_0670.htm]
Visual LANSA フレームワーク ガイド > アドバンスド・トピック > カスタム プロパティ

カスタム・プロパティ


Visual LANSAフレームワークは非常に単純なフレームワーク、アプリケーションおよびビジネス・オブジェクト・モデルで商用のコンピュータ・システムを定義します。
独自のカスタム・プロパティをフレームワーク全体、アプリケーション内、個々のビジネス・オブジェクトに追加してこのモデルを拡張することができます。

カスタム・プロパティの概念を理解する最も簡単な方法として、次のような一般的な商用アプリケーションの要件の一部を考えてみましょう。

  • 保証契約を削除できるのは、このアプリケーションの数名のユーザーだけです。
  • このユーザーはグラフを上下逆に表示することができます。
  • 一部のユーザーは署名した保証契約を一定の状態でのみ閲覧できます。
  • 表示されたグラフはすべてバラ色で表示されます。 
  • このユーザーが作業できるのはリストの中だけに限られます。
  • このユーザーは、より報酬の高い他の社員を表示することができます。
  • すべてのレポートを常にローカルで印字します。
  • レポートの推奨通貨は何にしますか? 
  • このシステムは日本でインストールされたものですか?
  • このユーザーは通常韓国で働いています。
  • 当社の Web サイトの URL は www.mycompany.com (後で変更される可能性あり) です。 
  • このシステムにはローカル・データベースがありますか?
  • ユーザー希望の日付書式は何ですか?
  • 内部で構築された番号と日付をエラー時に表示するためフレームワークに関連付ける必要があります。 

これらの一般的な要求には多くの対処方法があります。ひとつには、これらをカスタム・プロパティとしてフレームワークに追加します。
例えば、単純に「当社の 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というアプリケーション・レベルのカスタム・プロパティを定義します。このプロパティは以下のような固定英数字リストとして定義されます。

ユーザーに表示するキャプション

ALL

全ての州が使用可能

CA

Californiaのみ

NY

New Yorkのみ

MN

Minnesotaのみ

 |
開発者として
ALLOWSTATESの値を取り出し、プログラムに入力し、プログラムの稼動状態を制御します。
Windows および WAM アプリケーションでは、いずれも以下のように値を取り出します。
   Invoke Method(#avFrameworkManager.avGetUserProperty) Atlevel(A) 
          Withname(ALLOWSTATE) AlphaValue(#ALL_STATE) 
 
どちらの場合も、#ALL_STATEには値ALL、CA、NYまたはMNが含まれ、アプリケーションのさまざまな契約書へのアクセスを制御するために使用されます。 
管理者として
ユーザーを定義する時、カレント・ユーザーのカスタム・プロパティタブに切り替え、ユーザーがどの州から契約を見られるか選択することができます。以下のようなリストから選択することになります。

これらの簡単な例がカスタム・プロパティの真髄を示してくれます。もちろん、実際にはさらに可能性が考えられます。例えば、プロパティのタイプを英数字、数値またはBooleanとして、複数の選択リストを指定するなどです。
よくある質問 (カスタム・プロパティ)」および「カスタム・プロパティ使用時の注意事項」も参照してください。
カスタム・プロパティの定義
新しいプロパティを設定するとき以下のオプションが表示されます。
定義場所
列キャプション
順序
名前
ヘルプテキスト
プロパティ・タイプ
最大小数点
最大長
大文字
入力方法
リストの最大入力数
複数選択
管理者が値を変更可能
固定値または省略値
 
[ |../../index.htm#lansa/lansa048_0670.htm]

  • No labels