ビジネス・コンポーネント・プロジェクトでは、プロパティはString型の名前と値のペア。メタデータとして実行時の動作の決定に使用できる。(JavaBeansプロパティと混同しないように。まったく別のものである。)プロパティを持つことができるのは、ドメイン、エンティティ・オブジェクト、ビュー・オブジェクト、アプリケーション・モジュールおよびエンティティとビューの属性である。プロパティはコンポーネントのXMLファイルに保存される。
エンティティ・オブジェクト・ウィザードやエンティティ属性エディタなどのウィザードまたはエディタの適切な「プロパティ」ページで、必要なプロパティを定義できる。プロパティには次のような使用方法がある。
アプリケーション・モジュールで、使用する汎用ユーザー・インタフェース・テンプレートのスタイルを指定する。実行時のヒント情報を提供し、アプリケーション・モジュールの情報の表示スタイルを制御する。
ドメインで、特定の属性の型に、デフォルトの表示スタイル・ヒントおよび書式マスクをグローバルに設定する。
エンティティ・オブジェクトとビュー・オブジェクトで、必要に応じて、ドメインにより提供されたデフォルトのヒントをオーバーライドするため。
たとえば、属性はLabelプロパティを持つことができる。このプロパティは、属性がUIに表示される場合のラベルを指定する。その他の例としては、表示領域をレイアウトする際マスク(またはピクチャ文字列)を使用する場合がある。社会保障番号を表す文字列のプロパティを定義するには、値000-00-0000のSSN-MASKプロパティを作成する。実行時に、プロパティ名が評価され、適切な形式が必要に応じて適用される。
属性プロパティおよびドメイン・プロパティは、より制限の厳しいプロパティでオーバーライドできる。次に、階層を制限の緩いものから順に示す。
ドメイン・プロパティ
エンティティ属性プロパティ
ビュー属性プロパティ
次に例を示す。
nameLengthドメイン |
Deptエンティティ・オブジェクト |
DeptViewビュー・オブジェクト |
---|---|---|
文字列型 長さのプロパティの値が20 部門名の長さを20文字の文字列に制限するよう設計 |
nameLength型のDname属性 属性の長さのプロパティの値が15 |
nameLength型のDname属性 属性の長さのプロパティの値が10 |
エンティティ・オブジェクトのDname属性の長さのプロパティは、20文字のドメインの文字制限をオーバーライドする。したがって、部門名は15文字にすることができる。ビュー・オブジェクトのDname属性の長さのプロパティは、部門名の制限をオーバーライドする。したがって、部門名は10文字にすることができる。
NamedObjectImplクラスで定義されたgetProperty、setProperty、getProperties、getPropertiesAsStringsなどのメソッドを使用し、実行時にプロパティを取得および設定できる。EntityDefImpl、ViewObjectImpl、ApplicationModuleDefImpl、AttributeDefImplなどのその他のクラスは、このクラスを拡張する。クライアントはプロパティの問合せやプロパティ値に基づく決定はできるが、プロパティの設定はできない。