ここでは,リファレンスファイル文書の次の操作について説明します。
それぞれの操作に使用するメソッドの詳細については,マニュアル「DocumentBroker Version 3 クラスライブラリ Java リファレンス」を参照してください。
これらの操作を実行する前に,まず,コンテンツロケーションをコンテンツの相対パスで管理するために,DbjSession#setReferencePathメソッドでコンテンツ格納先ベースパスを設定しておきます。
なお,リファレンスファイル文書の管理の考え方については,「3.3 リファレンスファイル文書の管理モデル」を参照してください。また,リファレンスファイルを管理するバージョン付き文書のバージョンの操作については,「6.8.10 バージョン付きオブジェクトのバージョン操作」を参照してください。
リファレンスファイル文書を作成するには,文書オブジェクト生成メソッド(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 ); // リンク設定情報のリスト
リファレンスファイル文書のコンテンツをアップロードするには,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 ); // 文書のアップロード情報を指定
リファレンスファイル文書のコンテンツをダウンロードするには,DbjObj#downloadContentsメソッドに,ダウンロード先のパス情報を指定します。
リファレンスファイル文書のコンテンツをダウンロードする例を次に示します。
// リファレンスファイル文書のコンテンツをダウンロードする例
// factory : DbjFactoryインターフェース
// obj : DbjObjインターフェース
// コンテンツ格納先ベースパスは設定済み
// ダウンロード先のパス情報を作成する
DbjReferencePathInfo pathInfo = factory.createReferencePathInfo(
DbjDef.OPERATEMODE_USER_RELATIVE_CONTENT,
// コンテンツのパス操作モード
file, // ダウンロード先のファイルのパス
null, // コンテンツ格納先パス
null ); // 削除するディレクトリのルートパス
// コンテンツをダウンロードする
DbjReferenceContentInfo continfo = obj.downloadConents(
null, // レンディションタイプ
pathInfo); // ダウンロード用パス情報
リファレンスファイル文書を削除するには,DbjObj#removeObjectメソッドに,削除時に使用するパス情報を指定します。
リファレンスファイル文書を削除する例を次に示します。
// リファレンスファイル文書を削除する例
// factory : DbjFactoryインターフェース
// obj : DbjObjインターフェース
// コンテンツ格納先ベースパスは設定済み
// リファレンスファイル文書のパス情報を作成する
DbjReferencePathInfo pathInfo = factory.createReferencePathInfo(
DbjDef.OPERATEMODE_USER_RELATIVE_CONTENT,
// コンテンツのパス操作モード
null, // コンテンツロケーション
null, // コンテンツ格納先パス
dirPath ); // 削除するディレクトリのルートパス
// 文書オブジェクトを削除する
obj.removeObject( pathInfo );