uCosminexus DocumentBroker Version 5 リファレンス API

[目次][用語][索引][前へ][次へ]

1.10.14 入力ストリームを使用した文書の操作

入力ストリームを使用した次の文書の操作について説明します。

<この項の構成>
(1) 文書の作成
(2) コンテンツのアップロード
(3) コンテンツのダウンロード

(1) 文書の作成

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

文書を作成する例を次に示します。

 
// バージョン付き文書を作成する例
 
  // factory:DbjFactoryインターフェース
  // obj:DbjObjインターフェース
 
// 初期値として設定するプロパティ値集合を作成する
DbjPropSet props = factory.createPropSet();
 
// バージョニングオブジェクトのプロパティ(Author)を設定する
props.setPropVal( "Author", "suzuki" );
 
// カレントバージョンのプロパティ (Ver)を設定する
// (バージョンオブジェクトのプロパティは@を付けて指定する)
props.setPropVal( "@Ver", "01-00" );
 
// 入力ストリーム
InputStream stream;
 
// 文書のアップロード情報のリストを作成する
List<DbjUploadInfo> uploadlist = new ArrayList<DbjUploadInfo>();
uploadlist.add( factory.createUploadInfoByStream(
             stream,         // 入力ストリーム
             retrievalName,  // retrievalNameプロパティを指定
             null,           // レンディションタイプは自動で設定する
             null,           // レンディションプロパティは設定しない
             null ) );       // 全文検索インデクスは作成しない
 
// リンク設定情報のリストを作成する(直接型リンクで関連付ける)
List<DbjSetLinkInfo>  linklist = new ArrayList<DbjSetLinkInfo>();
linklist.add( factory.createSetDCRLinkInfo(
             docspc.createObjConnection(parentoiid),
                             //上位フォルダのOIID
             null ) );      // リンクプロパティは指定しない
 
// バージョン付き文書を作成する
DbjObj obj = docspc.createVrDocument(
             "mdmClass_CfgH",
             // バージョニングオブジェクトのトップオブジェクトクラス
             "mdmClass_Document", 
             // バージョンオブジェクトのトップオブジェクトクラス
             props,           // プロパティ値集合
             uploadlist,      // 文書のアップロード情報のリスト
             linklist );      // リンク設定情報のリスト
 
// リファレンスファイル文書を作成する例
 
  // 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_RELATIVE_CONTENT,
                               // コンテンツのパス操作モード
             null,             // 登録するファイルのパス
             targetPath,       // コンテンツ格納先パス
             null  );          // 削除するディレクトリのルートパス
 
// 入力ストリーム
InputStream stream;
 
// 文書のアップロード情報のリストを作成する
List<DbjUploadInfo> uploadlist = new ArrayList<DbjUploadInfo>();
uploadlist.add( factory.createReferenceUploadInfoByStream(
             stream,             // 入力ストリーム
             retrievalName,      // retrievalNameプロパティを指定
             null,               // レンディションタイプは自動で設定する
             null,               // レンディションプロパティは設定しない
             null,               // 全文検索インデクスは作成しない
             pathInfo  ) );      // パス情報
 
// リンク設定情報のリストを作成する(直接型リンクで関連付ける)
List<DbjSetLinkInfo>  linklist = new ArrayList<DbjSetLinkInfo>();
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インターフェース
 
// 文書のアップロード情報を作成する
// (レンディションタイプは拡張子から自動設定するようにする)
DbjUploadInfo upinfo = factory.createUploadInfoByStream(
             stream,         // 入力ストリーム
             "test.html",    // retrivalNameプロパティを指定
             null,           // レンディションタイプは自動で設定する
             null,           // レンディションプロパティは設定しない
             null);          // 全文検索インデクスは作成しない
 
// マスタレンディションにコンテンツをアップロードする
obj.uploadConents(
             null,       // マスタレンディションが対象
             upinfo );   // 文書のアップロード情報を指定
 
// リファレンスファイル文書のコンテンツをアップロードする例
 
  // factory:DbjFactoryインターフェース
  // obj:DbjObjインターフェース
 
// コンテンツ格納先ベースパスは設定済み
// リファレンスファイル文書のパス情報を作成する
DbjReferencePathInfo pathInfo = factory.createReferencePathInfo(
             DbjDef.OPERATEMODE_RELATIVE_CONTENT,
                        // コンテンツのパス操作モード
             null,      // 登録するファイルのパス
             null,	      // コンテンツ格納先パス
             null );    // 削除するディレクトリのルートパス
 
// 文書のアップロード情報を作成する
DbjUploadInfo upinfo = factory.createReferenceUploadInfoByStream(
             stream,         // 入力ストリーム
             "test.html",    // retrivalNameプロパティを指定
             null,   // レンディションタイプは自動で設定する
             null,   // レンディションプロパティは設定しない
             null,   // 全文検索インデクスは作成しない
             pathInfo));     // パス情報
 
// コンテンツをアップロード
obj.uploadConents(
             null,   // マスタレンディションが対象
             upinfo );   // 文書のアップロード情報を指定

(3) コンテンツのダウンロード

文書のコンテンツをダウンロードする場合は,DbjObj#downloadContentsメソッドの形式3でダウンロードします。

コンテンツ(マスタレンディション)をダウンロードする例を次に示します。

 
// 文書のコンテンツをダウンロードする例
 
  // factory:DbjFactoryインターフェース
  // obj:DbjObjインターフェース
 
// マスタレンディションのコンテンツをダウンロード
DbjContentInfo  continfo = obj.downloadConents(null);
InputStream stream = continfo.getInputStream();
 
// リファレンスファイル文書のコンテンツをダウンロードする例
 
  // factory:DbjFactoryインターフェース
  // obj:DbjObjインターフェース
 
// マスタレンディションのコンテンツをダウンロード
DbjContentInfo  continfo = obj.downloadConents(null);
InputStream stream = continfo.getInputStream();
DbjReferenceContentInfo refcontinfo = continfo.getReferenceContentInfo();
continfo.close();