uCosminexus DocumentBroker Version 5 概説
マルチレンディション文書では,同じ内容を持つ複数のレンディションタイプのコンテンツを,まとめて一つの文書に登録して管理できます。このため,マスタレンディションとサブレンディションは,常に同じ内容にしておく必要があります。マスタレンディションのコンテンツを更新した場合には,サブレンディションのコンテンツも更新する必要があります。
マスタレンディションとサブレンディションのdbrProp_RenditionStatusプロパティの値について説明します。
サブレンディションの状態フラグと変換フラグの値について説明します。
サブレンディションの状態フラグの値は,マスタレンディションまたはサブレンディションのコンテンツの更新時に,DocumentBrokerによって自動的に設定されます。サブレンディションの状態フラグの値を次の表に示します。
表3-1 サブレンディションの状態フラグの値
| 状態フラグを表す定数 | 説明 |
|---|---|
| DbjDef.RENDSTATUS_NO_SUBREND | マスタレンディションのコンテンツは登録済みですが,サブレンディションのコンテンツが登録されていません。 |
| DbjDef.RENDSTATUS_SUBREND_EXIST | マスタレンディションとサブレンディションの更新状態が一致しています。 |
| DbjDef.RENDSTATUS_MASTERREND_UPDATE | マスタレンディションとサブレンディションの更新状態が不一致です。マスタレンディションのコンテンツは更新されていますが,サブレンディションのコンテンツが更新されていません。 |
サブレンディションの変換フラグの値は,文書の作成時,コンテンツの更新時またはレンディションの追加時に,コンテンツのファイルパスの指定の有無に応じてDocumentBrokerが自動的に設定します。レンディション変換機能によるレンディション変換実行時にエラーが発生した場合には,変換エラーを示す値が設定されます。
変換フラグの値をユーザが変更する場合は,レンディションのプロパティを更新するDbjObj#writeRenditionPropertiesメソッドを使用します。
サブレンディションの変換フラグの値を次の表に示します。
表3-2 サブレンディションの変換フラグの値
| 変換フラグを表す定数 | 説明 |
|---|---|
| DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED | レンディション変換機能によるレンディション変換の対象になりません。 レンディション変換の対象にしないサブレンディションに対して指定してください。 |
| DbjDef.RENDSTATUS_CONVERT_REQUIRED | レンディション変換機能によるレンディション変換の対象になります。 レンディション変換の対象にする場合に指定してください。 |
| DbjDef.RENDSTATUS_CONVERT_ERROR | レンディション変換機能で変換エラーが発生しました。 レンディション変換機能が設定する値です。 |
なお,状態フラグの値によって,変換フラグが取る値が異なります。
状態フラグと変換フラグの組み合わせについて,次の表に示します。
表3-3 状態フラグと変換フラグの組み合わせ
| 状態フラグを表す定数 | 変換フラグを表す定数 |
|---|---|
| DbjDef.RENDSTATUS_SUBREND_EXIST | DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED DbjDef.RENDSTATUS_CONVERT_REQUIRED |
| DbjDef.RENDSTATUS_NO_SUBREND | DbjDef.RENDSTATUS_CONVERT_REQUIRED DbjDef.RENDSTATUS_CONVERT_ERROR |
| DbjDef.RENDSTATUS_MASTERREND_UPDATE | DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED DbjDef.RENDSTATUS_CONVERT_REQUIRED DbjDef.RENDSTATUS_CONVERT_ERROR |
例えば,サブレンディションの文書のアップロード情報でコンテンツのファイルパスを指定しなかった(nullを指定した)場合,レンディション変換機能によるレンディション変換を要求しない変換フラグ(DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED)を指定することはできません。
また,文書のアップロード情報でコンテンツのファイルパスを指定して更新したいサブレンディションに対しては,マスタレンディションとサブレンディションの更新状態が不一致(DbjDef.RENDSTATUS_MASTERREND_UPDATE)でも,レンディション変換機能よるレンディション変換を要求しない変換フラグ(DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED)を指定できます。
dbrProp_RenditionStatusプロパティの値とメソッドの関係について説明します。
次のメソッドについて説明します。
dbrProp_RenditionStatusプロパティの値は,次のメソッドによるレンディション一覧の取得時に参照できます。
特定のレンディションのdbrProp_RenditionStatusプロパティを参照したい場合は,DbjRenditionListインターフェースおよびDbjRenditionInfoインターフェースを使用してください。
dbrProp_RenditionStatusプロパティの値は,次のメソッドの実行時に,DocumentBrokerが自動的に値を設定することによって,遷移します。
DbjObj#changeMasterRenditionメソッドによるdbrProp_RenditionStatusプロパティの値の遷移については,「(d) dbrProp_RenditionStatusプロパティの値によって制限されるメソッド」を参照してください。
DbjObj#addRenditionメソッドおよびDbjObj#uploadContentsメソッドによるdbrProp_RenditionStatusプロパティの値の遷移を,次の図に示します。図中の(1)から(8)の番号は,表3-4から表3-6の説明中の番号と対応しています。
図3-11 メソッドによるdbrProp_RenditionStatusプロパティの値の遷移
図で示した遷移の詳細を,メソッドごとに説明します。
表3-4 DbjObj#addRenditionメソッドによって設定されるdbrProp_RenditionStatusプロパティの値
| コンテンツのファイル パスの指定 |
変換フラグ | 状態フラグ |
|---|---|---|
| あり((1)の遷移) | DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED | DbjDef.RENDSTATUS_SUBREND_EXIST |
| なし((2)の遷移) (nullを指定した場合) |
DbjDef.RENDSTATUS_CONVERT_REQUIRED | DbjDef.RENDSTATUS_NO_SUBREND |
表3-5 DbjObj#uploadContentsメソッドによるdbrProp_RenditionStatusプロパティの値の遷移(マスタレンディションを更新する場合)
| メソッドを実行した時点の 状態フラグ |
変換フラグの遷移 | メソッドを実行したあとの 状態フラグ |
|---|---|---|
| DbjDef.RENDSTATUS_SUBREND_EXIST((3)の遷移) |
|
DbjDef.RENDSTATUS_MASTERREND_UPDATE |
|
||
| DbjDef.RENDSTATUS_MASTERREND_UPDATE((4)の遷移) |
|
DbjDef.RENDSTATUS_MASTERREND_UPDATE (遷移しません) |
|
||
|
||
| DbjDef.RENDSTATUS_NO_SUBREND((5)の遷移) |
|
DbjDef.RENDSTATUS_NO_SUBREND (遷移しません) |
|
注※ レンディション変換機能で,レンディション変換エラーが起きたあとにマスタレンディションを更新し直す場合は,更新するコンテンツにエラーの要因が残っていないかどうか確認してください。または,マスタレンディションのコンテンツを基に,別のレンディションタイプのファイルをユーザが作成して,サブレンディションのコンテンツとして登録してください。
表3-6 DbjObj#uploadContentsメソッドによるdbrProp_RenditionStatusプロパティの値の遷移(サブレンディションを更新する場合)
| メソッドを実行した時点の状態フラグ | 変換フラグの遷移 | メソッドを実行したあとの状態フラグ |
|---|---|---|
| DbjDef.RENDSTATUS_SUBREND_EXIST((6)の遷移) | DbjDef.RENDSTATUS_CONVERT_NOTREQUIREDの場合: DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED (遷移しません) |
DbjDef.RENDSTATUS_SUBREND_EXIST (遷移しません) |
| DbjDef.RENDSTATUS_CONVERT_REQUIREDの場合: DbjDef.RENDSTATUS_CONVERT_REQUIRED (遷移しません) |
||
| DbjDef.RENDSTATUS_MASTERREND_UPDATE((7)の遷移) | DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED | DbjDef.RENDSTATUS_SUBREND_EXIST |
| DbjDef.RENDSTATUS_NO_SUBREND((8)の遷移) | DbjDef.RENDSTATUS_CONVERT_NOTREQUIRED | DbjDef.RENDSTATUS_SUBREND_EXIST |
変換フラグの値をユーザが変更する場合は,DbjObj#writeRenditionPropertiesメソッドを使用します。
設定できる値は次のどちらかです。
ただし,次の場合は値を設定できません。
状態フラグと変換フラグの組み合わせによっては,DbjObj#changeMasterRenditionメソッドの実行が制限されます。制限されるのは,次の場合です。
これ以外の組み合わせでは,DbjObj#changeMasterRenditionメソッドを実行してマスタレンディションを変更すると,それまでサブレンディションだったレンディションはマスタレンディションに変更されて,そのレンディションのdbrProp_RenditionStatusプロパティの値はDbjDef.RENDSTATUS_MASTERRENDに遷移します。
dbrProp_RenditionStatusプロパティの値が遷移する例として,レンディション変換機能によるサブレンディション更新の例を次の図に示します。
図3-12 レンディション変換機能によるサブレンディション更新の例
図について説明します。
レンディションごとのコンテンツの種別は,dbrProp_ContentTypeプロパティによって知ることができます。コンテンツの種別から,レンディションのコンテンツが次のどれかを知ることができます。
このプロパティは,Integer32型の4バイトの値として表されます。
ユーザはdbrProp_ContentTypeプロパティを設定できません。dbrProp_ContentTypeプロパティを参照する場合は,DbjObj#getRenditionListメソッドを使用します。
dbrProp_ContentTypeの値とコンテンツ種別の関係を次の表に示します。
表3-7 dbrProp_ContentTypeの値とコンテンツ種別の関係
| dbrProp_ContentTypeの値 | 対応する値 | コンテンツ種別 |
|---|---|---|
| DbjDef.CONTENTTYPE_CONTENT | 0 | ContentTransferオブジェクト(シングルファイル文書であるコンテンツ)です。 |
| DbjDef.CONTENTTYPE_REFERENCE | 3 | ContentReferenceオブジェクト(リファレンスファイル文書であるコンテンツ)です。 |
| DbjDef.CONTENTTYPE_OTHER | -1 | 上記以外のコンテンツを持つオブジェクトです。 |
All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2012, Hitachi Solutions, Ltd.