クラスライブラリで使用できるプロパティには,次の3種類があります。
なお,プロパティのうち,データベースに値が格納されているプロパティを,永続プロパティといいます。
DMAでは,DMAクラスごとにプロパティを規定しています。また,DocumentBrokerで拡張したクラスには,DocumentBroker独自のプロパティも定義されています。これらのプロパティは,クラスライブラリのクラスのプロパティとしても参照,設定できます。クラスライブラリのメソッドで参照,設定できるプロパティは,それぞれのクラスライブラリのクラスに対応するDMAのクラスが定義しているプロパティです。これらのプロパティは,CreateObjectメソッドで指定したクラスのDMAオブジェクト上に定義されます。
クラスライブラリの各クラスのメソッドによって参照,設定できるプロパティの定義元となるDMAクラスを次の表に示します。
表2-4 各クラスが参照,設定できるプロパティの定義元
クラスライブラリのクラス名 | バージョン指定 | 定義元のDMAクラス |
---|---|---|
CdbrConfiguratedReferentialContainerクラス | なし | dmaClass_ConfigurationHistoryクラス |
あり | edmClass_ContainerVersionクラス | |
CdbrDocumentクラス | - | dmaClass_DocVersionクラス |
CdbrIndependentPersistenceクラス | - | edmClass_IndependentPersistenceクラス |
CdbrPublicACLクラス | - | edmClass_PublicACLクラス |
CdbrReferentialContainerクラス | - | dmaClass_Containerクラス |
CdbrVersionableDocumentクラス | なし | dmaClass_ConfigurationHistoryクラス |
あり | dmaClass_DocVersionクラス | |
CdbrVersionTraceableContainerクラス | - | edmClass_ContainerVersionクラス |
それぞれのDMAクラスに定義されたプロパティについての詳細は,マニュアル「DocumentBroker Version 3 クラスライブラリ C++ リファレンス 基本機能編」を参照してください。
クラスライブラリ固有のプロパティとは,表2-4に示した定義元のDMAクラスには存在しない情報を,クラスライブラリのプロパティとして扱えるように定義したものです。
例えば,あるコンテナに関連づけられている文書やコンテナの数や,文書が保持しているバージョンの数などは,DMAオブジェクト上には存在しない情報です。このような情報に対して,クラスライブラリでは「dbrProp_」から始まるプロパティ識別子を付けて,プロパティとして扱えるようにしています。「コンテナが関連づけている文書の数を知りたい」場合などに,このプロパティの値を取得するメソッドをコールすれば,必要な値を得ることができます。実際にはメソッドをコールした段階で,クラスライブラリの内部で必要な処理や演算が実行されて,値が作成され,プロパティの値としてユーザに返却されます。
また,DMAで規定されているプロパティのうち,クラスライブラリのオブジェクトのプロパティとして使用できるのは表2-4に示した定義元のDMAクラスのプロパティだけです。これに対して,定義元以外のクラスに存在するプロパティの値をクラスライブラリのプロパティとして扱うためにも,クラスライブラリ固有のプロパティが使用されます。例えば,文書を表すCdbrDocumentオブジェクトの場合,文書のコンテントを表すファイル名についての情報は,プロパティの定義元であるDocVersionオブジェクト上には存在しない情報ですが,実際はCdbrDocumentオブジェクト内のほかのDMAオブジェクト上にプロパティとして存在しています。このプロパティを取得するために,クラスライブラリではプロパティ識別子を割り付けています。このプロパティの値を取得するメソッドをコールすれば,必要な値を得ることができます。実際にはメソッドをコールした段階で,クラスライブラリの内部で該当するプロパティが参照され,CdbrDocumentオブジェクトのプロパティとしてユーザに返却されます。
クラスライブラリ固有のプロパティについて,表2-5に示します。また,アクセス制御機能を使用する場合に,表2-5に示すプロパティに加えて追加されるプロパティを,表2-6に示します。アクセス制御機能については,「3.15 アクセス制御」を参照してください。
表2-5 クラスライブラリ固有のプロパティ
プロパティ識別子 | 導入されるクラス | 説明 |
---|---|---|
dbrProp_ChildrenCount |
| 直接型のコンテインメントで包含しているオブジェクトの個数 |
dbrProp_ContaineesCount |
| 参照型のコンテインメントで包含しているオブジェクトの個数 |
dbrProp_ContaineesCountVT |
| 構成管理の対象となるオブジェクトの個数 |
dbrProp_ContainersCount |
| 参照型のコンテインメントでContainableオブジェクトを包含しているコンテナの個数 |
dbrProp_ContainersCountVT |
| 構成管理型のコンテインメントでオブジェクトを包含しているコンテナの個数 |
dbrProp_ContentLocation |
| 管理しているコンテントロケーション |
dbrProp_ContentType |
| 管理しているコンテントの種類 |
dbrProp_CurrentVersion |
| カレントバージョンの識別子 |
dbrProp_HeadRelationsCount |
| 関連づけているリレーション先文書の個数 |
dbrProp_ParentCount |
| 直接型のコンテインメントでオブジェクトを包含しているコンテナの個数 |
dbrProp_ReferenceType |
| 管理しているコンテントのリファレンス種別 |
dbrProp_RenditionStatus |
| レンディションの状態 |
dbrProp_RenditionType |
| RenditionTypeを表す文字列 |
dbrProp_RetrievalName |
| 登録されているファイルのファイル名 |
dbrProp_TailRelationsCount |
| 関連づけられているリレーション元文書の個数 |
dbrProp_VersionsCount |
| オブジェクトが管理しているバージョンの個数 |
表2-6 アクセス制御機能を使用する場合に定義されるクラスライブラリ固有のプロパティ
プロパティ識別子 | 導入されるクラス | 説明 |
---|---|---|
dbrProp_ACL |
| ACL(アクセス制御リスト)を表すACE(アクセス制御エレメント)のリスト |
dbrProp_BindObjectCount |
| このプロパティを持つパブリックACLをバインドしているクラスライブラリのオブジェクトの数 |
dbrProp_EveryonePermission |
| すべてのユーザに与えられるパーミッション |
dbrProp_OwnerId |
| オブジェクトの所有者の識別子 |
dbrProp_OwnerPermission |
| オブジェクトの所有者に与えられるパーミッション |
dbrProp_PrimaryGroupId |
| プライマリグループのグループ識別子 |
dbrProp_PrimaryGroupPermission |
| プライマリグループに与えられるパーミッション |
dbrProp_PublicACLCount |
| バインドしているパブリックACLの数 |
dbrProp_PublicACLIds |
| バインドしているパブリックACLのOIIDのリスト |
dbrProp_SACL |
| セキュリティACLを表すACE(アクセス制御エレメント)のリスト |
dbrProp_UserPermission |
| オブジェクトに設定されるログインユーザまたはログインユーザが所属するグループに与えられているパーミッションの論理和 |
それぞれのプロパティの詳細については,マニュアル「DocumentBroker Version 3 クラスライブラリ C++ リファレンス 基本機能編」の,それぞれのプロパティが導入されるクラスを参照してください。
また,アクセス制御機能を使用する場合に定義されるプロパティについては,指定方法によって,検索の対象にできるプロパティがあります。アクセス制御機能を使用する場合に定義されるプロパティについては,「3.15 アクセス制御」を参照してください。
文書の作成者やタイトルなど,ユーザは必要に応じてDMAオブジェクトにプロパティを定義できます。このプロパティは,クラスライブラリのクラスを構成するDMAクラスのうち,クラスライブラリのクラスのプロパティの定義元になるDMAクラスに追加します。
例えば,CdbrDocumentオブジェクトを扱う場合に使用するユーザ定義プロパティを追加するときは,dmaClass_DocVersionクラスにプロパティを追加定義します。
追加したプロパティは検索の条件に指定することができますので,必要に応じて定義してください。プロパティの追加方法については,マニュアル「DocumentBroker Version 3 システム導入・運用ガイド」を参照してください。