6.8.12 リファレンスファイル文書の操作

ここでは,リファレンスファイル文書の次の操作について説明します。

それぞれの操作に使用するメソッドの詳細については,マニュアル「DocumentBroker Version 3 クラスライブラリ Java リファレンス」を参照してください。

これらの操作を実行する前に,まず,コンテンツロケーションをコンテンツの相対パスで管理するために,DbjSession#setReferencePathメソッドでコンテンツ格納先ベースパスを設定しておきます。

なお,リファレンスファイル文書の管理の考え方については,「3.3 リファレンスファイル文書の管理モデル」を参照してください。また,リファレンスファイルを管理するバージョン付き文書のバージョンの操作については,「6.8.10 バージョン付きオブジェクトのバージョン操作」を参照してください。

<この項の構成>
(1) リファレンスファイル文書の作成
(2) リファレンスファイル文書のコンテンツのアップロード
(3) リファレンスファイル文書のコンテンツのダウンロード
(4) リファレンスファイル文書の削除

(1) リファレンスファイル文書の作成

リファレンスファイル文書を作成するには,文書オブジェクト生成メソッド(DbjDocSpace#createDocumentメソッドおよびDbjDocSpace#createVrDocumentメソッド)に,リファレンスファイル文書のアップロード情報を指定します。

リファレンスファイル文書を作成する例を次に示します。

// リファレンスファイル文書を作成する例
 
// session : DbjSessionインターフェース
// factory : DbjFactoryインターフェース
// docsp : DbjDocSpaceインターフェース
 
// コンテンツ格納先ベースパスの設定
session.setReferencePath(
basePath );     // コンテンツ格納先ベースパス
 
// 初期値として設定するプロパティ値集合を作成する
DbjPropSet props = factory.createPropSet();
// バージョニングオブジェクトのプロパティ(Author)を設定する
props.setPropVal("Author", "suzuki");
// カレントバージョンのプロパティ(Ver)を設定する
// (バージョンオブジェクトのプロパティは@を付けて指定する)
props.setPropVal("@Ver", "01-00");
 
// リファレンスファイル文書のパス情報を作成する
DbjReferencePathInfo pathInfo = factory.createReferencePathInfo(
DbjDef.OPERATEMODE_USER_RELATIVE_CONTENT,
               // コンテンツのパス操作モード
file,           // 登録するファイルのパス
targetPath,     // コンテンツ格納先パス
null  );        // 削除するディレクトリのルートパス
 
// 文書のアップロード情報のリストを作成する
List uploadlist = new ArrayList();
uploadlist.add( factory.createReferenceUploadInfo(
null,
retrievalName,  // retrievalNameプロパティを指定
null,           // レンディションタイプは自動で設定する
null,           // レンディションプロパティは設定しない
null,           // 全文検索インデクスは作成しない
pathInfo));     // パス情報
 
// リンク設定情報のリストを作成する(直接型リンクで関連付ける)
List linklist = new ArrayList();
linklist.add( factory.createSetDCRLinkInfo(
docspc.createObjConnection(parentoiid),
               // 上位フォルダのOIID
null ) );       // リンクプロパティは指定しない
 
// バージョン付き文書オブジェクトを作成する
DbjObj obj = docspc.createVrDocument(
"mdmClass_CfgH",     // バージョニングオブジェクトのトップオブジェクトクラス
"mdmClass_Document", // バージョンオブジェクトのトップオブジェクトクラス
props,               // プロパティ値集合
uploadlist,          // 文書のアップロード情報のリスト
linklist );          // リンク設定情報のリスト

(2) リファレンスファイル文書のコンテンツのアップロード

リファレンスファイル文書のコンテンツをアップロードするには,DbjObj#updateContentsメソッドに,リファレンスファイル文書のアップロード情報を指定します。

リファレンスファイル文書のコンテンツをアップロードする例を次に示します。

// リファレンスファイル文書のコンテンツをアップロードする例
 
// factory : DbjFactoryインターフェース
// obj : DbjObjインターフェース
 
// コンテンツ格納先ベースパスは設定済み
// リファレンスファイル文書のパス情報を作成する
DbjReferencePathInfo pathInfo = factory.createReferencePathInfo(
DbjDef.OPERATEMODE_USER_RELATIVE_CONTENT,
               // コンテンツのパス操作モード
file,           // 登録するファイルのパス
null,           // コンテンツ格納先パス
null );         // 削除するディレクトリのルートパス
 
// 文書のアップロード情報を作成する
DbjUploadInfo upinfo = factory.createReferenceUploadInfo(
null,
retrievalName,  // retrievalNameプロパティを指定
null,           // レンディションタイプは自動で設定する
null,           // レンディションプロパティは設定しない
null,           // 全文検索インデクスは作成しない
pathInfo);      // パス情報
 
// コンテンツをアップロードする
obj.uploadConents(
null,           // マスタレンディションが対象
upinfo );       // 文書のアップロード情報を指定

(3) リファレンスファイル文書のコンテンツのダウンロード

リファレンスファイル文書のコンテンツをダウンロードするには,DbjObj#downloadContentsメソッドに,ダウンロード先のパス情報を指定します。

リファレンスファイル文書のコンテンツをダウンロードする例を次に示します。

// リファレンスファイル文書のコンテンツをダウンロードする例
 
// factory : DbjFactoryインターフェース
// obj : DbjObjインターフェース
 
// コンテンツ格納先ベースパスは設定済み
// ダウンロード先のパス情報を作成する
DbjReferencePathInfo pathInfo = factory.createReferencePathInfo(
DbjDef.OPERATEMODE_USER_RELATIVE_CONTENT,
               // コンテンツのパス操作モード
file,           // ダウンロード先のファイルのパス
null,           // コンテンツ格納先パス
null );         // 削除するディレクトリのルートパス
 
// コンテンツをダウンロードする
DbjReferenceContentInfo  continfo = obj.downloadConents(
null,           // レンディションタイプ
pathInfo);      // ダウンロード用パス情報

(4) リファレンスファイル文書の削除

リファレンスファイル文書を削除するには,DbjObj#removeObjectメソッドに,削除時に使用するパス情報を指定します。

リファレンスファイル文書を削除する例を次に示します。

// リファレンスファイル文書を削除する例
 
// factory : DbjFactoryインターフェース
// obj : DbjObjインターフェース
 
// コンテンツ格納先ベースパスは設定済み
// リファレンスファイル文書のパス情報を作成する
DbjReferencePathInfo pathInfo = factory.createReferencePathInfo(
DbjDef.OPERATEMODE_USER_RELATIVE_CONTENT,
                 // コンテンツのパス操作モード
null,             // コンテンツロケーション
null,             // コンテンツ格納先パス
dirPath );        // 削除するディレクトリのルートパス
 
// 文書オブジェクトを削除する
obj.removeObject( pathInfo );