uCosminexus DocumentBroker Version 5 リファレンス API

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

1.9.3 文書管理オブジェクトの作成

ここでは,文書管理オブジェクトの作成について説明します。

<この項の構成>
(1) 文書管理オブジェクトの作成に使用するメソッド
(2) 文書の全文検索インデクスの作成

(1) 文書管理オブジェクトの作成に使用するメソッド

DbjDocSpaceインターフェースでは,作成する文書管理オブジェクトの種別ごとにメソッドが定義されています。

作成できる文書管理オブジェクトの種別と,作成に使用するメソッドについて,次の表に示します。

表1-5 文書管理オブジェクトの種別と作成に使用するメソッド

文書管理オブジェクト メソッド
バージョンなし文書 createDocument
バージョン付き文書 createVrDocument
バージョンなしフォルダ createFolder
独立データ createIndependentData
パブリックACL createPublicACL

なお,文書管理オブジェクトの作成が成功した場合,作成した文書管理オブジェクトを操作するためのDbjObjインターフェースがメソッドの戻り値として返却されます。DbjObjインターフェースの詳細については,「1.10 文書管理オブジェクトの操作」を参照してください。

また,文書管理オブジェクト作成時には,次の情報を指定できます。

それぞれの情報について説明します。

文書管理オブジェクトのトップオブジェクトクラス
文書管理オブジェクトのトップオブジェクトを作成する基になるDocumentBrokerクラス(トップオブジェクトクラス)を指定できます。各文書管理オブジェクトで指定できるトップオブジェクトクラスについては,マニュアル「DocumentBroker Version 5 概説」の「文書管理オブジェクトクラスとDocumentBrokerクラスの対応」の説明を参照してください。
DocumentBrokerでは,DocumentBrokerクラスに必要なユーザ定義プロパティを追加定義したサブクラスが作成できます。例えば,ユーザ定義プロパティを追加したusrClass_DocVersionクラス(edmClass_VersionTracedDocVersionクラスのサブクラス)を作成していた場合,このDocumentBrokerクラスを文書管理オブジェクトのトップオブジェクトクラスとして指定できます。ユーザ定義プロパティの追加方法については,マニュアル「DocumentBroker Version 5 システム導入・運用ガイド」を参照してください。
文書管理オブジェクトのプロパティの初期値
プロパティの初期値を指定できます。例えば,「文書のタイトル」,「作成者」,「作成日時」などをユーザ定義プロパティとして定義している場合に,それらの値を文書管理オブジェクトの作成と同時に設定できます。
文書のアップロード情報(文書の場合)
バージョンなし文書またはバージョン付き文書を作成する場合は,文書のコンテンツとして登録するファイルやレンディションタイプなどを設定した,文書のアップロード情報を指定できます。複数の文書のアップロード情報を指定すれば,マルチレンディション文書になります。
関連付ける文書またはフォルダ(文書またはフォルダの場合)
作成する文書またはフォルダを,既存の文書管理オブジェクトに関連付けることができます。例えば,既存のフォルダで管理する文書として登録したり,既存のフォルダの下位フォルダとして登録したりできます。
また,文書を作成する場合,文書間リンクで既存の文書と関連付けることもできます。ただし,この場合,作成した文書がリンク元文書,既存の文書がリンク先文書になりますので,注意してください。
作成する文書管理オブジェクトのオブジェクト種別ごとの,設定できるリンクの種別は,次のとおりです。
バージョンなし文書を作成する場合
  • フォルダとの直接型リンクおよび参照型リンク
  • 文書との文書間リンク
バージョン付き文書を作成する場合
  • フォルダとの直接型リンク,参照型リンク
  • 文書との文書間リンク
バージョンなしフォルダを作成する場合
  • フォルダとの直接型リンクおよび参照型リンク
バインドする文書,フォルダまたは独立データ(パブリックACLの場合)
作成するパブリックACLをバインドする文書管理オブジェクトのリストを指定できます。

ここでは,バージョン付き文書を作成する例を示します。なお,バージョン付き文書にプロパティを指定する場合の指定方法については,「1.10.7(3) バージョン付きオブジェクトのプロパティの操作」を参照してください。

 
// バージョン付き文書を作成する例
 
  // factory : DbjFactoryインターフェース
  // docspc  : DbjDocSpaceインターフェース
 
//初期値として設定するプロパティ値集合を作成する
DbjPropSet props = factory.createPropSet();
 
// バージョニングオブジェクトのプロパティ(Author)を設定する
props.setPropVal( "Author", "suzuki" );
 
// カレントバージョンのプロパティ(Ver)を設定する
// (バージョンオブジェクトのプロパティは@を付けて指定する)
props.setPropVal( "@Ver", "01-00" );
 
//文書のアップロード情報のリストを作成する
List<DbjUploadInfo> uploadlist = new ArrayList<DbjUploadInfo>();
uploadlist.add( factory.createUploadInfo(
                file,
                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 );      // リンク設定情報のリスト

(2) 文書の全文検索インデクスの作成

ここでは,文書の全文検索インデクスの作成方法について説明します。

全文検索インデクスは,バージョンなし文書またはバージョン付き文書の作成時に作成できます。また,文書のコンテンツ更新時にも作成できます。

全文検索インデクスの作成方法は,文書のアップロード情報(DbjUploadInfoインターフェース)で指定します。ただし,文書のトップオブジェクトクラスが全文検索機能付き文書クラス以外の場合,全文検索インデクスは作成されません。全文検索機能付き文書クラスの作成方法については,マニュアル「DocumentBroker Version 5 概説」の全文検索インデクスの作成を参照してください。また,文書の作成時に全文検索インデクスを作成する場合は,全文検索インデクスの作成方法を指定した文書のアップロード情報は,リストの先頭に指定する必要があります。

全文検索インデクスの作成方法には,次の2通りの方法があります。

それぞれの方法の概要を次の図に示します。

図1-6 全文検索インデクスの作成方法

[図データ]

注意事項
DocumentBrokerでは,文書のコンテンツと全文検索インデクスの内容との対応は管理しません。作成または更新する文書の内容と,全文検索インデクス生成用ファイルの内容との対応は,ユーザアプリケーションプログラムで管理してください。

ここでは,バージョンなし文書の作成と同時に,コンテンツとして登録するファイルから全文検索インデクスを作成する例を示します。

 
// コンテンツとして登録するファイルから
// 全文検索インデクスを作成する例
 
  // factory : DbjFactoryインターフェース
  // docspc  : DbjDocSpaceインターフェース
 
// 初期値として設定するプロパティ値集合を作成する
DbjPropSet props = factory.createPropSet();
 
// プロパティ(Author)を設定する
props.setPropVal( "Author", "suzuki" );
 
// 文書のアップロード情報のリストを作成する
List<DbjUploadInfo> uploadlist = new ArrayList<DbjUploadInfo>();
uploadlist.add( factory.createUploadInfo(
                  file_txt,
                  retrievalName,
                  null,    // レンディションタイプは自動で設定する
                  null,    // レンディションプロパティは設定しない
                  DbjDef.INDEXPATH_SAME ) );
                           // 全文検索インデクスを作成する
 
// バージョンなし文書を作成する
DbjObj obj = docspc.createDocument(
           "mdmClass_Document", // 全文検索機能付き文書クラス
            props,              // プロパティ値集合
            uploadlist,         // 文書のアップロード情報のリスト
            null );             // リンクは設定しない