2.6.2 プロパティの種類

クラスライブラリで使用できるプロパティには,次の3種類があります。

なお,プロパティのうち,データベースに値が格納されているプロパティを,永続プロパティといいます。

<この項の構成>
(1) DMAが規定したプロパティ(DMAプロパティ)
(2) クラスライブラリで定義したプロパティ(クラスライブラリ固有のプロパティ)
(3) ユーザが定義したプロパティ

(1) DMAが規定したプロパティ(DMAプロパティ)

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) クラスライブラリで定義したプロパティクラスライブラリ固有のプロパティ

クラスライブラリ固有のプロパティとは,表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
  • CdbrReferentialContainerクラス
直接型のコンテインメントで包含しているオブジェクトの個数
dbrProp_ContaineesCount
  • CdbrReferentialContainerクラス
参照型のコンテインメントで包含しているオブジェクトの個数
dbrProp_ContaineesCountVT
  • CdbrConfiguratedReferentialContainerクラス
構成管理の対象となるオブジェクトの個数
dbrProp_ContainersCount
  • CdbrContainableクラス
参照型のコンテインメントでContainableオブジェクトを包含しているコンテナの個数
dbrProp_ContainersCountVT
  • CdbrVersionableクラス
  • CdbrDocumentクラス
  • CdbrVersionTraceableContainerクラス
構成管理型のコンテインメントでオブジェクトを包含しているコンテナの個数
dbrProp_ContentLocation
  • CdbrDocumentクラス
  • CdbrVersionableDocumentクラス
管理しているコンテントロケーション
dbrProp_ContentType
  • CdbrDocumentクラス
管理しているコンテントの種類
dbrProp_CurrentVersion
  • CdbrVersionableクラス
カレントバージョンの識別子
dbrProp_HeadRelationsCount
  • CdbrVersionableDocumentクラス
  • CdbrDocumentクラス
関連づけているリレーション先文書の個数
dbrProp_ParentCount
  • CdbrContainableクラス
直接型のコンテインメントでオブジェクトを包含しているコンテナの個数
dbrProp_ReferenceType
  • CdbrDocumentクラス
  • CdbrVersionableDocumentクラス
管理しているコンテントのリファレンス種別
dbrProp_RenditionStatus
  • CdbrDocumentクラス
レンディションの状態
dbrProp_RenditionType
  • CdbrVersionableDocumentクラス
  • CdbrDocumentクラス
RenditionTypeを表す文字列
dbrProp_RetrievalName
  • CdbrVersionableDocumentクラス
  • CdbrDocumentクラス
登録されているファイルのファイル名
dbrProp_TailRelationsCount
  • CdbrVersionableDocumentクラス
  • CdbrDocumentクラス
関連づけられているリレーション元文書の個数
dbrProp_VersionsCount
  • CdbrVersionableクラス
オブジェクトが管理しているバージョンの個数

表2-6 アクセス制御機能を使用する場合に定義されるクラスライブラリ固有のプロパティ

プロパティ識別子導入されるクラス説明
dbrProp_ACL
  • CdbrContainableクラス
  • CdbrIndependentPersistenceクラス
  • CdbrPublicACLクラス
ACL(アクセス制御リスト)を表すACE(アクセス制御エレメント)のリスト
dbrProp_BindObjectCount
  • CdbrPublicACLクラス
このプロパティを持つパブリックACLをバインドしているクラスライブラリのオブジェクトの数
dbrProp_EveryonePermission
  • CdbrContainableクラス
  • CdbrIndependentPersistenceクラス
すべてのユーザに与えられるパーミッション
dbrProp_OwnerId
  • CdbrDMAクラス
オブジェクトの所有者の識別子
dbrProp_OwnerPermission
  • CdbrContainableクラス
  • CdbrIndependentPersistenceクラス
オブジェクトの所有者に与えられるパーミッション
dbrProp_PrimaryGroupId
  • CdbrContainableクラス
  • CdbrIndependentPersistenceクラス
プライマリグループのグループ識別子
dbrProp_PrimaryGroupPermission
  • CdbrContainableクラス
  • CdbrIndependentPersistenceクラス
プライマリグループに与えられるパーミッション
dbrProp_PublicACLCount
  • CdbrContainableクラス
  • CdbrIndependentPersistenceクラス
バインドしているパブリックACLの数
dbrProp_PublicACLIds
  • CdbrContainableクラス
  • CdbrIndependentPersistenceクラス
バインドしているパブリックACLのOIIDのリスト
dbrProp_SACL
  • CdbrContainableクラス
  • CdbrIndependentPersistenceクラス
  • CdbrPublicACLクラス
セキュリティACLを表すACE(アクセス制御エレメント)のリスト
dbrProp_UserPermission
  • CdbrDMAクラス
オブジェクトに設定されるログインユーザまたはログインユーザが所属するグループに与えられているパーミッションの論理和

それぞれのプロパティの詳細については,マニュアル「DocumentBroker Version 3 クラスライブラリ C++ リファレンス 基本機能編」の,それぞれのプロパティが導入されるクラスを参照してください。

また,アクセス制御機能を使用する場合に定義されるプロパティについては,指定方法によって,検索の対象にできるプロパティがあります。アクセス制御機能を使用する場合に定義されるプロパティについては,「3.15 アクセス制御」を参照してください。

(3) ユーザが定義したプロパティ

文書の作成者やタイトルなど,ユーザは必要に応じてDMAオブジェクトにプロパティを定義できます。このプロパティは,クラスライブラリのクラスを構成するDMAクラスのうち,クラスライブラリのクラスのプロパティの定義元になるDMAクラスに追加します。

例えば,CdbrDocumentオブジェクトを扱う場合に使用するユーザ定義プロパティを追加するときは,dmaClass_DocVersionクラスにプロパティを追加定義します。

追加したプロパティは検索の条件に指定することができますので,必要に応じて定義してください。プロパティの追加方法については,マニュアル「DocumentBroker Version 3 システム導入・運用ガイド」を参照してください。