uCosminexus DocumentBroker Version 5　リファレンス API

解説・文法書

3021-3-403-10

目　　次

前書き

変更内容

はじめに

1.　DocumentBrokerの機能

1.1　パッケージとクラス

1.1.1　パッケージ名

1.1.2　クラスの分類

1.1.3　ファクトリクラス

1.1.4　パラメタクラス

1.1.5　文書管理クラス

1.1.6　メタクラス

1.1.7　定数定義クラス

1.1.8　例外クラス

1.1.9　ライブラリ情報取得クラス

1.1.10　トレースクラス

1.2　DocumentBrokerで扱うデータ

1.2.1　Javaの基本データ型およびJavaが提供するインターフェース

1.2.2　プロパティのデータ型とDocumentBrokerで扱うデータ型の対応

1.2.3　定数

1.3　ユーザアプリケーションプログラムの作成

1.3.1　開発環境

1.3.2　プログラムのコンパイル

1.4　プログラムの流れ

1.4.1　インターフェースの取得

1.4.2　文書管理オブジェクトを操作する場合のインターフェースの取得の流れ

1.4.3　メタ情報を取得する場合のインターフェースの取得の流れ

1.5　プログラミング時の注意と設定

1.5.1　使用できる文字コード種別

1.6　ファクトリクラス

1.6.1　DbjFactory0200クラスの機能

1.6.2　DbjFactoryインターフェースの機能

1.7　パラメタの操作

1.7.1　パラメタクラスのインターフェースの機能

1.7.2　パラメタクラスのインターフェースの種類

1.8　セッションとトランザクションの制御

1.8.1　セッションとトランザクション

1.8.2　DbjSessionインターフェースの機能

1.8.3　セッション管理

1.8.4　トランザクション制御

1.8.5　ログインユーザ情報の取得

1.9　文書空間へのアクセス

1.9.1　文書空間アクセスオブジェクト

1.9.2　DbjDocSpaceインターフェースの機能

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

1.9.4　文書管理オブジェクトの検索

1.9.5　検索条件に合致した文書管理オブジェクトの削除

1.9.6　既存の文書管理オブジェクトにアクセスするインターフェースの取得

1.9.7　メタ情報を取得するインターフェースの取得

1.10　文書管理オブジェクトの操作

1.10.1　文書管理オブジェクトとProxyオブジェクト

1.10.2　Proxyオブジェクトのプロパティ

1.10.3　リンクProxyオブジェクトのプロパティ

1.10.4　文書管理オブジェクトを操作するインターフェースの機能

1.10.5　文書管理オブジェクトの情報の取得

1.10.6　アクセス方法に関する情報の取得と変更

1.10.7　文書管理オブジェクトのプロパティの操作

1.10.8　文書管理オブジェクトの削除

1.10.9　文書のコンテンツの操作

1.10.10　バージョン付きオブジェクトのバージョン操作

1.10.11　マルチレンディション文書のレンディションの操作

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

1.10.13　リンクの操作

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

1.10.15　複数の文書管理オブジェクトの一括操作

1.11　アクセス制御に関する操作

1.11.1　アクセス制御に使用するインターフェース

1.11.2　ローカルACLとACEの操作

1.11.3　パブリックACLの操作

1.12　メタ情報の取得

1.12.1　メタ情報を取得するインターフェースの機能

1.12.2　メタ情報の取得

1.13　例外処理

1.13.1　例外の種類

1.13.2　例外の種類ごとの処理方法

1.14　ライブラリ情報の取得

1.15　ユーザアプリケーションプログラムのトレース情報の出力

1.15.1　トレース情報を出力するメソッドの機能

1.15.2　トレース情報の出力先

1.15.3　トレース情報の出力形式

1.15.4　トレース情報の出力範囲

1.16　マルチスレッド環境での注意事項

2.　edmSQLの文法

2.1　edmSQLの文法の概要

2.1.1　字句規則

2.1.2　構文規則

2.2　表記規則

2.3　使用できるデータ型と演算子・関数・述語の関係

2.3.1　edmSQLで使用できるデータ型

2.3.2　論理型

2.3.3　整数型

2.3.4　オブジェクト型

2.3.5　VariableArray型

2.3.6　文字列型

2.3.7　バイナリ型

2.4　字句規則

2.4.1　文字コードセットとの対応

2.4.2　edmSQLで使用できる文字

2.4.3　<区切り文字>

2.4.4　<トークン>

2.4.5　<キーワード>

2.4.6　<リテラル>

2.4.7　<識別子>

2.4.8　<名前>

2.4.9　<特殊なプロパティ>

2.4.10　<?パラメタ>

2.4.11　<OIID>

2.5　検索の実行単位の構文規則

2.5.1　<edmSQLプログラム>

2.5.2　<edmSQL文>

2.6　問い合わせ式の構文規則

2.6.1　<問い合わせ文>

2.6.2　<問い合わせ指定>

2.6.3　<検索対象式>

2.6.4　<FROM句>

2.6.5　<WHERE句>

2.6.6　<副問い合わせ>

2.6.7　GROUP BY句

2.6.8　HAVING句

2.7　スカラー式表現の構文規則

2.7.1　<プロパティ指定>

2.7.2　<要素参照>

2.7.3　<フィールド参照>

2.7.4　<ルーチンの起動>

2.7.5　<数値関数>

2.7.6　<集合関数>

2.7.7　<値式>

2.8　述語の構文規則

2.8.1　<検索条件>

2.8.2　<述語>

2.8.3　<比較述語>

2.8.4　<論理述語>

2.8.5　<Between述語>

2.8.6　<In述語>

2.8.7　<Like述語>

2.8.8　<Null述語>

2.8.9　<Exists述語>

2.9　関数指定の構文規則

2.9.1　edmSQLが提供する関数の概要

2.9.2　文書検索関数（DBMS関数）

2.9.3　変換関数（edmSQL関数）

2.10　データ操作の構文規則

2.10.1　<ORDER BY句>

2.11　edmSQLの指定例

2.11.1　属性検索

2.11.2　全文検索（HiRDB Text Search Plug-in，またはHiRDB XML Extensionを利用した検索）

2.12　留意事項

2.12.1　プロパティに関する制限事項

2.12.2　検索条件に指定する値の制限事項

2.12.3　複数のクラスを対象にした検索の制限事項

2.12.4　アクセス制御機能付き検索を実行する場合の制限事項

3.　DocumentBrokerクラスライブラリのクラス，インターフェース，およびメソッド

3.1　ファクトリクラスのインターフェース，およびメソッド一覧

3.1.1　ファクトリクラスのクラスおよびインターフェース

3.1.2　ファクトリクラスのメソッド一覧

3.2　パラメタクラスのインターフェース，およびメソッド一覧

3.2.1　パラメタクラスのインターフェース一覧

3.2.2　パラメタクラスのメソッド一覧

3.3　文書管理クラスのインターフェース，およびメソッド一覧

3.3.1　文書管理クラスのインターフェース一覧

3.3.2　文書管理クラスのメソッド一覧

3.4　メタクラスのインターフェース，およびメソッド一覧

3.4.1　メタクラスのインターフェース一覧

3.4.2　メタクラスのメソッド一覧

3.5　例外クラスのクラス一覧，スーパークラス，およびコンストラクタ

3.5.1　例外クラスのクラス一覧

3.5.2　例外クラスのスーパークラス

3.5.3　例外クラスのコンストラクタ

3.6　定数定義クラスのカテゴリ一覧

3.7　ライブラリ情報取得クラスのクラス，およびメソッド一覧

3.7.1　ライブラリ情報取得クラスのクラス

3.7.2　ライブラリ情報取得クラスのメソッド一覧

3.8　トレースクラスのクラス，およびメソッド一覧

3.8.1　トレースクラスのクラス

3.8.2　トレースクラスのメソッド一覧

3.9　クラス，インターフェースおよびメソッドの説明形式

3.9.1　メソッドで説明する項目

3.9.2　パラメタクラスのインターフェースで説明する項目

3.9.3　文書管理オブジェクトのプロパティのデータ型

4.　ファクトリクラス詳細

4.1　DbjFactory0200クラス

4.1.1　getFactory（ファクトリインターフェースの取得）

4.1.2　getMetaManager（メタマネージャーインターフェースの取得）

4.2　DbjFactoryインターフェース

4.2.1　createACE（ACEの作成）

4.2.2　createBooleanQParam（BOOL型の?パラメタの作成）

4.2.3　createConvertContentInfo（コンテンツ情報オブジェクトの作成）

4.2.4　createFetchInfo（検索結果取得情報オブジェクトの作成）

4.2.5　createInteger32QParam（INT型の?パラメタの作成）

4.2.6　createOIIDQParam（OIIDの?パラメタの作成）

4.2.7　createObjQParam（Object型の?パラメタの作成）

4.2.8　createPropSet（プロパティ値集合オブジェクトの作成）

4.2.9　createPublicACLIdElm（パブリックACLのOIIDエレメントの作成）

4.2.10　createReferencePathInfo（リファレンスファイル文書のパス情報オブジェクトの作成）

4.2.11　createReferenceUploadInfo（リファレンスファイル文書のアップロード情報オブジェクトの作成）

4.2.12　createReferenceUploadInfoByStream（入力ストリームを使用したリファレンスファイル文書のアップロード情報オブジェクトの作成）

4.2.13　createSeedDocQParam（種文章の?パラメタの作成）

4.2.14　createSession（DocumentBrokerクラスライブラリのセッションオブジェクトの作成）

4.2.15　createSetDCRLinkInfo（直接型リンク設定情報の作成）

4.2.16　createSetRCRLinkInfo（参照型リンク設定情報の作成）

4.2.17　createSetRelLinkInfo（文書間リンク設定情報の作成）

4.2.18　createStringQParam（String型の?パラメタの作成）

4.2.19　createUploadInfo（文書のアップロード情報オブジェクトの作成）

4.2.20　createUploadInfoByStream（入力ストリームを使用した文書のアップロード情報オブジェクトの作成）

4.2.21　createVArray（可変長配列オブジェクトの作成）

5.　パラメタクラス詳細

5.1　DbjACEインターフェース

5.1.1　getPermission（パーミッションの取得）

5.1.2　getSubject（サブジェクトの取得）

5.1.3　getSubjectType（サブジェクト種別の取得）

5.1.4　propSet（ACEのプロパティ値集合の取得）

5.1.5　setGroupSubject（サブジェクトをグループサブジェクトとして設定）

5.1.6　setPermission（パーミッションの設定）

5.1.7　setPropSet（ACEのプロパティ値集合の設定）

5.1.8　setSubject（サブジェクトの設定）

5.1.9　setSubjectType（サブジェクト種別の設定）

5.1.10　setSystemSubject（サブジェクトをシステムサブジェクトとして設定）

5.1.11　setUserSubject（サブジェクトをユーザサブジェクトとして設定）

5.2　DbjBooleanQParamインターフェース

5.3　DbjCheckOutInfoインターフェース

5.3.1　getCheckOutUserId（チェックアウトしたユーザのユーザ識別子の取得）

5.3.2　getCheckOutVersionId（仮のバージョン識別子の取得）

5.3.3　isCheckOut（チェックアウト中かどうかの判定）

5.4　DbjContentInfoインターフェース

5.4.1　getRenditionType（コンテンツのレンディションタイプの取得）

5.4.2　getRetrievalName（コンテンツのファイル名の取得）

5.4.3　getInputStream（コンテンツの入力ストリームの取得）

5.4.4　getReferenceContentInfo（DbjReferenceContentInfoのgetter）

5.4.5　close（コンテンツ情報のクローズ）

5.5　DbjConvertContentInfoインターフェース

5.5.1　getConvertType（変換先コンテンツ種別の取得）

5.5.2　getExecuteMode（変換モードの取得）

5.5.3　getSourceScope（変換対象レンディション範囲の取得）

5.5.4　getRenditionType（変換対象レンディションタイプの取得）

5.5.5　getInvestMode（コメント付与方式の取得）

5.5.6　getRenditionComment（レンディションコメントの取得）

5.5.7　getReferenceTargetPath（コンテンツ登録先ディレクトリパスの取得）

5.5.8　isChangeMaster（変換後のレンディション種別取得）

5.5.9　isCheckRenditionStatus（レンディションステータスのチェックの取得）

5.5.10　isInvestSourceComment（レンディションコメントの付与箇所の取得）

5.5.11　setConvertType（変換先コンテンツ種別の設定）

5.5.12　setExecuteMode（変換モードの設定）

5.5.13　setSourceScope（変換対象レンディション範囲の設定）

5.5.14　setRenditionType（変換対象レンディションタイプの設定）

5.5.15　setInvestMode（コメント付与方式の設定）

5.5.16　setRenditionComment（レンディションコメントの設定）

5.5.17　setReferenceTargetPath（コンテンツ登録先ディレクトリパスの設定）

5.5.18　setChangeMaster（変換後のレンディション種別設定）

5.5.19　setCheckRenditionStatus（レンディションステータスのチェックの設定）

5.5.20　setInvestSourceComment（レンディションコメントの付与箇所の設定）

5.6　DbjFetchInfoインターフェース

5.6.1　getCacheKey（キャッシュキーの取得）

5.6.2　getCacheName（キャッシュ名の取得）

5.6.3　getCacheTotal（検索結果キャッシュの全件数の取得）

5.6.4　getComparator（Comparatorインターフェースの取得）

5.6.5　getFetchCount（検索結果の取得件数の取得）

5.6.6　getMaxFetchCount（検索結果の最大取得件数の取得）

5.6.7　getStartIndex（検索結果の取得開始位置の取得）

5.6.8　setCacheKey（キャッシュキーの設定）

5.6.9　setCacheName（キャッシュ名の設定）

5.6.10　setCacheTotal（検索結果キャッシュの全件数の設定）

5.6.11　setComparator（Comparatorインターフェースの設定）

5.6.12　setFetchCount（検索結果の取得件数の設定）

5.6.13　setMaxFetchCount（検索結果の最大取得件数の設定）

5.6.14　setStartIndex（検索結果の取得開始位置の設定）

5.7　DbjInteger32QParamインターフェース

5.8　DbjObjQParamインターフェース

5.9　DbjOIIDQParamインターフェース

5.10　DbjPropSetインターフェース

5.10.1　changePropName（プロパティ名の変更）

5.10.2　changePropNames（プロパティ名の一括変更）

5.10.3　getIntegerVal（Integer型でのプロパティ値の取得）

5.10.4　getIntVal（int型でのプロパティ値の取得）

5.10.5　getListRef（List型でのプロパティ値の取得）

5.10.6　getStringVal（String型でのプロパティ値の取得）

5.10.7　getVArrayRef（VARRAY型でのプロパティ値の参照の取得）

5.10.8　getVArrayVal（VARRAY型でのプロパティ値の取得）

5.10.9　isNull（プロパティ値がNULL値かどうかの判定）

5.10.10　setNull（NULL値プロパティの設定）

5.10.11　setPropRef（プロパティ値の参照の設定）

5.10.12　setPropVal（プロパティ値の設定）

5.11　DbjPublicACLIdElmインターフェース

5.11.1　getId（パブリックACLのOIID文字列の取得）

5.11.2　propSet（パブリックACLのOIID文字列のプロパティ値集合の取得）

5.11.3　setId（パブリックACLのOIID文字列の設定）

5.11.4　setPropSet（パブリックACLのOIID文字列のプロパティ値集合の設定）

5.12　DbjQParamインターフェース

5.12.1　getVal（?パラメタ値の取得）

5.13　DbjReferenceContentInfoインターフェース

5.13.1　getContentLocation（コンテンツロケーションの取得）

5.13.2　getReferenceType（リファレンス種別の取得）

5.14　DbjReferencePathInfoインターフェース

5.14.1　getContentOperateMode（コンテンツのパス操作モードの取得）

5.14.2　getDeleteRootPath（削除するディレクトリのルートパスの取得）

5.14.3　getEntry（登録するコンテンツのパスまたはダウンロード先のパスの取得）

5.14.4　getTargetPath（コンテンツ格納先パスの取得）

5.14.5　setContentOperateMode（コンテンツのパス操作モードの設定）

5.14.6　setDeleteRootPath（削除するディレクトリのルートパスの設定）

5.14.7　setEntry（登録するコンテンツのパスまたはダウンロード先のパスの設定）

5.14.8　setTargetPath（コンテンツ格納先パスの設定）

5.15　DbjReferenceUploadInfoインターフェース

5.15.1　getReferencePathInfo（リファレンスファイル文書のパス情報の取得）

5.15.2　setReferencePathInfo（リファレンスファイル文書のパス情報の設定）

5.16　DbjRenditionInfoインターフェース

5.16.1　getRenditionType（レンディションタイプの取得）

5.16.2　propSet（レンディションのプロパティ値集合の取得）

5.17　DbjRenditionListインターフェース

5.17.1　getRenditionInfo（レンディション情報の取得）

5.17.2　getRenditionTypeList（レンディションタイプのリストの取得）

5.18　DbjResultSetインターフェース

5.18.1　absolute（カーソルの絶対指定行への移動）

5.18.2　afterLast（カーソルの最終行の後ろへの移動）

5.18.3　beforeFirst（カーソルの先頭行の前への移動）

5.18.4　distinct（列の重複の排除）

5.18.5　findColumnName（列インデクスの取得）

5.18.6　first（カーソルの先頭行への移動）

5.18.7　getColumnCount（列数の取得）

5.18.8　getColumnMetaName（列名の取得（表名を含む））

5.18.9　getColumnName（列名の取得）

5.18.10　getColumnType（列のデータ型の取得）

5.18.11　getColumnVals（列データの取得）

5.18.12　getIntegerVal（Integer型での列データの取得）

5.18.13　getIntVal（int型での列データの取得）

5.18.14　getObjectRef（データの参照の取得）

5.18.15　getObjectVal（データの取得）

5.18.16　getPropSet（行データをプロパティ値集合として取得）

5.18.17　getRow（カーソル行インデクスの取得）

5.18.18　getRowCount（行数の取得）

5.18.19　getRowVals（行データの取得）

5.18.20　getStringVal（String型での列データの取得）

5.18.21　getTableName（表名の取得）

5.18.22　getVArrayRef（VARRAY型でのデータの参照の取得）

5.18.23　getVArrayVal（VARRAY型でのデータの取得）

5.18.24　isAfterLast（カーソルが最終行の後ろかどうかの判定）

5.18.25　isBeforeFirst（カーソルが先頭行の前かどうかの判定）

5.18.26　isFirst（カーソルが先頭行かどうかの判定）

5.18.27　isLast（カーソルが最終行かどうかの判定）

5.18.28　isNamed（名前付き検索結果かどうかの判定）

5.18.29　isNull（NULL値かどうかの判定）

5.18.30　last（カーソルの最終行への移動）

5.18.31　next（カーソルの次の行への移動）

5.18.32　previous（カーソルの前の行への移動）

5.18.33　reduct（名前なし列の削除）

5.18.34　setColumnMetaName（列名の設定）

5.19　DbjSeedDocQParamインターフェース

5.20　DbjSetDCRLinkInfoインターフェース

5.21　DbjSetLinkInfoインターフェース

5.21.1　getLinkType（リンク種別の取得）

5.21.2　getTargetObj（リンク先オブジェクトの取得）

5.21.3　propSet（リンクオブジェクトのプロパティ値集合の取得）

5.21.4　setPropSet（リンクオブジェクトのプロパティ値集合の設定）

5.21.5　setTargetObj（リンク先オブジェクトの設定）

5.22　DbjSetRCRLinkInfoインターフェース

5.23　DbjSetRelLinkInfoインターフェース

5.24　DbjStringQParamインターフェース

5.25　DbjUploadInfoインターフェース

5.25.1　getFilePath（登録する文書のフルパスの取得）

5.25.2　getIndexPath（全文検索インデクス作成用ファイルのフルパスの取得）

5.25.3　getRenditionType（登録する文書のレンディションタイプの取得）

5.25.4　getRetrievalName（登録する文書のファイル名の取得）

5.25.5　renditionPropSet（レンディションプロパティ値集合の取得）

5.25.6　getFileStream（fileStreamプロパティの取得）

5.25.7　getIndexStream（indexStreamプロパティの取得）

5.25.8　setFilePath（登録する文書のフルパスの設定）

5.25.9　setIndexPath（全文検索インデクス作成用ファイルのフルパスの設定）

5.25.10　setRenditionPropSet（レンディションプロパティ値集合の設定）

5.25.11　setRenditionType（登録する文書のレンディションタイプの設定）

5.25.12　setRetrievalName（登録する文書のファイル名の設定）

5.25.13　setFileStream（fileStreamプロパティの設定）

5.25.14　setIndexStream（indexStreamプロパティの設定）

5.26　DbjVArrayインターフェース

5.26.1　addPropSet（プロパティ値集合（行）の追加）

5.26.2　addPropVals（プロパティ値（列）の追加）

5.26.3　changePropName（可変長配列オブジェクトのプロパティ名の変更）

5.26.4　changePropNames（可変長配列オブジェクトのプロパティ名の一括変更）

5.26.5　getPropCount（メタプロパティ数の取得）

5.26.6　getPropNameSet（メタプロパティの取得）

5.26.7　getPropVals（可変長配列オブジェクトのプロパティ値のリストの取得）

5.26.8　propSet（プロパティ値集合の取得）

5.26.9　removeProp（プロパティの削除）

6.　文書管理クラス詳細

6.1　DbjDocSpaceインターフェース

6.1.1　changeSearchACLMode（検索実行時のアクセス制御モードの変更）

6.1.2　createDocument（バージョンなし文書の作成）

6.1.3　createFolder（バージョンなしフォルダの作成）

6.1.4　createIndependentData（独立データの作成）

6.1.5　createLinkObjList（複数のリンクオブジェクトアクセスインターフェースの取得）

6.1.6　createObjConnection（文書管理オブジェクトアクセスインターフェースの取得）

6.1.7　createObjList（複数の文書管理オブジェクトアクセスインターフェースの取得）

6.1.8　createPublicACL（パブリックACLの作成）

6.1.9　createVrDocument（バージョン付き文書の作成）

6.1.10　executeSearch（検索の実行）

6.1.11　getMeta（文書管理のメタ情報の取得）

6.1.12　getSearchACLMode（検索実行時のアクセス制御モードの取得）

6.1.13　isAccessControlMode（アクセス制御モードの取得）

6.1.14　removeObjects（検索条件を指定したオブジェクトの削除）

6.2　DbjLinkObjインターフェース

6.2.1　getLinkId（リンク識別子の取得）

6.2.2　getLinkType（リンク種別の取得）

6.2.3　getOwnerObj（リンク元オブジェクトの取得）

6.2.4　getTargetObj（リンク先オブジェクトの取得）

6.2.5　propSet（リンクProxyオブジェクトのプロパティ値集合インターフェースの取得）

6.2.6　readProperties（リンクプロパティの取得）

6.2.7　removeObject（リンクオブジェクトの削除）

6.2.8　setPropSet（リンクProxyオブジェクトのプロパティ値集合の設定）

6.2.9　writeProperties（リンクプロパティ値の設定）

6.3　DbjLinkObjListインターフェース

6.3.1　getLinkIdList（ターゲットリンク識別子プロパティのリストの取得）

6.3.2　getLinkObj（リスト要素のDbjLinkObjインターフェースの取得）

6.3.3　getOwnerObjList（リンク元オブジェクトのリストの取得）

6.3.4　getTargetObjList（リンク先オブジェクトのリストの取得）

6.3.5　readProperties（リンクプロパティ値の一括取得）

6.3.6　removeObjects（リンクオブジェクトの一括削除）

6.3.7　writeProperties（リンクプロパティ値の一括設定）

6.4　DbjObjインターフェース

6.4.1　addRendition（レンディションの追加）

6.4.2　bindPublicACL（パブリックACLのバインド）

6.4.3　changeMasterRendition（マスタレンディションの変更）

6.4.4　cancelCheckOut（バージョン付きオブジェクトのチェックアウトの取り消し）

6.4.5　checkIn（バージョン付きオブジェクトのチェックイン）

6.4.6　checkOut（バージョン付きオブジェクトのチェックアウト）

6.4.7　convertContentType（コンテンツ種別の変換）

6.4.8　deleteRendition（レンディションの削除）

6.4.9　deleteVersion（バージョンの削除）

6.4.10　downloadContents（文書のコンテンツのダウンロード）

6.4.11　getBindObjectList（パブリックACLにバインドしている文書管理オブジェクト一覧の取得）

6.4.12　getCheckOutStatus（バージョン付きオブジェクトのチェックアウト状態の取得）

6.4.13　getChildList（フォルダのリンク先オブジェクト（下位オブジェクト）の取得）

6.4.14　getClassName（アクセス対象文書管理オブジェクトを構成するDocumentBrokerクラス名の取得）

6.4.15　getDCRParent（直接型リンクによるリンク元オブジェクトの取得）

6.4.16　getLockType（Proxyオブジェクトのアクセスロック種別の取得）

6.4.17　getObjType（アクセス対象文書管理オブジェクトのオブジェクト種別の取得）

6.4.18　getOiid（アクセス対象文書管理オブジェクトのOIIDの取得）

6.4.19　getParentList（フォルダのリンク元オブジェクトの取得）

6.4.20　getPublicACLList（バインドしているパブリックACL一覧の取得）

6.4.21　getRelList（文書間リンク一覧の取得）

6.4.22　getRenditionList（レンディション情報一覧の取得）

6.4.23　getTargetVersion（アクセス対象ターゲットバージョンのバージョン識別子の取得）

6.4.24　getVersionId（バージョンオブジェクトのバージョン識別子の取得）

6.4.25　getVersioningInfo（バージョン付きオブジェクトのバージョニングオブジェクトの取得）

6.4.26　getVersionObjList（バージョン付きオブジェクトのバージョン一覧の取得）

6.4.27　link（リンク先オブジェクトとのリンク）

6.4.28　lock（アクセスロック種別の異なる文書管理オブジェクトインターフェースの取得）

6.4.29　move（直接型リンクが設定されている文書管理オブジェクトの移動）

6.4.30　propSet（Proxyオブジェクトのプロパティ値集合インターフェースの取得）

6.4.31　readProperties（文書管理オブジェクトのプロパティ値の読み込み）

6.4.32　removeObject（文書管理オブジェクトの削除）

6.4.33　setPropSet（Proxyオブジェクトのプロパティ値集合の設定）

6.4.34　setTargetVersion（アクセス対象ターゲットバージョンのバージョン識別子の変更）

6.4.35　unbindPublicACL（パブリックACLのアンバインド）

6.4.36　unlink（リンク先オブジェクトとのリンクの解除）

6.4.37　unlinkByLinkId（リンク識別子の指定によるリンク先オブジェクトとのリンクの解除）

6.4.38　uploadContents（文書のコンテンツのアップロード）

6.4.39　writeProperties（文書管理オブジェクトのプロパティ値の設定）

6.4.40　writeRenditionProperties（レンディションプロパティの設定）

6.5　DbjObjListインターフェース

6.5.1　getObj（リスト要素の取得）

6.5.2　lock（アクセスロック種別の異なる複数文書管理オブジェクトインターフェースの取得）

6.5.3　move（直接型リンクが設定されている文書管理オブジェクトの一括移動）

6.5.4　readProperties（複数の文書管理オブジェクトプロパティ値の一括取得）

6.5.5　removeObjects（文書管理オブジェクトの一括削除）

6.5.6　setPropSet（要素のプロパティ値集合の設定）

6.5.7　writeProperties（複数の文書管理オブジェクトプロパティ値の一括設定）

6.6　DbjSessionインターフェース

6.6.1　begin（トランザクションの開始）

6.6.2　checkSession（セッションが有効かどうかのチェック）

6.6.3　commit（トランザクションの確定）

6.6.4　getLoginUserInfo（ユーザ情報の取得）

6.6.5　getReferencePath（コンテンツ格納先ベースパスの取得）

6.6.6　login（ログイン）

6.6.7　logout（ログアウト）

6.6.8　rollback（トランザクションの取り消し）

6.6.9　setReferencePath（コンテンツ格納先ベースパスの設定）

6.6.10　getConnection（JDBCコネクションの取得）

6.6.11　changeUserPrivilege（文書空間に接続中のユーザの特権変更）

6.7　DbjVerObjインターフェース

6.7.1　getVersionId（文書管理オブジェクトのバージョン識別子の取得）

6.8　DbjVerObjListインターフェース

6.8.1　getVerObj（要素のDbjVerObjインターフェースの取得）

6.8.2　getVersionIdList（文書管理オブジェクトのバージョン識別子リストの取得）

7.　メタクラス詳細

7.1　DbjClassDescインターフェース

7.1.1　getName（クラス名の取得）

7.1.2　getProperties（プロパティディスクリプションの取得）

7.1.3　getSubClasses（サブクラスのクラスディスクリプションの取得）

7.1.4　getSuperClass（スーパークラスのクラスディスクリプションの取得）

7.2　DbjMetaインターフェース

7.2.1　getClassDesc（指定したクラスのクラスディスクリプションの取得）

7.2.2　getDocSpaceId（文書空間識別子の取得）

7.2.3　getExtFromRenditionType（レンディションタイプに対応する拡張子の取得）

7.2.4　getPropDataType（指定したプロパティのデータ型の取得）

7.2.5　getPropDesc（指定したプロパティのプロパティディスクリプションの取得）

7.2.6　getRenditionType（拡張子に対応するレンディションタイプの取得）

7.3　DbjMetaManagerインターフェース

7.3.1　getMeta（メタ情報の取得）

7.4　DbjPropDescインターフェース

7.4.1　getDataType（プロパティのデータ型の取得）

7.4.2　getName（プロパティ名の取得）

7.4.3　getVArrayClass（VARRAY型プロパティを扱うクラスのクラスディスクリプションの取得）

8.　例外クラス詳細

8.1　例外クラスの詳細

8.2　DbjAccessControlExceptionクラス

8.3　DbjAccessControlNotSupportedExceptionクラス

8.4　DbjACEOperationExceptionクラス

8.5　DbjACLOutOfRangeExceptionクラス

8.6　DbjAlreadyCheckOutExceptionクラス

8.7　DbjCheckOutExceptionクラス

8.8　DbjContentNotRegisteredExceptionクラス

8.9　DbjContentTypeMismatchExceptionクラス

8.10　DbjConvertContentTargetNotFoundExceptionクラス

8.11　DbjDBDeadLockExceptionクラス

8.12　DbjDBExceptionクラス

8.13　DbjDBLockTimeoutExceptionクラス

8.14　DbjDisconnectedSessionExceptionクラス

8.15　DbjErrorクラス

8.16　DbjExceptionクラス

8.17　DbjFileAccessExceptionクラス

8.18　DbjFileNotFoundExceptionクラス

8.19　DbjFileReferenceCurrentContentNotfoundExceptionクラス

8.20　DbjFileReferenceMismatchStatusExceptionクラス

8.21　DbjFileReferenceOperationFailedExceptionクラス

8.22　DbjIllegalCacheStartIndexExceptionクラス

8.23　DbjIllegalDocSpaceIdExceptionクラス

8.24　DbjIllegalObjectTypeExceptionクラス

8.25　DbjIllegalPropValExceptionクラス

8.26　DbjInitializeErrorクラス

8.27　DbjInternalErrorクラス

8.28　DbjIOExceptionクラス

8.29　DbjIsMasterRenditionExceptionクラス

8.30　DbjLastVersionExceptionクラス

8.31　DbjMasterRenditionNotSetExceptionクラス

8.32　DbjNotAuthenticatedExceptionクラス

8.33　DbjNotCheckOutExceptionクラス

8.34　DbjNotLoginExceptionクラス

8.35　DbjNotSupportedExceptionクラス

8.36　DbjObjectNotFoundExceptionクラス

8.37　DbjOutOfMemoryErrorクラス

8.38　DbjPublicACLAlreadyBoundExceptionクラス

8.39　DbjPublicACLNotBoundExceptionクラス

8.40　DbjPublicACLNotFoundExceptionクラス

8.41　DbjPublicACLOperationExceptionクラス

8.42　DbjPublicACLOutOfRangeExceptionクラス

8.43　DbjReferenceTypeMismatchExceptionクラス

8.44　DbjRenditionConversionErrorExistedExceptionクラス

8.45　DbjRenditionConversionRequiringExistedExceptionクラス

8.46　DbjRenditionCountOutOfRangeExceptionクラス

8.47　DbjRenditionIsEmptyExceptionクラス

8.48　DbjRenditionNotConvertedExceptionクラス

8.49　DbjRenditionNotFoundExceptionクラス

8.50　DbjRenditionTypeDuplicatedExceptionクラス

8.51　DbjSessionExceptionクラス

8.52　DbjSessionNotConnectExceptionクラス

8.53　DbjSubjectLengthOutOfRangeExceptionクラス

8.54　DbjTargetContentPathInvalidExceptionクラス

8.55　DbjTargetContentPathNotSetExceptionクラス

8.56　DbjUnknownErrorクラス

8.57　DbjUnexpectedExceptionクラス

8.58　DbjVersionObjectNotFoundExceptionクラス

9.　定数定義クラス詳細

9.1　DbjDefクラス

9.1.1　Category：ACL

9.1.2　Category：CONTENTTYPE

9.1.3　Category：DATATYPE

9.1.4　Category：DMA BOOLEAN

9.1.5　Category：INDEXTYPE

9.1.6　Category：LINK

9.1.7　Category：LOCK

9.1.8　Category：OBJTYPE

9.1.9　Category：OPERATEMODE

9.1.10　Category：ORDER

9.1.11　Category：PERM

9.1.12　Category：PRIV

9.1.13　Category：REFERENCETYPE

9.1.14　Category：RELATIONEND

9.1.15　Category：RENDSTATUS

9.1.16　Category：SUBJECTTYPE

9.1.17　Category：SYSSUBJECT

9.1.18　Category：Others

9.2　DbjTraceDefクラス

9.2.1　Category：TRACELEVEL

9.2.2　Category：TRACEOUTPUT

10.　ライブラリ情報取得クラス詳細

10.1　DbjLibInfoクラス

10.1.1　getVersion（バージョンの取得）

11.　トレースクラス詳細

11.1　DbjTraceクラス

11.1.1　arg（パラメタ情報の出力）

11.1.2　call（外部APIの呼び出し情報の出力）

11.1.3　DbjTrace（コンストラクタ）

11.1.4　enter（メソッドの入り口情報の出力）

11.1.5　error（エラー情報の出力）

11.1.6　exit（メソッドの出口情報の出力）

11.1.7　hint（下位のメソッドのエラー情報の出力）

11.1.8　init（トレースクラスの初期化）

11.1.9　msg（メッセージの出力）

11.1.10　returned（外部APIからのリターン情報の出力）

付録

付録A　このマニュアルの参考情報

付録A.1　関連マニュアル

付録A.2　このマニュアルでの表記

付録A.3　英略語

付録A.4　KB（キロバイト）などの単位表記について

付録B　用語解説

索引

[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2012, 2013, Hitachi Solutions, Ltd.

前書き

■ 対象製品

R-1595F-43　 uCosminexus DocumentBroker Developer　 05-10（適用OS：Windows Server 2008 R2，Windows Server 2012，Windows 7 (x86)，Windows 7 (x64)，Windows 8 (x86)，Windows 8 (x64)）

■ 輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。
なお、不明な場合は、弊社担当営業にお問い合わせください。

■ 商標類

Active Directoryは，米国Microsoft Corporationの，米国およびその他の国における登録商標または商標です。
GIFは，米国CompuServe Inc.が開発したフォーマットの名称です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Microsoft Office Wordは，米国 Microsoft Corporation の商品名称です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。Microsoft Wordは，米国Microsoft Corporationの商品名称です。
OracleとJavaは，Oracle Corporation及びその子会社，関連会社の米国及びその他の国における登録商標です。
MicrosoftおよびWindowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
MicrosoftおよびWindows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
その他記載の会社名，製品名は，それぞれの会社の商標もしくは登録商標です。

■ マイクロソフト製品の表記について

このマニュアルでは，マイクロソフト製品の名称を次のように表記しています。

製品名称 | 略称
Microsoft(R) Active Directory(R) | Active Directory
Microsoft(R) Internet Explorer(R) | Internet Explorer
Microsoft(R) Office Word | Word
Microsoft(R) Word
Windows(R) 8 Pro (32ビット版) | Windows 8 | Windows
Windows(R) 8 Enterprise (32ビット版)
Windows(R) 8 Pro (64ビット版)
Windows(R) 8 Enterprise (64ビット版)
Microsoft(R) Windows(R) 7 Professional 日本語版 (32ビット版) | Windows 7
Microsoft(R) Windows(R) 7 Enterprise 日本語版 (32ビット版)
Microsoft(R) Windows(R) 7 Ultimate 日本語版 (32ビット版)
Microsoft(R) Windows(R) 7 Professional 日本語版 (64ビット版)
Microsoft(R) Windows(R) 7 Enterprise 日本語版 (64ビット版)
Microsoft(R) Windows(R) 7 Ultimate 日本語版 (64ビット版)
Microsoft(R) Windows Server(R) 2012 Datacenter 日本語版 | Windows Server 2012
Microsoft(R) Windows Server(R) 2012 Standard 日本語版
Microsoft(R) Windows Server(R) 2008 R2 Enterprise 日本語版 | Windows Server 2008 R2
Microsoft(R) Windows Server(R) 2008 R2 Standard 日本語版

■ 発行

2013年4月 3021-3-403-10

■ 著作権

All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2012, 2013, Hitachi Solutions, Ltd.

変更内容

変更内容（3021-3-403-10）

追加・変更内容 | 変更個所
入力ストリームを使用した文書の操作が可能になりました。 | 1.10.14，4.2，4.2.12，4.2.20，5.4，5.4.3，5.4.4，5.4.5，5.14，5.15，5.25，5.25.6，5.25.7，5.25.13，5.25.14，6.4.10
JDBCコネクションの取得 | 6.6.10
文書空間に接続中のユーザの特権を変更するメソッドが追加になりました。 | 6.6.11，9.1.12
前提OSにWindows Server 2012およびWindows 8を追加しました。 | －

単なる誤字・脱字などはお断りなく訂正しました。

はじめに

このマニュアルは，次に示すプログラムプロダクトで提供するDocumentBrokerクラスライブラリの詳細，インターフェースの詳細，メソッドの文法，およびメッセージの詳細についてリファレンス形式で説明したものです。

R-1595F-43　uCosminexus DocumentBroker Developer

＜はじめにの構成＞

対象読者

マニュアルの構成

読書手順

このマニュアルで使用する記号

このマニュアルで使用する構文要素記号

対象読者

このマニュアルは，uCosminexus DocumentBroker Developerが提供するDocumentBrokerクラスライブラリを使用して，ユーザアプリケーションプログラムを開発し，システムを構築，運用および管理する方を対象にしています。なお，次の内容を理解されていることを前提としています。

Windowsに関する知識

JavaTM言語に関する知識

SQL言語に関する知識

マニュアルの構成

このマニュアルは，次に示す章と付録から構成されています。

第1章　DocumentBrokerの機能

DocumentBrokerクラスライブラリで実現できる機能の概要，システム構成，処理の流れなどについて説明しています。

第2章　edmSQLの文法

edmSQLの文法について説明しています。

第3章　DocumentBrokerのクラス，インターフェース，およびメソッド

DocumentBrokerのクラス，インターフェース，およびメソッドを一覧表形式で説明しています。また，DocumentBrokerクラスライブラリで提供するクラスライブラリのリファレンスマニュアルのクラス，インターフェース，およびメソッドの記述形式（ページレイアウト）について説明しています。

第4章　ファクトリクラス詳細

ファクトリクラスのクラス，インターフェース，およびメソッドについて説明しています。

第5章　パラメタクラス詳細

パラメタクラスのインターフェース，およびメソッドについて説明しています。

第6章　文書管理クラス詳細

文書管理クラスのインターフェース，およびメソッドについて説明しています。

第7章　メタクラス詳細

メタクラスのインターフェース，およびメソッドについて説明しています。

第8章　例外クラス詳細

例外クラスの詳細について説明しています。

第9章　定数定義クラス詳細

定数定義クラスの定義内容についてカテゴリごとに説明しています。

第10章　ライブラリ情報取得クラス詳細

ライブラリ情報取得クラスのクラスとそのメソッドについて説明しています。

第11章　トレースクラス詳細

トレースクラスのクラスとそのメソッドについて説明しています。

付録A　このマニュアルの参考情報

関連マニュアル，このマニュアルで使用している略語の意味などを説明しています。

付録B　用語解説

DocumentBrokerクラスライブラリで使用する用語について説明しています。

読書手順

このマニュアルは，利用目的に合わせて章を選択してお読みいただけます。次に示す表を参考にして，お読みになる章を選択してください。

このマニュアルを読む目的 | 記述個所
DocumentBrokerクラスライブラリで実現できる機能の概要，システム構成，処理の流れなどについて知りたい | 1章
edmSQLの文法について知りたい | 2章
どのようなDocumentBrokerクラスライブラリのクラス，インターフェースおよびメソッドがあるかを知りたい | 3章
クラス，インターフェースおよびメソッドの説明形式について知りたい | 3.9節
ファクトリクラスのインターフェースおよびメソッドについて知りたい | 4章
パラメタクラスのインターフェースおよびメソッドについて知りたい | 5章
文書管理クラスのインターフェースおよびメソッドについて知りたい | 6章
メタクラスのインターフェースおよびメソッドについて知りたい | 7章
例外クラスについて知りたい | 8章
定数定義クラスの定義内容について知りたい | 9章
ライブラリ情報取得クラスのクラスおよびメソッドについて知りたい | 10章
トレースクラスのクラスおよびメソッドについて知りたい | 11章
関連マニュアルや略語の意味など，このマニュアルの参考情報について知りたい | 付録A
uCosminexus DocumentBrokerの用語を知りたい | 付録B

このマニュアルで使用する記号

このマニュアルで使用する記号を次に示します。

記号
意味

　｜
横に並べられた複数の項目に対する項目間の区切りを示し，「または」の意味を表します。

（例）　A｜B

AまたはBを指定することを示します。

　＿
括弧で囲まれた複数項目のうち1項目に対し使用され，括弧内のすべてを省略した場合にシステムが取る標準値を示します。

（例）　〔A｜B〕

何も指定しない場合はAが仮定されます。

｛　｝
この記号で囲まれている複数の項目のうちから一つを選択することを示します。項目が横に並べられ，記号｜で区切られている場合は，そのうちの一つを選択します。

（例）　｛A｜B｜C｝

A，BまたはCのどれかを指定することを示します。

〔　〕
この記号で囲まれている項目は省略してもよいことを意味します。複数の項目が横に並べて記述されている場合には，すべてを省略するか，記号｛ ｝と同じくどれか一つを選択します。

（例１）　〔A〕

「何も指定しない」か「Aを指定する」ことを示します。

（例２）　〔B｜C〕

「何も指定しない」か「BまたはCを指定する」ことを示します。

<　>
この記号で囲まれている項目は，該当する要素を指定することを示します。

（例）　<プロパティ>

プロパティを記述します。

：：＝
この記号の左にあるものを右にあるもので定義することを示します。

（例）　A：：＝B

「AとはBである」と定義することを示します。

　…
記述が省略されていることを示します。

（例）　ABC…

ABCの後ろに記述があり，その記述が省略されていることを示します。

．．．
この記号の直前の項目を繰り返し，複数個指定できることを示します。

（例）　A．．．

Aを複数個指定できることを示します。

このマニュアルで使用する構文要素記号

このマニュアルで使用する構文要素の種類を次に示します。

構文要素記号 | 意味
英字 | A～Z　a～z
英小文字 | a～z
英大文字 | A～Z
数字 | 0～9
英数字 | A～Z　a～z　0～9
16進数字 | 0～9　A～F　a～f
記号 | !　"　#　$　%　&　'　(　)　+　,　_　―　・　.　/　:　;　<　=　>　@　[　]　^　－　｛　｝　￣　空白　¥

注　すべて半角文字を使用してください。

1.　DocumentBrokerの機能

この章では，DocumentBrokerクラスライブラリの機能について説明します。また，DocumentBrokerクラスライブラリを使用してユーザアプリケーションプログラムを作成する方法について説明します。

＜この章の構成＞

1.1　パッケージとクラス

1.2　DocumentBrokerで扱うデータ

1.3　ユーザアプリケーションプログラムの作成

1.4　プログラムの流れ

1.5　プログラミング時の注意と設定

1.6　ファクトリクラス

1.7　パラメタの操作

1.8　セッションとトランザクションの制御

1.9　文書空間へのアクセス

1.10　文書管理オブジェクトの操作

1.11　アクセス制御に関する操作

1.12　メタ情報の取得

1.13　例外処理

1.14　ライブラリ情報の取得

1.15　ユーザアプリケーションプログラムのトレース情報の出力

1.16　マルチスレッド環境での注意事項

1.1　パッケージとクラス

この節では，DocumentBrokerがDocumentBrokerクラスライブラリとして提供するパッケージとクラスについて説明します。

＜この節の構成＞

1.1.1　パッケージ名

1.1.2　クラスの分類

1.1.3　ファクトリクラス

1.1.4　パラメタクラス

1.1.5　文書管理クラス

1.1.6　メタクラス

1.1.7　定数定義クラス

1.1.8　例外クラス

1.1.9　ライブラリ情報取得クラス

1.1.10　トレースクラス

1.1.1　パッケージ名

DocumentBrokerクラスライブラリは，次のパッケージ名で提供されています。

パッケージ名

jp.co.Hitachi.soft.docbroker.client

1.1.2　クラスの分類

DocumentBrokerクラスライブラリのクラスおよびインターフェースは，機能や用途から，次の八つのクラスに分類できます。

ファクトリクラス

パラメタクラス

文書管理クラス

メタクラス

定数定義クラス

例外クラス

ライブラリ情報取得クラス

トレースクラス

1.1.3　ファクトリクラス

ファクトリクラスは，次の機能を持つクラスおよびインターフェースの総称です。

パラメタクラスのオブジェクトを生成して，パラメタクラスのインターフェースを取得する

文書管理クラスのセッションオブジェクトを作成して，セッションオブジェクトのインターフェース（DbjSessionインターフェース）を取得する

メタクラスのインターフェース（DbjMetaManagerインターフェース）を取得する

ファクトリクラスには，DbjFactory0200クラスとDbjFactoryインターフェースが含まれます。

1.1.4　パラメタクラス

パラメタクラスは，DocumentBrokerクラスライブラリ固有のデータをメソッドで受け渡す場合に使用するインターフェースの総称です。

＜この項の構成＞

(1)　パラメタクラスの機能

(2)　インターフェースの継承関係

(1)　パラメタクラスの機能

パラメタクラスの機能について説明します。

パラメタクラスのインターフェースは，次のような情報を受け渡すために使用します。

文書管理オブジェクトのプロパティ情報

文書のコンテンツ情報

文書のアップロード情報

リファレンスファイル文書のパス情報

チェックアウト情報

レンディション情報

リンク設定情報

アクセス制御情報

検索結果集合

検索結果取得情報

?パラメタの情報

パラメタクラスのインターフェースをデータ型とするこれらの情報は，文書管理クラスのメソッドの引数に指定したり，メソッドの戻り値として返却されたりします。また，これらの情報を参照したり設定したりするメソッドは，パラメタクラスのインターフェースごとに定義されています。

なお，パラメタクラスのインターフェースは，java.util.Collectionインターフェース，java.util.Listインターフェース，java.util.Mapインターフェースおよびjava.lang.Cloneableインターフェースなどを継承しています。

(2)　インターフェースの継承関係

パラメタクラスのインターフェースの継承関係を，次の図に示します。

図1-1　パラメタクラスのインターフェースの継承関係

1.1.5　文書管理クラス

文書管理クラスは，DocumentBrokerの文書管理に必要な機能を提供するインターフェースの総称です。

＜この項の構成＞

(1)　文書管理クラスの機能

(2)　インターフェースの継承関係

(1)　文書管理クラスの機能

文書を管理するための主要な機能は，文書管理クラスのクラスおよびインターフェースとして提供されています。

文書管理クラスのクラスおよびインターフェースでは，例えば，次のような機能を提供しています。

文書空間とのセッションを管理する機能

文書管理オブジェクトを作成する機能

文書管理オブジェクトを検索する機能

文書管理オブジェクトを操作する機能

複数の文書管理オブジェクトをまとめて操作する機能

このほか，文書管理クラスでは，DocumentBrokerの文書管理モデルに基づいた管理を実現するための機能を提供しています。DocumentBrokerの文書管理モデルについては，マニュアル「DocumentBroker Version 5　概説」の「文書管理モデル」の説明を参照してください。

(2)　インターフェースの継承関係

文書管理クラスのインターフェースの継承関係を，次の図に示します。

図1-2　文書管理クラスのインターフェースの継承関係

1.1.6　メタクラス

メタクラスは，文書空間のメタ情報を扱うためのインターフェースの総称です。

＜この項の構成＞

(1)　メタクラスの機能

(2)　インターフェースの継承関係

(1)　メタクラスの機能

メタクラスのインターフェースを使用すると，文書空間のメタ情報を取得できます。

メタ情報とは，DocumentBrokerで管理されている，DocumentBrokerクラスや文書管理オブジェクトのプロパティに関する情報です。

メタクラスのインターフェースで取得できるのは，次のような情報です。

文書空間識別子の情報

DocumentBrokerクラスの名前やスーパークラス，サブクラスに関する情報

文書管理オブジェクトのプロパティの名前やデータ型に関する情報

拡張子とレンディションタイプの対応に関する情報

(2)　インターフェースの継承関係

メタクラスのインターフェースである，DbjMetaManagerインターフェース，DbjMetaインターフェース，DbjClassDescインターフェースおよびDbjPropDescインターフェースには，継承関係がありません。

1.1.7　定数定義クラス

定数定義クラスとは，DocumentBrokerクラスライブラリのメソッドで指定する定数が定義されているDbjDefクラスと，DbjTraceDefクラスのことです。

DocumentBrokerクラスライブラリで提供する定数はすべて，DbjDefクラスとDbjTraceDefクラスに，static finalで定義されています。

DbjDefクラスでは，次の表に示すカテゴリが定義されています。

表1-1　定数定義クラスのカテゴリ一覧

カテゴリ | 説明
DbjDefクラス
ACL | アクセス制御機能付き検索を実行するかどうかを表す定数
CONTENTTYPE | コンテンツ種別を表す定数
DATATYPE | 文書管理オブジェクトのプロパティのデータ型を表す定数
DMA BOOLEAN | 真偽値を表す定数
INDEXTYPE | 全文検索インデクスの作成方法を表す定数
LINK | リンク種別を表す定数
LOCK | ロック種別を表す定数
OBJTYPE | 文書管理オブジェクトのオブジェクト種別を表す定数
OPERATEMODE | コンテンツのパス操作モードを表す定数
ORDER | パーミッションの取得順序を表す定数
PERM | パーミッションを表す定数
PRIV | ユーザの特権を表す定数
REFERENCETYPE | リファレンス種別を表す定数
RELATIONEND | 文書間リンク設定情報一覧の取得条件を表す定数
RENDSTATUS | レンディションステータスを表す定数
SUBJECTTYPE | サブジェクト種別を表す定数
SYSSUBJECT | システムサブジェクトを表す定数
Others | そのほかの定数
DbjTraceDefクラス
TRACELEVEL | ユーザアプリケーションプログラムのトレース情報のトレースレベルを表す定数
TRACEOUTPUT | ユーザアプリケーションプログラムのトレース情報の出力先を表す定数

定数定義クラスで定義されている定数の詳細については，「9.　定数定義クラスの詳細」を参照してください。

1.1.8　例外クラス

例外クラスは，DocumentBrokerクラスライブラリで発生する例外のうち，DocumentBrokerクラスライブラリ固有の例外を扱うクラスの総称です。

ユーザアプリケーションプログラムの処理中に，DocumentBrokerクラスライブラリ固有のエラーが発生すると，例外クラスのオブジェクトがスローされます。

例外クラスの各クラスは，java.lang.Exceptionクラスまたはjava.lang.Errorクラスを継承しています。

例外クラスのクラスの継承関係を，次の図に示します。

図1-3　例外クラスのクラスの継承関係

1.1.9　ライブラリ情報取得クラス

ライブラリ情報取得クラスとは，DbjLibInfoクラスのことです。

DocumentBrokerのバージョン情報を返却するメソッドを提供しています。

1.1.10　トレースクラス

トレースクラスとは，DbjTraceクラスのことです。

トレースクラスでは，DocumentBrokerクラスライブラリを使用してユーザアプリケーションプログラムを開発・運用する上で必要なトレース情報を出力するメソッドを提供しています。

1.2　DocumentBrokerで扱うデータ

この節では，DocumentBrokerクラスライブラリで扱うデータについて説明します。

＜この節の構成＞

1.2.1　Javaの基本データ型およびJavaが提供するインターフェース

1.2.2　プロパティのデータ型とDocumentBrokerで扱うデータ型の対応

1.2.3　定数

1.2.1　Javaの基本データ型およびJavaが提供するインターフェース

Javaの基本データ型およびJavaが提供するインターフェースで表すデータ型のうち，DocumentBrokerクラスライブラリで使用するのは次の表に示すデータ型です。

表1-2　DocumentBrokerクラスライブラリで使用するJavaの基本データ型およびインターフェース

データ型
意味
データの種類

boolean
真偽値
Javaの基本データ型で表すデータ

int
整数値

Integer（java.lang.Integer）
整数値
Javaが提供するクラスで表すデータ

String（java.lang.String）
文字列

Object（java.lang.Object）
オブジェクト

Collection
（java.util.Collection）
コレクション※1
Javaが提供するインターフェースで表すデータ

Comparator
（java.util.Comparator）
コンパレータ※2

List（java.util.List）
リスト※3

Map（java.util.Map）
マップ※4

注※1　要素オブジェクトの集合を表すデータです。

注※2　オブジェクトのコレクション全体の順序付けをする比較関数です。

注※3　順序付けられた要素オブジェクトの集合を表すデータです。

注※4　キー値と対応付けられた要素オブジェクトの集合を表すデータです。

1.2.2　プロパティのデータ型とDocumentBrokerで扱うデータ型の対応

DocumentBrokerで管理するプロパティには，次のデータ型があります。

BOOL型

INT型

VARRAY型

STR型

STRLIST型

これらのデータ型を持つプロパティの値をDocumentBrokerクラスライブラリのメソッドを使用して設定したり参照したりする場合の，プロパティのデータ型とJavaで扱うデータ型との対応を，次の表に示します。

表1-3　プロパティのデータ型とJavaで扱うデータ型の対応

プロパティのデータ型（定数）
Javaで扱うデータ型

BOOL型
（DbjDef.DATATYPE_BOOL）
int型
Integer型※1

INT型
（DbjDef.DATATYPE_INT）
int型
Integer型※1

VARRAY型
（DbjDef.DATATYPE_VARRAY）
DbjVArray型

STR型
（DbjDef.DATATYPE_STR）
String型

STRLIST型※2
（DbjDef.DATATYPE_STRLIST）
List型（要素はString型）

注※1　戻り値などで，Integer型のnull値を表す場合に使用します。

注※2　dbrProp_GroupListプロパティを取得する場合に使用します。

DocumentBrokerクラスライブラリで扱うプロパティのデータ型と，DocumentBrokerで扱うデータ型の対応については，「3.9.3.　文書管理オブジェクトのプロパティのデータ型」を参照してください。なお，表1-2で示した以外のデータ型を持つプロパティのデータ型は，UNKNOWN型（定数：DbjDef.DATATYPE_UNKNOWN）になります。

1.2.3　定数

DocumentBrokerクラスライブラリのメソッドで使用する定数は，定数定義クラスに定義されています。

定数の詳細については，「9.　定数定義クラス詳細」を参照してください。

1.3　ユーザアプリケーションプログラムの作成

Windwosの場合，DocumentBrokerクラスライブラリが提供するAPIを使用してユーザアプリケーションプログラムを開発できます。

＜この節の構成＞

1.3.1　開発環境

1.3.2　プログラムのコンパイル

1.3.1　開発環境

DocumentBrokerクラスライブラリが提供するAPIを使用してユーザアプリケーションプログラムを開発するためには，JDK 6.0が必要です。

1.3.2　プログラムのコンパイル

＜この項の構成＞

(1)　Javaコンパイラのオプション

(2)　クラスパス

(1)　Javaコンパイラのオプション

DocumentBrokerクラスライブラリでは，JDK 6.0の機能を使用しています。このため，ユーザアプリケーションプログラムは，JDK 6.0機能を利用したソースとしてコンパイルする必要があります。javacコマンドの-sourceオプションには1.6または6を指定してください。

(2)　クラスパス

ユーザアプリケーションプログラムをコンパイルする場合は，次に示すJARファイルをクラスパスに設定します。

<インストールディレクトリ>¥DocBroker¥Developer¥lib¥djlib5.jar

注意事項

各アプリケーションのwarに，次に示すJARファイルを組み込んでください。

<インストールディレクトリ>¥DocBroker¥Developer¥lib¥djlib5_j2ee.jar

1.4　プログラムの流れ

この節では，DocumentBrokerクラスライブラリを使用して作成するプログラムの流れについて説明します。

＜この節の構成＞

1.4.1　インターフェースの取得

1.4.2　文書管理オブジェクトを操作する場合のインターフェースの取得の流れ

1.4.3　メタ情報を取得する場合のインターフェースの取得の流れ

1.4.1　インターフェースの取得

DocumentBrokerクラスライブラリのメソッドは，クラスまたはインターフェースごとに定義されています。インターフェースで定義されているメソッドを実行するためには，まず，そのインターフェースを取得する必要があります。インターフェースは，そのインターフェースを戻り値として返却するメソッドを実行して取得します。

DocumentBrokerクラスライブラリで提供するインターフェースは，DbjFactory0200クラスを起点として取得していきます。このクラスは，DbjFactoryインターフェース，またはDbjMetaManagerインターフェースを戻り値として返却するメソッドを提供しています。パラメタクラス，または文書管理クラスのインターフェースを取得する場合は，まず，DbjFactoryインターフェースを取得して，このインターフェースから必要なインターフェースを順番に取得してください。メタクラスのインターフェースを取得する場合は，まず，DbjMetaManagerインターフェースを取得して，このインターフェースから必要なインターフェースを順番に取得してください。

1.4.2　文書管理オブジェクトを操作する場合のインターフェースの取得の流れ

DocumentBrokerクラスライブラリでは，文書管理オブジェクトを操作することで，DocumentBrokerの文書管理機能を利用します。

文書管理オブジェクトを操作する場合は，まず，DbjFactory0200#getFactoryメソッドを実行して，DbjFactoryインターフェースを取得します。

DbjFactoryインターフェースを取得したあとの，文書管理機能を使用するユーザアプリケーションプログラムの処理手順は，次のようになります。

DbjFactoryインターフェースを使用して，DbjSessionインターフェースを取得します。

DbjSessionインターフェースを使用して，セッションを確立します。同時に，ユーザ認証も実行します。ユーザ認証が成功してセッションが確立できると，DbjDocSpaceインターフェースを取得できます。

DbjDocSpaceインターフェースを使用して，文書空間にアクセスします。必要なインターフェースを取得しながら，文書管理機能を実行します。

文書空間での操作が終了したら，DbjSessionインターフェースを使用してセッションを切断します。

このほか，必要に応じてパラメタクラスのインターフェースを取得して使用したり，個々の文書管理オブジェクトを操作するインターフェースを取得したりします。

文書管理クラスとパラメタクラスのインターフェースを使用して，文書管理オブジェクトを操作する場合の，インターフェースの取得手順を，次の図に示します。

図1-4　文書管理オブジェクトを操作する場合に使用するインターフェースの取得手順

1.4.3　メタ情報を取得する場合のインターフェースの取得の流れ

メタ情報を取得する場合は，まず，次のどちらかのメソッドを実行して，メタクラスのインターフェースを取得します。

DbjFactory0200#getMetaManagerメソッドを実行して，DbjMetaManagerインターフェースを取得する

DbjDocSpace#getMetaメソッドを実行して，DbjMetaインターフェースを取得する

メタ情報を取得する場合に使用するインターフェースの取得手順を，次の図に示します。

図1-5　メタ情報を取得する場合のインターフェースの取得手順

1.5　プログラミング時の注意と設定

この節では，DocumentBrokerクラスライブラリを使用したアプリケーションを開発・実行するときの注意事項と設定について説明します。

＜この節の構成＞

1.5.1　使用できる文字コード種別

1.5.1　使用できる文字コード種別

DocumentBrokerクラスライブラリを使用してアプリケーションを開発したり，開発したクライアントアプリケーションを使用して文書管理オブジェクトを操作したりする場合，DocumentBrokerクラスライブラリを使用したプログラミング時には，次の文字コード種別を使用できます。

Shift-JIS

UTF-8（使用できる文字コードの範囲はUCS-2またはUCS-4です）

DocumentBrokerクラスライブラリを使用したアプリケーションで使用する文字コード種別は，メタ情報初期化ファイルのDocSpaceCharacterSetプロパティの内容に合わせる必要があります。ただし，文字コード種別がShift-JISである文書空間に対してUTF-8の文字コードを使用するときには，Shift-JISの文字コードにエンコードできる範囲でUTF-8の文字コードを指定してください。

メタ情報初期化ファイルについては，マニュアル「DocumentBroker Version 5　システム導入・運用ガイド」を参照してください。

1.6　ファクトリクラス

この節では，ファクトリクラスについて説明します。

ファクトリクラスは，パラメタクラスのオブジェクトの生成，セッションオブジェクトの生成，および文書空間メタ情報アクセスインターフェースの取得を実行する，クラスならびにインターフェース群です。

ファクトリクラスには，次のクラスおよびインターフェースが含まれます。

DbjFactory0200クラス

DbjFactoryインターフェース

ファクトリクラスの詳細については「4.　ファクトリクラス詳細」を参照してください。

＜この節の構成＞

1.6.1　DbjFactory0200クラスの機能

1.6.2　DbjFactoryインターフェースの機能

1.6.1　DbjFactory0200クラスの機能

DocumentBrokerクラスライブラリの機能を使用するための起点となるクラスです。次のインターフェースを取得するためのメソッドを提供しています。

DbjFactoryインターフェースを取得するメソッド
セッションオブジェクトおよびパラメタクラスのオブジェクトを作成する場合に，このインターフェースを取得します。

DbjMetaManagerインターフェースを取得するメソッド
文書空間のメタ情報にアクセスする場合に，このインターフェースを取得します。

1.6.2　DbjFactoryインターフェースの機能

DbjFactoryインターフェースでは，パラメタクラスのオブジェクト，セッションオブジェクトおよびXMLトランスレーターオブジェクトを作成して，そのオブジェクトを扱うためのインターフェースを返却します。

DbjFactoryインターフェースは，DbjFactory0200#getFactoryメソッドを実行して取得します。DbjFactoryインターフェースのメソッドで取得できるのは，次のインターフェースです。

パラメタクラスのインターフェース群

文書管理クラスのDbjSessionインターフェース

＜この項の構成＞

(1)　パラメタクラスのインターフェース群

(2)　文書管理クラスのDbjSessionインターフェース

(1)　パラメタクラスのインターフェース群

パラメタクラスのインターフェース群は，DocumentBrokerクラスライブラリ固有のデータを，メソッドの引数として設定したり，戻り値として取得したりする場合に使用するインターフェース群です。

パラメタクラスのインターフェースは，作成する情報ごとに提供されているメソッドを実行して取得します。例えば，文書管理オブジェクトのプロパティ情報を作成したい場合にはDbjFactory#createPropSetメソッドを実行してDbjPropSetインターフェースを取得します。文書のアップロード情報を作成したい場合にはDbjFactory#createUploadInfoメソッドを実行してDbjUploadInfoインターフェースを取得します。

パラメタクラスのインターフェースと作成できる情報の種類については，「1.7　パラメタの操作」を参照してください。

ここでは，パラメタクラスのインターフェースのうち，DbjPropSetインターフェースを取得する例を示します。

// パラメタクラスのインターフェースを取得する例

// DbjFactoryインターフェースを取得する
DbjFactory factory = DbjFactory0200.getFactory();

// プロパティ値集合オブジェクトを作成して，
// DbjPropSetインターフェースを取得する
DbjPropSet props = factory.createPropSet();

(2)　文書管理クラスのDbjSessionインターフェース

DbjSessionインターフェースは，文書空間とのセッションを管理する機能を持つインターフェースです。文書管理オブジェクトを操作するためには，DbjSessionインターフェースを取得して，文書空間とのセッションを確立する必要があります。

セッションの詳細については，「1.8　セッションとトランザクションの制御」を参照してください。

DbjSessionインターフェースを取得する例を示します。

// DbjSessionインターフェースを取得する例

// DbjFactoryインターフェースを取得する
DbjFactory factory = DbjFactory0200.getFactory();

//DbjSessionインターフェースを取得する（引数は文書空間識別子（GUID））
DbjSession sess = factory.createSession( docspaceid );

文書空間識別子は，デフォルトの値を使用することもできます。デフォルトの値の設定方法については，マニュアル「DocumentBroker Version 5　システム導入・運用ガイド」の「動作環境定義ファイル」の説明を参照してください。

1.7　パラメタの操作

この節では，パラメタクラスのインターフェースについて説明します。

＜この節の構成＞

1.7.1　パラメタクラスのインターフェースの機能

1.7.2　パラメタクラスのインターフェースの種類

1.7.1　パラメタクラスのインターフェースの機能

DocumentBrokerクラスライブラリで扱うデータのうち，DocumentBrokerクラスライブラリ固有のデータの受け渡しには，パラメタクラスのインターフェースを使用します。

パラメタクラスのインターフェースは，メソッドの引数のデータ型として使用したり，メソッドの戻り値のデータ型として使用したりします。また，引数に設定する情報を操作するためのメソッドや，戻り値に設定された情報を操作するためのメソッドを提供しています。

例えば，文書のコンテンツを更新する場合，更新するコンテンツやレンディションタイプなどは，文書のアップロード情報としてまとめて一つの引数に指定します。文書のアップロード情報は，パラメタクラスのDbjUploadInfoインターフェースで扱うオブジェクトです。また，検索を実行すると，戻り値として検索結果集合が返却されます。検索結果集合は，パラメタクラスのDbjResultSetインターフェースで扱うオブジェクトです。

なお，パラメタクラスのインターフェースで扱うオブジェクトには，プロパティを持っているものがあります。プロパティには，それぞれのオブジェクトが表す情報の内容が設定されます。このプロパティに値を設定したり，設定されている値を参照したりするためには，パラメタクラスのインターフェースのメソッドを使用します。プロパティに値を設定するメソッドを，setterメソッドといいます。プロパティの値を取得するメソッドを，getterメソッドといいます。

例えば，文書のアップロード情報に，更新するコンテンツやレンディションタイプなどを設定する場合は，DbjUploadInfoインターフェースのメソッドを使用します。また，検索を実行して取得した検索結果集合から，個々の検索結果を参照する場合は，DbjResultSetインターフェースのメソッドを使用します。

このように，パラメタクラスのインターフェースは，文書管理クラスのメソッドの引数に指定する情報を設定したり，戻り値として返却される情報を参照したりする場合に使用します。パラメタクラスの詳細については「5.　パラメタクラス詳細」を参照してください。

また，パラメタクラスのインターフェースには，java.util.Collectionインターフェース，java.util.Listインターフェース，java.util.Mapインターフェース，java.lang.Cloneableインターフェースなどを継承しているものがあります。継承関係については，「1.1.4(2) インターフェースの継承関係」を参照してください。

1.7.2　パラメタクラスのインターフェースの種類

ここでは，パラメタクラスのインターフェースの種類について説明します。

パラメタクラスのインターフェースと扱う情報との対応を，次の表に示します。

表1-4　パラメタクラスのインターフェースと扱う情報

インターフェース | 扱う情報
DbjACE | ACE
DbjCheckOutInfo | チェックアウト情報
DbjContentInfo | コンテンツ情報
DbjConvertContentInfo | コンテンツ種別変換
DbjFetchInfo | 検索結果取得情報
DbjPropSet | プロパティ値集合
DbjPublicACLIdElm | パブリックACLのOIID値
DbjQParam | －
DbjBooleanQParam | BOOL型の値を表す?パラメタ
DbjInteger32QParam | INT型の値を表す?パラメタ
DbjObjQParam | オブジェクトリファレンスの値を表す?パラメタ
DbjOIIDQParam | OIID文字列の値を表す?パラメタ
DbjSeedDocQParam | 種文章を表す?パラメタ
DbjStringQParam | STR型の値を表す?パラメタ
DbjReferenceContentInfo | リファレンスファイル文書のコンテンツ情報
DbjReferencePathInfo | リファレンスファイル文書のパス情報
DbjReferenceUploadInfo | リファレンスファイル文書のアップロード情報
DbjRenditionInfo | レンディション情報
DbjRenditionList | レンディション情報リスト
DbjResultSet | 検索結果集合
DbjSetLinkInfo | －
DbjSetDCRLinkInfo | 直接型リンク設定情報
DbjSetRelLinkInfo | 文書間リンク設定情報
DbjSetRCRLinkInfo | 参照型リンク設定情報
DbjUploadInfo | 文書のアップロード情報
DbjVArray | 可変長配列（VARRAY型のプロパティの値）

（凡例）

－：ほかのインターフェースのスーパーインターフェースです。

＜この項の構成＞

(1)　DbjACEインターフェース

(2)　DbjCheckOutInfoインターフェース

(3)　DbjContentInfoインターフェース

(4)　DbjConvertContentInfoインターフェース

(5)　DbjFetchInfoインターフェース

(6)　DbjPropSetインターフェース

(7)　DbjPublicACLIdElmインターフェース

(8)　DbjQParamインターフェース

(9)　DbjReferenceContentInfoインターフェース

(10)　DbjReferencePathInfoインターフェース

(11)　DbjReferenceUploadInfoインターフェース

(12)　DbjRenditionInfoインターフェース

(13)　DbjRenditionListインターフェース

(14)　DbjResultSetインターフェース

(15)　DbjSetLinkInfoインターフェース

(16)　DbjUploadInfoインターフェース

(17)　DbjVArrayインターフェース

(1)　DbjACEインターフェース

ACEの値を扱うためのインターフェースです。このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

サブジェクト（subject）

サブジェクト種別（subjectType）

パーミッション（permission）

プロパティ値集合（propSet）

なお，ACEは，文書管理オブジェクトのVARRAY型のプロパティの要素です。このため，ほかの文書管理オブジェクトのプロパティと同様，DbjPropSetインターフェースを使用して操作することもできます。propSetプロパティは，ACEに対応するDbjPropSetインターフェースが設定されているプロパティです。ACEをプロパティ値集合としてDbjVArrayインターフェースで扱うオブジェクト（可変長配列）に設定する場合に使用します。

このインターフェースの使用方法については，「1.11.2　ローカルACLとACEの操作」を参照してください。

(2)　DbjCheckOutInfoインターフェース

チェックアウト情報を扱うためのインターフェースです。このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

チェックアウト状態（checkOut）

チェックアウトユーザ識別子（checkOutUserId）

チェックアウトバージョン識別子（checkOutVersionId）

(3)　DbjContentInfoインターフェース

文書のコンテンツ情報を扱うためのインターフェースです。このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

文書に登録されているファイル名（retrievalName）

レンディションタイプ（renditionType）

このインターフェースの使用方法については，「1.10.9　文書のコンテンツの操作」を参照してください。

(4)　DbjConvertContentInfoインターフェース

コンテンツ変換機能を使用した文書のコンテンツ種別の変換時に使用する情報を扱うためのインターフェースです。

このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

変換先のコンテンツ種別（convertType）

実行モード（executeMode）

対象レンディション範囲（sourceScope）

マスタレンディション変換フラグ（changeMaster）

対象レンディションタイプ（renditionType）

レンディションステータス（checkRenditionStatus）

コメントの付与フラグ（investSourceComment）

コメントの付与方式（investMode）

レンディションコメント（renditionComment）

リファレンスファイル情報（referenceTargetPath）

(5)　DbjFetchInfoインターフェース

検索結果取得情報を扱うためのインターフェースです。検索結果取得情報は，キャッシュ付き検索実行時に，検索結果の取得方法について指定する情報です。キャッシュ付き検索は，一覧を取得するメソッドでも実行できます。

このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

検索結果の取得開始位置（startIndex）

取得件数（fetchCount）

最大取得件数（maxFetchCount）

キャッシュ名（cacheName）

キャッシュキー（cacheKey）

キャッシュの全件数（cacheTotal）

検索結果ソート用コンパレータ（comparator）

なお，comparatorプロパティは，検索結果をソートするために使用するjava.util.Comparatorインターフェースです。

このインターフェースの使用方法については，「1.9.4　文書管理オブジェクトの検索」を参照してください。

(6)　DbjPropSetインターフェース

プロパティ値集合を扱うインターフェースです。

プロパティ値集合とは，文書管理オブジェクトのプロパティ名とそのプロパティの値のペアを要素とする集合オブジェクトです。次のような特徴があります。

DbjPropSetインターフェースは，java.util.Mapインターフェースを継承しています。プロパティ値集合は，要素のキーを文書管理オブジェクトのプロパティ名として，要素の値をプロパティの値とするマップとして扱うことができます。java.util.Mapインターフェースの機能でプロパティ値集合を扱うこともできます。

マップであるため，プロパティ値集合のキー値であるプロパティ名は重複しません。また，要素間に順序性はありません。

プロパティ名にnull値は設定できませんが，値にnull値は設定できます。

プロパティ値集合をコピーする場合は，java.lang.Cloneableインターフェースの機能でコピーします。

このインターフェースの使用方法については，「1.10.7　文書管理オブジェクトのプロパティの操作」を参照してください。

(7)　DbjPublicACLIdElmインターフェース

文書，フォルダまたは独立データがバインドしているパブリックACLを扱うインターフェースです。VARRAY型のプロパティの要素として扱います。このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

パブリックACLのOIID（Id）

プロパティ値集合（propSet）

なお，バインドしているパブリックACLのOIIDは，VARRAY型のプロパティ（文書管理オブジェクトのdbrProp_ACLIdElemプロパティ）の要素です。このため，ほかの文書管理オブジェクトのプロパティと同様，DbjPropSetインターフェースを使用して操作することもできます。propSetプロパティは，バインドしているパブリックACLのOIIDに対応するDbjPropSetインターフェースが設定されているプロパティです。パブリックACLのOIIDをプロパティ値集合としてDbjVArrayインターフェースで扱うオブジェクト（可変長配列）に設定する場合に使用します。

このインターフェースの使用方法については，「1.11.3　パブリックACLの操作」を参照してください。

(8)　DbjQParamインターフェース

?パラメタに設定する値を扱うインターフェースのスーパーインターフェースです。このインターフェースを継承して，DocumentBrokerで扱うデータ型ごとにサブインターフェースが定義されています。

このインターフェースのサブインターフェースをデータ型として値を設定する場合，edmSQLの定数表現ではなくDocumentBrokerクラスライブラリで扱うデータ型に従った値を指定してください。

サブインターフェースの使用方法については，「1.9.4　文書管理オブジェクトの検索」を参照してください。

(a)　DbjBooleanQParamインターフェース

BOOL型の値を?パラメタに設定するためのインターフェースです。

(b)　DbjInteger32QParamインターフェース

INT型の値を?パラメタに設定するためのインターフェースです。

(c)　DbjObjQParamインターフェース

オブジェクトリファレンスの値を?パラメタに設定するためのインターフェースです。指定したOIID文字列は，オブジェクトリファレンスの形式に変換されて?パラメタに設定されます。

(d)　DbjOIIDQParamインターフェース

OIID文字列を?パラメタに設定するためのインターフェースです。指定したOIID文字列は，dmaProp_OIIDプロパティの格納形式（16バイト）に変換されて?パラメタに設定されます。

(e)　DbjSeedDocQParamインターフェース

概念検索で?パラメタに種文章を設定するためのインターフェースです。

(f)　DbjStringQParamインターフェース

STR型の値を?パラメタに設定するためのインターフェースです。

(9)　DbjReferenceContentInfoインターフェース

リファレンスファイル文書のコンテンツ情報を扱うためのインターフェースです。このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

コンテンツロケーション（contentLocation）

コンテンツのリファレンス種別（referenceType）

このインターフェースの使用方法については，「1.10.12　リファレンスファイル文書の操作」を参照してください。

(10)　DbjReferencePathInfoインターフェース

リファレンスファイル文書のパス情報を扱うためのインターフェースです。このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

コンテンツのパス操作モード（contentOperateMode）

登録するコンテンツのパスまたはダウンロード先のパス（entry）

コンテンツ格納先バス（targetPath）

削除するディレクトリのルートパス（deleteRootPath）

このインターフェースの使用方法については，「1.10.12　リファレンスファイル文書の操作」を参照してください。

(11)　DbjReferenceUploadInfoインターフェース

リファレンスファイル文書のアップロード情報を扱うためのインターフェースです。このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

リファレンスファイル文書のパス情報（referencePathInfo）

このインターフェースの使用方法については，「1.10.12　リファレンスファイル文書の操作」を参照してください。

(12)　DbjRenditionInfoインターフェース

レンディション情報を扱うためのインターフェースです。このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

レンディションタイプ（renditionType）

レンディションに設定されているプロパティ値集合（propSet）

このインターフェースの使用方法については，「1.10.11　マルチレンディション文書のレンディションの操作」を参照してください。

(13)　DbjRenditionListインターフェース

レンディション情報のリストを扱うためのインターフェースです。リストの要素は，DbjRenditionInfoインターフェースです。

このインターフェースの使用方法については，「1.10.11　マルチレンディション文書のレンディションの操作」を参照してください。

(14)　DbjResultSetインターフェース

検索結果集合を扱うためのインターフェースです。検索結果集合は，文書管理オブジェクトのプロパティ値を要素に持つ，行と列の二次元データにメタデータを付けたものとして表されます。

検索結果集合は，行を要素とするリストとして扱うことができます。また，各行は，文書管理オブジェクトのプロパティ値を要素とするリストとして扱うことができます。

このインターフェースの使用方法については，「1.9.4　文書管理オブジェクトの検索」を参照してください。

(15)　DbjSetLinkInfoインターフェース

リンク設定情報を扱うためのスーパーインターフェースです。このインターフェースを継承して，リンク種別ごとにサブインターフェースが定義されています。

このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

リンク種別（linkType）

リンクオブジェクトのプロパティ（propSet）

リンク対象となるオブジェクト（targetObj）

サブインターフェースの使用方法については，「1.10.13　リンクの操作」を参照してください。

(a)　DbjSetDCRLinkInfoインターフェース

直接型リンクを表すリンク設定情報を扱うインターフェースです。

(b)　DbjSetRelLinkInfoインターフェース

文書間リンクを表すリンク設定情報を扱うインターフェースです。

(c)　DbjSetRCRLinkInfoインターフェース

参照型リンクを表すリンク設定情報を扱うインターフェースです。

(16)　DbjUploadInfoインターフェース

文書のアップロード情報を扱うインターフェースです。

このインターフェースで扱うオブジェクトは，次に示すプロパティを持っています。

コンテンツとして登録するファイルのファイル名を含んだローカルパス（filePath）

コンテンツとして登録するファイルのファイル名（retrievalName）

コンテンツとして登録するファイルのレンディションタイプ（renditionType）

レンディションのプロパティ値集合（propSet）

全文検索インデクスの作成に使用するファイルパス名（indexPath）

このインターフェースの使用方法については，「1.10.9　文書のコンテンツの操作」を参照してください。

(17)　DbjVArrayインターフェース

VARRAY型のプロパティの値である可変長配列を扱うためのインターフェースです。

可変長配列は，DbjVArrayインターフェースを使用して，追加，削除などの更新処理を実行します。

このインターフェースは，java.util.Listインターフェースを継承しているので，可変長配列の要素はリストの要素としても扱うこともできます。ただし，DbjVArrayインターフェースで可変長配列の要素を扱うことによって，各要素がメタプロパティとして定義されているプロパティを持つことが保証されます。

このインターフェースの使用方法については，「1.10.7　文書管理オブジェクトのプロパティの操作」を参照してください。

1.8　セッションとトランザクションの制御

この節では，セッションとトランザクションの制御について説明します。セッションとトランザクションは，DbjSessionインターフェースの機能で制御します。

＜この節の構成＞

1.8.1　セッションとトランザクション

1.8.2　DbjSessionインターフェースの機能

1.8.3　セッション管理

1.8.4　トランザクション制御

1.8.5　ログインユーザ情報の取得

1.8.1　セッションとトランザクション

ここでは，セッションとトランザクションについて説明します。

＜この項の構成＞

(1)　セッション

(2)　トランザクション

(1)　セッション

セッションとは，文書空間に接続している間のことです。文書空間に接続することを，セッションの確立といいます。文書空間への接続とは，DocumentBrokerと接続して，文書空間にログインすることです。文書管理オブジェクトを操作するためには，まず，セッションを確立する必要があります。

文書管理オブジェクトの操作が完了したら，セッションを切断します。セッションの切断とは，DocumentBrokerとの接続を切断して，文書空間からログアウトすることです。

セッションは，セッションオブジェクトによって管理します。セッションオブジェクトは，セッションを確立および切断する機能とセッション内のトランザクションを制御する機能を持つDocumentBrokerクラスライブラリのオブジェクトです。DbjFactory#createSessionメソッド実行時に，メモリ空間上に作成されます。DbjSessionインターフェースの機能を実装したオブジェクトです。

(2)　トランザクション

セッション内での文書空間へのアクセスはトランザクション単位に分割されます。トランザクションとは，文書管理オブジェクト操作の処理単位です。トランザクション単位で，文書管理オブジェクトに対する操作を確定または取り消すことができます。

トランザクションの範囲は，DocumentBrokerクラスライブラリのメソッド単位か，またはユーザアプリケーションプログラムが明示的に指定した開始と終了の間の範囲になります。ユーザアプリケーションプログラムで明示的なトランザクションの範囲を指定しない場合は，メソッド単位でトランザクションが分割されます。トランザクションの範囲を明示的に指定するかメソッド単位で分割するかは，ユーザアプリケーションプログラムで選択できます。

ただし，トランザクションは，一つのセッション内だけで有効です。複数のセッションにわたったトランザクションは指定できません。また，一つのセッション内で，明示的に範囲を指定できるトランザクションは一つだけです。一つのトランザクションが終了しないうちに，別のトランザクションを明示的に開始することはできません。

1.8.2　DbjSessionインターフェースの機能

ここでは，DbjSessionインターフェースの機能について説明します。DbjSessionインターフェースは，DbjFactory#createSessionメソッドを実行して取得します。

DbjSessionインターフェースには，次の機能があります。

セッション管理

トランザクション制御

ログイン情報の取得

文書空間にアクセスするインターフェースの取得

コンテンツ格納先ベースパスの取得と設定

1.8.3　セッション管理

ここでは，DbjSessionインターフェースの，セッション管理機能について説明します。

＜この項の構成＞

(1)　セッションの確立（ログイン）

(2)　セッションの切断（ログアウト）

(3)　セッションチェック

(1)　セッションの確立（ログイン）

セッションは，DbjSession#loginメソッドによって確立します。一つのDbjSessionインターフェースで確立できるセッションは一つです。

セッションの確立では，ユーザ識別子とパスワードによるユーザ認証も実行されます。認証に失敗した場合，セッションは確立されないで，例外がスローされます。

DbjSession#loginメソッドの実行に成功すると，DbjDocSpaceインターフェースが返却されます。

DbjSession#loginメソッドを実行して，セッションを確立する処理の例を示します。

// セッションを確立する処理の例

DbjSession sess = null;
DbjDocSpace docspc = null;
try {
 // DbjSessionインターフェースを取得する
 sess = DbjFactory0200.getFactory().createSession(docspaceid);
                 // 接続先の文書空間識別子(GUID文字列)を指定する

 // セッションを確立する(ログイン)
 docspc = sess.login( "suzuki", "passwd" );

} catch(DbjNotAuthenticatedException e) {
 // 認証エラーの場合
 System.out.println("Not authenticated");

} catch(DbjException e) {
 // そのほかのエラーの場合

}

(2)　セッションの切断（ログアウト）

セッションは，DbjSession#logoutメソッドによって切断します。セッションの切断は，確立時と同じセッションオブジェクトのインターフェースで実行します。

また，明示的に開始したトランザクションが終了していない場合など，セッションを切断時にセッション内に未確定のトランザクションがある場合は，そのトランザクションは自動的にロールバック処理されます。

(3)　セッションチェック

ここでは，セッションチェックについて説明します。

セッションがすでに切断されているセッションオブジェクトを使用して文書空間にアクセスしようとすると，例外がスローされます。

DbjSessionインターフェースでは，文書空間にアクセスする前に，セッションが有効であるかどうかチェックする機能を提供しています。これをセッションチェック機能といいます。

セッションオブジェクトを使用する前に，セッションチェックを実行することによって，切断されたセッションに対してアクセスすることを防げます。また，セッションが切断されていた場合は，必要に応じて再度セッションを確立する処理を実行できます。

セッションチェックの例を示します。

// セッションチェックの例

// セッションが切断されていたら，再度セッション確立処理をする
public void authIfNoSession(DbjSession sess)
{
 // セッションチェック処理
 if ( !sess.checkSession() ) {
       // セッションを再度確立する
       ......
 }
}

1.8.4　トランザクション制御

ここでは，トランザクション制御について説明します。

＜この項の構成＞

(1)　トランザクションの開始と終了

(2)　トランザクションの範囲

(1)　トランザクションの開始と終了

トランザクションは，ユーザアプリケーションプログラムで明示的に開始と終了を指定して制御できます。明示的に制御しない場合は，トランザクションはメソッドごとに開始・終了されます。

トランザクションは，DbjSession#beginメソッドによって開始します。明示的に開始したトランザクションは，DbjSession#commitメソッドまたはDbjSession#rollbackメソッドによって終了させます。DbjSession#commitメソッドを実行した場合は，トランザクション内の処理が確定されます（コミット）。DbjSession#rollbackメソッドを実行した場合は，トランザクション内の処理が取り消されます（ロールバック）。

明示的に終了しない場合でも，DbjSession#logoutメソッドによって文書空間との接続が切断されたときには，ロールバック処理が実行されて，トランザクションは自動的に終了します。また，一部の文書空間にアクセスするメソッドが失敗した場合も，強制的にロールバック処理が実行されて，トランザクションが終了することがあります。

(2)　トランザクションの範囲

トランザクション範囲を指定する処理の例を次に示します。

なお，この例は，トランザクションの範囲について理解するための例ですので，処理自体に意味はありません。

// トランザクション範囲を指定する例

 // sess：DbjSessionインターフェース

// セッションを確立する（ログイン）
DbjDocSpace docspc = sess.login( username, passwd );
try {
 // DbjDocSpaceインターフェースからDbjObjインターフェースを取得する
 DbjObj obj = docspc.createObjConnection( oiid );

 // Nameプロパティを取得する準備をする
 Set<String> propdef = new HashSet<String>();
 propdef.add( "Name" );

 // メソッド単位のトランザクションの例
 // 文書管理オブジェクトからNameプロパティを取得
 // メソッドの実行によって，暗黙的にトランザクションが開始・終了される
 obj.readProperties( propdef );

 // 明示的にトランザクションを開始・終了する例
 // 明示的にトランザクションを開始する--------------------------
 sess.begin();

 // 文書管理オブジェクトのWRITEロックを取得して
 // Nameプロパティを取得する
 // トランザクションはメソッド終了後も継続される
 obj.lock(DbjDef.LOCK_WRITE).readProperties();

 // 文書管理オブジェクトにNameプロパティを更新する
 // トランザクションはメソッド終了後も継続される
 obj.writeProperties();

 // 明示的にトランザクションを終了する---------------------------
 sess.commit();

} catch(Exception e) {

 // 処理中にエラーが発生した場合は，
 // トランザクション中の処理を取り消して
 // トランザクションを終了する------------------------------------
 sess.rollback();
}

// セッションを切断する（ログアウト）
sess.logout();

なお，DbjSession#beginメソッドによって明示的にトランザクションを開始した場合は，DbjSession#commitメソッドまたはDbjSession#rollbackメソッドによって明示的にトランザクションを終了するまで，再度DbjSession#beginメソッドを実行することはできません。一つのセッション内で明示的に開始できるトランザクションは一つだけです。

1.8.5　ログインユーザ情報の取得

ここでは，ログイン情報の取得について説明します。

アクセス制御機能に対応した文書空間に対してセッションを確立している場合，ログインしたユーザのユーザ情報を取得することができます。ユーザ情報の取得は，DbjSession#getLoginUserInfoメソッドによって実行します。ユーザ情報として取得したい情報を表すプロパティ名の集合を指定して，必要なユーザ情報が取得できます。

ユーザ情報として取得できるプロパティは，次のとおりです。

ユーザ識別子（dbrProp_UserId）

所属するグループの数（dbrProp_GroupCount）

所属するグループのグループ識別子の一覧（dbrProp_GroupList）

特権（dbrProp_UserPrivilege）

ユーザ権限（dbrProp_UserPermission）

なお，DbjSession#getLoginUserInfoメソッドは，文書空間にアクセスするメソッドではありません。このため，このメソッドがトランザクションに影響することはありません。

また，セッションを確立している文書空間がアクセス制御機能に対応しているかどうかは，DbjDocSpace#isAccessControlModeメソッドによって確認できます。

ログインユーザ情報を取得する例を示します。

// ログインユーザ情報を取得する例

 // sess：DbjSessionインターフェース

// セッションを確立する
DbjDocSpace docspc = sess.login( username, passwd );

if ( !docspc.isAccessControlMode() ) {
 // アクセス制御機能に対応していない文書空間の場合
 System.out.println
 ("Sorry, user information cannot be obtained.");
 return;
}

// 取得するプロパティ名の一覧を作成する
Set<String> propdef = new HashSet<String>();
propdef.add("dbrProp_UserId");          // ユーザ識別子
propdef.add("dbrProp_UserPrivilege");   // 特権
propdef.add("dbrProp_GroupList");      
                      // 所属するグループのグループ識別子の一覧

// ユーザ情報を取得する
DbjPropSet propSet = sess.getLoginUserInfo(propdef);

// 取得したユーザ情報を表示する
System.out.println("userId = "
+propSet.getStringVal("dbrProp_UserId"));
System.out.println("userPriv = "
+propSet.getIntVal("dbrProp_UserPrivilege"));
System.out.println("groupList = "
+propSet.getListRef("dbrProp_GroupList"));

// セッションを切断する
sess.logout();

1.9　文書空間へのアクセス

この節では，文書空間へのアクセスについて説明します。文書空間には，DbjDocSpaceインターフェースの機能でアクセスします。

＜この節の構成＞

1.9.1　文書空間アクセスオブジェクト

1.9.2　DbjDocSpaceインターフェースの機能

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

1.9.4　文書管理オブジェクトの検索

1.9.5　検索条件に合致した文書管理オブジェクトの削除

1.9.6　既存の文書管理オブジェクトにアクセスするインターフェースの取得

1.9.7　メタ情報を取得するインターフェースの取得

1.9.1　文書空間アクセスオブジェクト

ここでは，文書空間アクセスオブジェクトについて説明します。

DbjSession#loginメソッドの実行が成功すると，戻り値としてDbjDocSpaceインターフェースが返却されます。DbjDocSpaceインターフェースは，接続した文書空間を概念的なオブジェクト（文書空間アクセスオブジェクト）として扱うためのインターフェースです。

このオブジェクトは，セッションを切断するまで有効です。

1.9.2　DbjDocSpaceインターフェースの機能

ここでは，DbjDocSpaceインターフェースの機能について説明します。DbjDocSpaceインターフェースは，DbjSession#loginメソッドを実行して取得します。

DbjDocSpaceインターフェースには，次の機能があります。

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

文書管理オブジェクトの検索

文書管理オブジェクトにアクセスするためのインターフェースの取得

なお，文書管理オブジェクトを検索して，検索条件に合致する文書管理オブジェクトをすべて削除する機能もあります。

DbjDocSpaceインターフェースは，特定の文書管理オブジェクトに依存しない，文書空間全体を対象にする機能を提供しています。また，特定の文書管理オブジェクトにアクセスするためのインターフェースを取得するための機能も提供しています。

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

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

＜この項の構成＞

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

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

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

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

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

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

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

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

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

文書管理オブジェクトのトップオブジェクトクラス

文書管理オブジェクトのプロパティの初期値

文書のアップロード情報（文書の場合）

関連付ける文書またはフォルダ（文書またはフォルダの場合）

バインドする文書，フォルダまたは独立データ（パブリックACLの場合）

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

文書管理オブジェクトのトップオブジェクトクラス

文書管理オブジェクトのトップオブジェクトを作成する基になる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通りの方法があります。

コンテンツとして登録するファイルから全文検索インデクスを作成する方法
「text/」から始まる特定のレンディションタイプを持つ文書の場合，コンテンツとして登録するファイルから全文検索インデクスを作成できます。マルチレンディション文書の場合は，マスタレンディションのコンテンツに登録するファイルのレンディションタイプが特定のレンディションタイプであるときに作成できます。
文書のアップロード情報に，全文検索インデクスの情報として，定数「DbjDef.INDEXPATH_SAME」を指定します。

文書のコンテンツに対応するテキストデータを用意して全文検索インデクスを作成する方法
特定のレンディションタイプを持たない文書に対しては，文書のコンテンツに対応するテキストデータを全文検索インデクスとして登録します。
例えば，Wordで作成した文書など，「text/」以外で始まるレンディションタイプのファイルからは，全文検索インデクスが作成できません。この場合，全文検索インデクスを作成するためのテキストデータを，ユーザアプリケーションプログラムなどによって，別に用意する必要があります。Wordなどのアプリケーションプログラムでテキストデータを抽出してください。このテキストデータのパス名を，文書のアップロード情報の全文検索インデクスの情報として指定します。

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

図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 );             // リンクは設定しない

1.9.4　文書管理オブジェクトの検索

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

文書管理オブジェクトの検索では，検索条件をedmSQL文で指定します。検索結果は検索結果集合として取得します。検索条件の指定方法と検索結果の取得方法については，マニュアル「DocumentBroker Version 5　概説」の検索機能および「2.　edmSQLの文法」を参照してください。

文書管理オブジェクトの検索は，DbjDocSpace#executeSearchメソッドで実行します。検索実行が成功した場合，戻り値として，検索結果集合を扱うDbjResultSetインターフェースが返却されます。

なお，DbjDocSpace#executeSearchメソッドでは，次のような種類の検索が実行できます。

edmSQL文だけを指定する単純な検索

?パラメタを指定する検索

ロック指定検索

アクセス制御機能付き検索

名前付き検索結果を取得する検索

キャッシュ検索

それぞれの検索方法について説明します。

＜この項の構成＞

(1)　edmSQL文だけを指定する単純な検索

(2)　?パラメタを指定する検索

(3)　ロック指定検索

(4)　検索実行時のアクセス制御モードの変更

(5)　名前付き検索結果を取得する検索

(6)　キャッシュ検索

(1)　edmSQL文だけを指定する単純な検索

ここでは，edmSQL文だけを指定する単純な検索の例を示します。

// edmSQL文だけを指定する検索の例

 // docspc ： DbjDocSpaceインターフェース

// 検索実行
DbjResultSet result = docspc.executeSearch(
           "SELECT Name FROM DV  WHERE Number < 10", // edmSQL文
           null,  // ?パラメタは指定しない
           null );// 検索結果取得情報は指定しない
System.out.println( "result = " + result );

検索を実行すると，検索結果集合を表すオブジェクトが作成されます。この例の場合，検索結果集合は変数resultに返却されます。検索結果を参照する場合は，resultのインターフェースである，DbjResultSetインターフェースを使用します。

(2)　?パラメタを指定する検索

ここでは，?パラメタを指定した検索の例を示します。?パラメタは，リストにして，DbjDocSpace#executeSearchメソッドの引数に指定します。?パラメタの値は，パラメタクラスのインターフェースを使用して受け渡します。?パラメタを扱うインターフェースは，DocumentBrokerのデータ型ごとに定義されていますので，データ型に合ったインターフェースを使用してください。

edmSQL文中に複数の?パラメタがある場合，その個数と同じ数の要素を持つ?パラメタのリストを指定します。

// ?パラメタを指定する検索の例

 // factory：DbjFactoryインターフェース
 // docspc ：DbjDocSpaceインターフェース

// ?パラメタに，INT型の値10を指定する
List<DbjQParam> qparams = new ArrayList<DbjQParam>();
qparams.add( factory.createInteger32QParam( 10 ));

// 検索実行
DbjResultSet result = docspc.executeSearch(
           "SELECT Name FROM DV WHERE Number < ?", // edmSQL文
           qparams, // ?パラメタの指定
           null );  // 検索結果取得情報は指定しない
System.out.println( "result = " + result );

(3)　ロック指定検索

ここでは，ロック指定検索の例を示します。この検索は，引数にロック種別が指定できる形式のDbjDocSpace#executeSearchメソッドで実行します。ロック種別を指定できない形式を使用した場合や，ロック種別にDbjDef.LOCK_NONEを指定した場合，検索結果として取得した文書管理オブジェクトにロックは設定されません。

// ロック指定検索の例

 // docspc ： DbjDocSpaceインターフェース

DbjResultSet result = docspc.executeSearch(
           "SELECT Name  FROM DV  WHERE Number < 10", // edmSQL文
           null,               // ?パラメタは指定しない
           null,               // 検索結果取得情報は指定しない
           DbjDef.LOCK_READ ); // readロックを設定する

(4)　検索実行時のアクセス制御モードの変更

ここでは，検索実行時のアクセス制御モードを変更する例を示します。アクセス制御機能に対応した文書空間の場合，デフォルトの設定では，アクセス制御機能付き検索が実行されます。検索結果をアクセス制御しない場合は，アクセス制御モードを変更してください。

アクセス制御モードの変更は，DbjDocSpace#changeSearchACLModeメソッドで実行します。なお，このメソッドは，アクセス制御機能に対応した文書空間以外では実行できません。変更したアクセス制御モードは，次にDbjDocSpace#changeSearchACLModeメソッドを実行するまで有効です。

この例では，アクセス制御モードを変更して，アクセス制御機能なし検索を実行します。

// アクセス制御モードを変更する検索の例

 // docspc：DbjDocSpaceインターフェース

// アクセス制御機能を無視する検索モード（アクセス制御機能なし検索）
// に変更する
docspc.changeSearchACLMode( DbjDef.WITHOUT_ACL );

// 検索実行（アクセス制御機能なし検索）
DbjResultSet result = docspc.executeSearch(
           "SELECT Name FROM DV WHERE Number < 10", // edmSQL文
           null,         // ?パラメタは指定しない
           null );       // 検索結果取得情報は指定しない

なお，アクセス制御機能付き検索についての詳細は，マニュアル「DocumentBroker Version 5　概説」の「アクセス制御機能付き検索」の説明を参照してください。

(5)　名前付き検索結果を取得する検索

ここでは，名前付き検索結果を取得する検索の例を示します。この検索は，引数に選択項目のリストが指定できる形式のDbjDocSpace#executeSearchメソッドで実行します。名前付き検索結果および名前なし検索結果については，マニュアル「DocumentBroker Version 5　概説」の「名前付き検索結果を取得する検索」の説明を参照してください。

選択項目のリストを指定する引数には，検索結果集合の列に対応する名前をリストで設定します。リストの要素には，列に付ける名前として，SELECT句に指定する選択項目（プロパティ名）を設定します。

なお，名前付き検索結果を取得する場合，edmSQL文のSELECT句は，「$_」と記述してください。「$_」は，検索実行時に，選択項目のリストに指定した項目に置換されます。

// 名前付き検索結果を取得する例1

 // docspc ： DbjDocSpaceインターフェース

// 列名を指定したリストを作成する
List<String> selectItems = new ArrayList<String>();
selectItems.add("dmaProp_OIID");    // プロパティ名
selectItems.add("S0.Name");         // 相関名.プロパティ名

 // 下記のedmSQL文に展開される
 // SELECT dmaProp_OIID, S0.Name  FROM DV S0  WHERE Number < 10
 // 検索結果集合resultの列名は，dmaProp_OIID,S0.Nameとなる

// 検索実行
DbjResultSet result = docspc.executeSearch(
           selectItems,        // 列名を設定したリスト
           "SELECT $_ FROM DV S0 WHERE Number < 10",
                               // edmSQL文
            null,              // ?パラメタは指定しない
            null );            // 検索結果取得情報は指定しない
System.out.println(
"Column Name[0] is "+ result.getColumnName(0));
System.out.println(
"Column Name[1] is "+ result.getColumnName(1));

名前なし検索結果として取得した検索結果集合に，あとから列名を付けることもできます。名前なし検索結果に対する列名の設定は，DbjResultSet#setColumnMetaNameメソッドで実行します。

また，名前付き検索結果の任意の列から，列名を削除する（列名にnullを設定する）こともできます。ただし，すべての列名を削除しても，名前付き検索結果は名前なし検索結果にはなりません。

次に，名前なし検索結果にあとから列名を設定する例を示します。

// 名前なし検索結果に列名を設定する例

 // docspc ： DbjDocSpaceインターフェース

// 検索実行
DbjResultSet result = docspc.executeSearch(
  "SELECT dmaProp_OIID, S0.Name FROM DV S0  WHERE Number < 10",
                  // edmSQL文
  null,           // ?パラメタは指定しない
  null );         // 検索結果取得情報は指定しない
 // この時点では名前なし検索結果である

// 列名を設定する
result.setColumnMetaName(0, "dmaProp_OIID");//プロパティ名を列名に設定する
 // この時点で名前付き検索結果になる
result.setColumnMetaName(1, "S0.Name");// 相関名.プロパティ名を列名に設定する

なお，名前付き検索結果に対して，DbjResultSet#getPropSetメソッドを実行すると，取得するプロパティ値集合のプロパティ名に，検索結果集合の列名がマッピングされます。ただし，列名に相関名またはクラス名が含まれている場合は，列名のうち，プロパティ名の部分だけがプロパティ名としてマッピングされます。

ここでは，検索を実行して取得した検索結果の1行目を，プロパティ値集合として取得する例を示します。

// 名前付き検索結果を取得する例2

 // docspc ： DbjDocSpaceインターフェース

// 列名を指定したリストを作成する
List<String> selectItems = new ArrayList<String>();
selectItems.add("dmaProp_OIID");  // プロパティ名
selectItems.add("S0.Name");       // 相関名.プロパティ名

 // 下記のedmSQL文に展開される
 // SELECT dmaProp_OIID, S0.Name  FROM DV S0  WHERE Number < 10
 // 検索結果集合resultの列名は，dmaProp_OIID, S0.Nameとなる

// 検索実行
DbjResultSet result = docspc.executeSearch(
           selectItems,     // 列名を指定したリストを指定
           "SELECT $_  FROM DV S0  WHERE Number < 10",
                            // edmSQL文
           null,            // ?パラメタは指定しない
           null );          // 検索結果取得情報は指定しない

// 検索結果集合の列名を出力する
System.out.println(
"Column Name[0] is "+ result.getColumnName(0));
System.out.println(
"Column Name[1] is "+ result.getColumnName(1));

// カーソルを先頭行に移動する
result.next();

// 検索結果集合の１行目をプロパティ値集合として取得する
DbjPropSet props = result.getPropSet();
// propNamesの内容は{"dmaProp_OIID", "Name"}になる
Set<String> propNames = props.keySet();

検索結果集合に複数のDocumentBrokerクラスの列（文書管理オブジェクトのプロパティ）が含まれる場合は，DbjResultSet#getPropSetメソッドで行のプロパティ値集合を指定する時に，引数に表名（DocumentBrokerクラス名）が指定できる形式を使用して，特定のDocumentBrokerクラスのプロパティだけを取得することもできます。例えば，検索結果集合にS0.dmaProp_OIIDとS1.Nameという列が含まれる場合，表名として引数に"S0"を指定して，

props = result.getPropSet("S0");

とすれば，相関名S0で表されるDocumentBrokerクラスのプロパティであるdmaProp_OIIDだけが取得できます。DocumentBrokerクラスを指定しない場合は，検索結果集合に含まれるすべてのDocumentBrokerクラスのプロパティが取得できます。

(6)　キャッシュ検索

ここでは，キャッシュ検索の例を示します。キャッシュ検索を実行する場合，キャッシュ名を設定した検索結果取得情報を指定して検索を実行します。検索結果取得情報は，DbjFetchInfoインターフェースで設定します。検索結果取得情報では，キャッシュ名のほか，検索結果の取得開始位置，取得件数，キャッシュの最大件数およびキャッシュキーを設定できます。キャッシュ名を設定していない場合，キャッシュ検索は実行されません。キャッシュ検索の概要については，マニュアル「DocumentBroker Version 5　概説」の「検索結果キャッシュと検索結果取得情報を指定した検索」を参照してください。

検索結果キャッシュを使用した検索の例を示します。

// 検索結果キャッシュを使用した検索の例１

 // factory ： DbjFactoryインターフェース
 // docspc ： DbjDocSpaceインターフェース

// 検索結果キャッシュを作成して，先頭から100件ずつ検索結果を取得する

// 検索結果取得情報を作成する
// キャッシュ名は"cacheA"とする
DbjFetchInfo fetchinfo = factory.createFetchInfo(
           0,        // 取得開始位置
           100,      // 取得件数=100件
           -1,       // 検索結果キャッシュ取得最大件数(最大)
           "cacheA", // キャッシュ名
           DbjDef.INITIAL_KEY );     // キャッシュキー

DbjResultSet result = null ;

while ( true ) {

 // ループの2回目以降では検索結果キャッシュから検索結果を100件取得する
 result = docspc.executeSearch(
          "SELECT dmaProp_OIID  FROM DV", // edmSQL文
          null,                 // ?パラメタは指定しない
          fetchinfo );          // 検索結果取得情報

 // 検索結果キャッシュの最終行を取得するまでループする
 if ( fetchinfo.getStartIndex()
         + fetchinfo.getFetchCount() >= fetchinfo.getCacheTotal() ) {
         break;
 }

 fetchinfo.setStartIndex(
   fetchinfo.getStartIndex() + fetchinfo.getFetchCount() );

 // 同じfetchinfoを使用するため，キャッシュキーを再設定する
 // 必要はない

}

キャッシュ検索とキャッシュなし検索を組み合わせて使うこともできます。

検索結果キャッシュから取得した検索結果を?パラメタとして指定して，キャッシュなし検索を実行する例を示します。この例では，まず，検索結果としてOIIDを取得するキャッシュ検索を実行します。キャッシュ名は，「search_1」です。次に，「search_1」から検索結果（OIID）を20件ずつ取得しながら，そのOIIDを持つオブジェクトのNameプロパティをキャッシュなし検索によって取得します。

// 検索結果キャッシュを使用した検索の例2

 // factory ： DbjFactoryインターフェース
 // docspc ： DbjDocSpaceインターフェース

// 検索取得開始位置を指定する
int startix = 0;

// 取得件数=20件
int fetchcount = 20;

// 検索結果取得情報fetchinfoを作成する
// 取得件数とキャッシュ名は固定で使用するためここで設定する
// 取得開始位置はループ内で設定するため設定しない
DbjFetchInfo fetchinfo = factory.createFetchInfo();
fetchinfo.setFetchCount( fetchcount );
fetchinfo.setCacheName( "search_1" ); // キャッシュ名を指定する

// 検索結果を分割して取得する
while( true ) {

 fetchinfo.setStartIndex( startix ); // 取得開始位置を設定する

 // キャッシュ検索を実行する
 DbjResultSet result = docspc.executeSearch(
           "SELECT dmaProp_OIID FROM DV WHERE ...",//edmSQL文
           null,         // ?パラメタは指定しない
           fetchinfo);   // 検索結果取得情報

 // 検索結果集合resultを表示する
 while( result.next() )
 {
   // 検索結果として取得したOIIDを?パラメタの値に設定する
   DbjObj obj = docspc.createObjConnection(
           result.getStringVal(0) );
   List<DbjQParam> qparamlst = new ArrayList<DbjQParam>();
   qparamlst.add( factory.createOIIDQParam(obj) );

   // キャッシュなし検索を実行する
   DbjResultSet result2 = docspc.executeSearch(
           "SELECT Name  FROM DV  WHERE dmaProp_OIID=?",
            qparamlst,      // ?パラメタ（検索結果として取得したOIID）
            null );

   result2.next();

   Sysmtem.out.println("name="+result2.getStringVal(0));
 }

 // 開始位置+取得件数がキャッシュ件数以上になったらbreakする
 if ( startix + fetchcount >= fetchinfo.getCacheTotal() ) {
   break;
 }

 startix = startix + fetchcount; // 開始位置をインクリメントする

}

なお，検索結果取得情報は，DbjDocSpace#executeSearchメソッド以外に，文書管理オブジェクトの一覧を取得する場合にも使用できます。

1.9.5　検索条件に合致した文書管理オブジェクトの削除

ここでは，検索条件に合致する文書管理オブジェクトをすべて削除する操作について説明します。この操作には，DbjDocSpace#removeObjectsメソッドを使用します。

DbjDocSpace#removeObjectsメソッドの引数には，edmSQL文と?パラメタのリストを指定します。edmSQL文のSELECT句の一つ目の項目には，dmaProp_OIIDプロパティを指定してください。なお，項目名は「dmaProp_OIID」でなく，dmaProp_OIIDプロパティを示す相関名付きの名前などでもかまいません。

検索条件を指定して文書管理オブジェクトを削除する例を示します。

// 検索条件を指定して文書管理オブジェクトを削除する例

 // docspc：DbjDocSpaceインターフェース

docspc.removeObjects(
 "SELECT dmaProp_OIID FROM DV WHERE mdmProp_Num>100",
 null );            // ?パラメタは指定しない

1.9.6　既存の文書管理オブジェクトにアクセスするインターフェースの取得

ここでは，既存の文書管理オブジェクトにアクセスするインターフェースの取得について説明します。

DbjDocSpaceインターフェースから取得できる，文書管理オブジェクトを操作するためのインターフェースは，次のとおりです。

DbjObjインターフェース

DbjObjListインターフェース

DbjLinkObjListインターフェース

これらのインターフェースについては，「1.10　文書管理オブジェクトの操作」を参照してください。

ここでは，検索で取得したOIIDを基に，DbjObjインターフェースを取得する例を示します。

// 文書管理オブジェクトにアクセスするインターフェースを取得する例

 // docspc：DbjDocSpaceインターフェース

//OIIDをresultに取得する
DbjResultSet result = docspc.executeSearch(
   "SELECT dmaProp_OIID  FROM DV  WHERE Number = 100", // edmSQL文
   null,
   null );

result.next();

//resultで取得したOIIDを基にDbjObjインターフェースを取得する
String oiid = result.getStringVal(0);
DbjObj obj = docspc.createObjConnection(oiid);

1.9.7　メタ情報を取得するインターフェースの取得

DbjDocSpaceインターフェースでは，次のインターフェースも取得できます。

DbjMetaインターフェース

DbjMetaインターフェースの詳細については，「1.12　メタ情報の取得」を参照してください。

ここでは，セッションを確立している文書空間のメタ情報を取得する例を示します。

// セッションを確立している文書空間の，
// 文書管理オブジェクトのプロパティのデータ型を取得する例

 // sess：DbjSessionインターフェース

DbjDocSpace docspc = sess.login( user, passwd );

// DbjMetaインターフェースを取得
DbjMeta meta = docspc.getMeta();

// Nameプロパティのデータ型を取得する
int datatype = meta.getPropDataType("Name");

1.10　文書管理オブジェクトの操作

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

＜この節の構成＞

1.10.1　文書管理オブジェクトとProxyオブジェクト

1.10.2　Proxyオブジェクトのプロパティ

1.10.3　リンクProxyオブジェクトのプロパティ

1.10.4　文書管理オブジェクトを操作するインターフェースの機能

1.10.5　文書管理オブジェクトの情報の取得

1.10.6　アクセス方法に関する情報の取得と変更

1.10.7　文書管理オブジェクトのプロパティの操作

1.10.8　文書管理オブジェクトの削除

1.10.9　文書のコンテンツの操作

1.10.10　バージョン付きオブジェクトのバージョン操作

1.10.11　マルチレンディション文書のレンディションの操作

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

1.10.13　リンクの操作

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

1.10.15　複数の文書管理オブジェクトの一括操作

1.10.1　文書管理オブジェクトとProxyオブジェクト

ここでは，文書管理オブジェクトとProxyオブジェクトの関係について説明します。文書管理オブジェクトは，データベース上に存在するDocumentBrokerオブジェクトと対応する，永続的なオブジェクトです。文書空間上の文書やフォルダを表します。文書管理オブジェクトについての詳細は，マニュアル「DocumentBroker Version 5　概説」を参照してください。

Proxyオブジェクトは，文書管理オブジェクトの概念的な代理オブジェクトです。Proxyオブジェクトは，メモリ空間上に存在します。

DocumentBrokerクラスライブラリで作成したユーザアプリケーションプログラムで文書管理オブジェクトを操作する場合，文書管理オブジェクトを直接操作するのではなく，Proxyオブジェクトを通して間接的に操作します。このため，文書管理オブジェクトを操作するためには，文書管理オブジェクトそのもののインターフェースではなく，Proxyオブジェクトのインターフェースを取得して操作します。

Proxyオブジェクトと文書管理オブジェクトの対応は，n:1（nは1以上の整数）です。一つの文書管理オブジェクトに対して，複数のProxyオブジェクトからアクセスすることがあります。Proxyオブジェクトは，文書管理オブジェクトを操作するためのインターフェース（DbjObjインターフェース，DbjLinkObjインターフェースなど）を取得するごとにメモリ上に作成されます。Proxyオブジェクトが対象にする文書管理オブジェクトを，Proxyオブジェクトのターゲットオブジェクトといいます。

Proxyオブジェクトを通して文書管理オブジェクトを操作する場合の例を，次の図に示します。

図1-7　Proxyオブジェクトを通して文書管理オブジェクトを操作する例

また，DocumentBrokerクラスライブラリでは，複数の文書管理オブジェクトをまとめて操作することもできます。複数の文書管理オブジェクトを操作する場合は，複数のProxyオブジェクトのインターフェースを要素に持つ，複数文書管理オブジェクトアクセスオブジェクトのインターフェースを使用します。

複数の文書管理オブジェクトを操作する例を，次の図に示します。

図1-8　複数の文書管理オブジェクトを操作する例

複数文書管理オブジェクトアクセスオブジェクトのインターフェースは，ProxyオブジェクトのインターフェースであるDbjObjインターフェース，DbjVerObjインターフェースまたはDbjLinkObjインターフェースを要素とするリストのインターフェースです。

なお，Proxyオブジェクトには，文書管理オブジェクトのうち，リンクオブジェクトに対応するProxyオブジェクトと，それ以外の文書管理オブジェクトに対応するProxyオブジェクトがあります。リンクオブジェクトに対応するProxyオブジェクトを特に，リンクProxyオブジェクトといいます。以降，単にProxyオブジェクトと説明する場合は，リンクProxyオブジェクト以外のProxyオブジェクトのことを指します。

1.10.2　Proxyオブジェクトのプロパティ

ここでは，Proxyオブジェクトのプロパティについて説明します。

Proxyオブジェクトはプロパティを持っています。このプロパティは，文書管理オブジェクトのプロパティとは異なりますので，注意してください。

Proxyオブジェクトのプロパティを次に示します。

ターゲットOIID

ターゲットバージョン識別子

アクセスロック種別

オブジェクト種別

ターゲットプロパティ値集合

Proxyオブジェクトのプロパティと文書管理オブジェクトの関係を，次の図に示します。

図1-9　Proxyオブジェクトのプロパティと文書管理オブジェクトの関係

それぞれのプロパティについて説明します。

＜この項の構成＞

(1)　ターゲットOIID

(2)　ターゲットバージョン識別子

(3)　アクセスロック種別

(4)　オブジェクト種別

(5)　ターゲットプロパティ値集合

(1)　ターゲットOIID

ターゲットオブジェクトのOIIDが設定されるプロパティです。

(2)　ターゲットバージョン識別子

ターゲットオブジェクトがバージョン付きオブジェクトの場合に，操作対象になるバージョンオブジェクトのバージョン識別子が設定されるプロパティです。ターゲットバージョン識別子に対応するバージョンを，ターゲットバージョンといいます。

このプロパティには，ターゲットオブジェクトがバージョニングオブジェクトの場合に有効な値が格納されます。デフォルトのターゲットバージョン識別子はカレントバージョンのバージョン識別子になります。図1-9の場合は，バージョン識別子「zzz…」を持つ「V2」がターゲットバージョンです。ターゲットバージョンは，必要に応じて，任意のバージョンに変更できます。

なお，ターゲットオブジェクトがバージョンオブジェクト（バージョン付きオブジェクトの1バージョン）の場合またはバージョン付きオブジェクトでない場合，ターゲットバージョン識別子プロパティの値は無効です。

(3)　アクセスロック種別

ターゲットオブジェクトに設定するロック種別が設定されるプロパティです。

(4)　オブジェクト種別

ターゲットオブジェクトのオブジェクト種別が設定されるプロパティです。

オブジェクト種別とは，次のどれかです。

バージョンなし文書

バージョン付き文書

バージョンなしフォルダ

独立データ

パブリックACL

(5)　ターゲットプロパティ値集合

ターゲットオブジェクトである文書管理オブジェクトのプロパティを参照または更新するためのプロパティ値集合が設定されるプロパティです。

文書管理オブジェクトのプロパティを参照する場合，まず，文書管理オブジェクトのプロパティ値集合が，このプロパティに読み込まれます。この処理を，「ターゲットオブジェクトからProxyオブジェクトにプロパティをロードする」といいます。

また，文書管理オブジェクトのプロパティを設定する場合も，Proxyオブジェクトのターゲットプロパティ値集合の内容が，文書管理オブジェクトに反映（設定）されます。この処理を，「Proxyオブジェクトのプロパティをターゲットオブジェクトにフラッシュする」といいます。

文書管理オブジェクトのプロパティの操作についての詳細は，「1.10.7　文書管理オブジェクトのプロパティの操作」を参照してください。

1.10.3　リンクProxyオブジェクトのプロパティ

ここでは，リンクProxyオブジェクトのプロパティについて説明します。

リンクProxyオブジェクトはプロパティを持っています。このプロパティは，文書空間に存在するリンクオブジェクトのプロパティとは異なりますので，注意してください。

リンクProxyオブジェクトのプロパティを次に示します。

ターゲットリンク識別子

オーナーオブジェクト

ターゲットオブジェクト

リンクプロパティ値集合

リンクProxyオブジェクトのプロパティと文書空間のリンクオブジェクトの関係を，次の図に示します。

図1-10　リンクProxyオブジェクトのプロパティと文書管理オブジェクトの関係

それぞれのプロパティについて説明します。

＜この項の構成＞

(1)　ターゲットリンク識別子

(2)　オーナーオブジェクト

(3)　ターゲットオブジェクト

(4)　リンクプロパティ値集合

(1)　ターゲットリンク識別子

ターゲットオブジェクトであるリンクオブジェクト（ターゲットリンクオブジェクト）のリンク識別子が設定されるプロパティです。

(2)　オーナーオブジェクト

ターゲットリンクオブジェクトによってリンクが設定されている文書管理オブジェクトのうち，リンク元である文書管理オブジェクトのProxyオブジェクトが設定されるプロパティです。

例えば，ターゲットオブジェクトがフォルダと文書のリンクを表すリンクオブジェクトである場合は，フォルダのProxyオブジェクトが設定されます。また，ターゲットオブジェクトが文書間リンクを表すリンクオブジェクトである場合は，リンク元の文書のProxyオブジェクトが設定されます。

(3)　ターゲットオブジェクト

ターゲットリンクオブジェクトによってリンクが設定されている文書管理オブジェクトのうち，リンク先である文書管理オブジェクトのProxyオブジェクトが設定されるプロパティです。

例えば，リンクProxyオブジェクトのターゲットオブジェクトがフォルダと文書のリンクを表すリンクオブジェクトである場合は，文書のProxyオブジェクトが設定されます。また，ターゲットオブジェクトが文書間リンクを表すリンクオブジェクトである場合は，リンク先の文書のProxyオブジェクトが設定されます。

(4)　リンクプロパティ値集合

ターゲットオブジェクトであるリンクオブジェクトのプロパティを参照または更新するためのプロパティ値集合が設定されるプロパティです。

1.10.4　文書管理オブジェクトを操作するインターフェースの機能

ここでは，文書管理オブジェクトを操作するインターフェースの機能について説明します。

＜この項の構成＞

(1)　文書管理オブジェクトを操作するインターフェースの種類

(2)　文書管理オブジェクトを操作するインターフェースで実行できる操作

(3)　メソッドとオブジェクト種別の対応

(1)　文書管理オブジェクトを操作するインターフェースの種類

特定の文書管理オブジェクトを操作する場合に使用するインターフェースについて説明します。DocumentBrokerクラスライブラリでは，文書管理オブジェクトを，種類に関係なく同じインターフェースを使用して操作します。例えば，文書管理オブジェクトのプロパティを操作する場合は，操作する対象が文書やフォルダなど，どの文書管理オブジェクトであっても，同じDbjObjインターフェースなどのメソッドを使用します。ただし，操作する文書管理オブジェクトの種類によって，実行できるメソッドは異なります。例えば，フォルダを操作するためのDbjObjインターフェースを取得している場合に，文書のコンテンツを更新するDbjObj#uploadContentsメソッドを実行することはできません。詳細は，「(3) メソッドとオブジェクト種別の対応」を参照してください。

文書管理オブジェクトを操作するために使用するインターフェースの種類を次に示します。また，インターフェースを取得するメソッドの例を示します。

DbjObjインターフェース
個々の文書管理オブジェクトの操作を実行します。
次のメソッドで取得します。

DbjDocSpace#createObjConnectionメソッド

DbjDocSpace#createDocumentメソッドなど，文書管理オブジェクトを作成するメソッド

DbjLinkObj#getOwnerObjメソッドなど，リンク元オブジェクトまたはリンク先オブジェクトを取得するメソッド

DbjVerObjインターフェース
次のメソッドで取得します。

DbjVerObjList#getVerObjメソッド

このインターフェースの機能を持つProxyオブジェクトのターゲットオブジェクトは，必ずバージョンオブジェクトです。このインターフェースでは，DbjObjインターフェースと同様に，個々の文書管理オブジェクトの操作を実行します。また，ターゲットオブジェクトであるバージョンオブジェクトのバージョン識別子をプロパティとして保持しています。

DbjObjListインターフェース
複数の文書管理オブジェクトの一括操作を実行します。
次のメソッドで取得します。

DbjDocSpace#createObjListメソッド

DbjLinkObjList#getOwnerObjListメソッドなど，リンク元オブジェクトまたはリンク先オブジェクトの一覧を取得するメソッド

DbjVerObjListインターフェース
複数の文書管理オブジェクトの一括操作を実行します。リストの要素はDbjVerObjインターフェースです。
次のメソッドで取得します。

DbjObj#getVersionObjListメソッド

DbjLinkObjインターフェース
リンクオブジェクトの操作を実行します。
次のメソッドで取得します。

DbjLinkObjList#getLinkObjメソッド

DbjLinkObjListインターフェース
複数のリンクオブジェクトの一括操作を実行します。
次のメソッドで取得します。

DbjDocSpace#createLinkObjListメソッド

DbjObj#getChildListメソッドなど，リンク元オブジェクトまたはリンク先オブジェクトの一覧を取得するメソッド

なお，DbjObjListインターフェース，DbjVerObjListインターフェースおよびDbjLinkObjListインターフェースは，java.util.Listインターフェースを継承しています。

(2)　文書管理オブジェクトを操作するインターフェースで実行できる操作

ここでは，文書管理オブジェクトを操作するインターフェースで実行できる操作について説明します。

文書管理オブジェクトを操作するインターフェースで実行できる操作を，次の表に示します。それぞれの操作の詳細については，参照先の説明を参照してください。

表1-6　文書管理オブジェクトを操作するインターフェースで実行できる操作

実行できる操作の種類 | 説　明 | 参照先
文書管理オブジェクトの情報を取得する | OIIDやオブジェクト種別，文書管理オブジェクトを構成するDocumentBrokerクラスの情報を取得します。 | 1.10.5
文書管理オブジェクトへのアクセス方法を変更する | バージョン付きオブジェクトの操作対象のバージョンを変更したり，文書管理オブジェクトに設定するロック種別を変更したりします。 | 1.10.6
文書管理オブジェクトのプロパティを操作する | 文書管理オブジェクトに設定したプロパティを参照したり，更新したりします。 | 1.10.7
文書管理オブジェクトを削除する | 文書管理オブジェクトを削除します。 | 1.10.8
文書のコンテンツを操作する | 文書のコンテンツをダウンロードしたり，アップロードしたりします。 | 1.10.9
バージョン付きオブジェクトのバージョンを操作する | バージョン付きオブジェクトをバージョンアップしたり，バージョン一覧を取得したり，バージョンを削除したりします。 | 1.10.10
マルチレンディション文書を操作する | マルチレンディション文書を作成したり，レンディションを追加したり，レンディションにプロパティを設定したりします。 | 1.10.11
リファレンスファイル文書を操作する | リファレンスファイル文書を作成したり，削除したりします。また，リファレンスファイル文書のコンテンツをアップロードしたり，ダウンロードしたりします。 | 1.10.12
文書管理オブジェクトを関連付けて管理する | 文書管理オブジェクトを関連付けるために，リンクオブジェクトを使用して管理します。また，リンクをたどって文書管理オブジェクトを取得します。 | 1.10.13
複数の文書管理オブジェクトを一括して操作する | 複数の文書管理オブジェクトのプロパティやコンテンツを一括して参照したり，複数の文書管理オブジェクトを一括して移動したり，削除したりします。 | 1.10.14
アクセス制御機能を使用する | ローカルACLの値を設定したり，パブリックACLを作成して文書管理オブジェクトからバインドしたりします。 | 1.11

(3)　メソッドとオブジェクト種別の対応

DbjObjインターフェースおよびDbjVerObjインターフェースのメソッドと，実行できる文書管理オブジェクトのオブジェクト種別の対応を次の表に示します。それぞれのメソッドについては，各メソッドの説明を参照してください。

表1-7　メソッドを実行できる文書管理オブジェクトのオブジェクト種別

メソッド | D | VD | F | IP | PA
DbjObjインターフェース
addRendition | ○ | ○ | × | × | ×
bindPublicACL | ○ | ○ | ○ | ○ | ×
cancelCheckOut | × | ○ | × | × | ×
changeMasterRendition | ○ | ○ | × | × | ×
checkIn | × | ○ | × | × | ×
checkOut | × | ○ | × | × | ×
convertContentIType | ○ | ○ | × | × | ×
deleteRendition | ○ | ○ | × | × | ×
deleteVersion | × | ○ | × | × | ×
downloadContents | ○ | ○ | × | × | ×
getBindObjectList | × | × | × | × | ○
getCheckOutStatus | × | ○ | × | × | ×
getChildList | × | × | ○ | × | ×
getClassName | ○ | ○ | ○ | ○ | ○
getDCRParent | ○ | ○ | ○ | × | ×
getLockType | ○ | ○ | ○ | ○ | ○
getObjType | ○ | ○ | ○ | ○ | ○
getOiid | ○ | ○ | ○ | ○ | ○
getParentList | ○ | ○ | ○ | × | ×
getPublicACLList | ○ | ○ | ○ | ○ | ×
getRelList | ○ | ○ | × | × | ×
getRenditionList | ○ | ○ | × | × | ×
getTargetVersion | × | ○ | × | × | ×
getVersionId | 　○※ | 　○※ | 　○※ | 　○※ | 　○※
getVersioningInfo | 　○※ | 　○※ | 　○※ | 　○※ | 　○※
getVersionObjList | × | ○ | × | × | ×
link | ○ | ○ | ○ | × | ×
lock | ○ | ○ | ○ | ○ | ○
move | ○ | ○ | ○ | × | ×
propSet | ○ | ○ | ○ | ○ | ○
readProperties | ○ | ○ | ○ | ○ | ○
removeObject | ○ | ○ | ○ | ○ | ○
setPropSet | ○ | ○ | ○ | ○ | ○
setTargetVersion | × | ○ | × | × | ×
unbindPublicACL | ○ | ○ | ○ | ○ | ×
unlink | ○ | ○ | ○ | × | ×
unlinkByLinkId | ○ | ○ | ○ | × | ×
uploadContents | ○ | ○ | × | × | ×
writeProperties | ○ | ○ | ○ | ○ | ○
writeRenditionProperties | ○ | ○ | × | × | ×
DbjVerObjインターフェース
getVersionId | 　○※ | 　○※ | 　○※ | 　○※ | 　○※

（凡例）

D：バージョンなし文書またはバージョン付き文書のバージョンオブジェクト

VD：バージョン付き文書

F：バージョンなしフォルダのバージョンオブジェクト

IP：独立データ

PA：パブリックACL

○：実行できます。

×：実行できません。または実行しても無効です。

注※　バージョン付きオブジェクトのバージョンオブジェクト以外で実行した場合は，nullが返却されます。

なお，DbjObjListインターフェースおよびDbjVerObjListインターフェースで実行できるメソッドは，それぞれの要素であるDbjObjインターフェースおよびDbjVerObjインターフェースが対応する文書管理オブジェクトで実行できるメソッドです。

1.10.5　文書管理オブジェクトの情報の取得

ここでは，文書管理オブジェクトの情報を取得する方法について説明します。

文書管理オブジェクトの情報とは，次の情報です。

OIID

オブジェクト種別

DocumentBrokerクラス名

＜この項の構成＞

(1)　OIIDの取得

(2)　オブジェクト種別の取得

(3)　DocumentBrokerクラス名の取得

(1)　OIIDの取得

OIIDは，DbjObj#getOiidメソッドによって取得します。文書管理オブジェクトのOIID文字列が取得できます。

OIIDを取得する例を示します。

// OIIDの取得例

 // obj：DbjObjインターフェース

System.out.println( "OIID=" + obj.getOiid() );

(2)　オブジェクト種別の取得

オブジェクト種別は，DbjObj#getObjTypeメソッドによって取得します。

オブジェクト種別は，次に示すDbjDefクラスの定数で表されます。

バージョンなし文書（DbjDef.OBJTYPE_DOC）

バージョン付き文書（DbjDef.OBJTYPE_VRDOC）

バージョンなしフォルダ（DbjDef.OBJTYPE_FOLDER）

構成管理できないバージョンなしフォルダ（DbjDef.OBJTYPE_NVTFOLDER）

独立データ（DbjDef.OBJTYPE_IP）

パブリックACL（DbjDef.OBJTYPE_PUBLICACL）

すべての種別のオブジェクト（DbjDef.ANY）

不明な種別のオブジェクト（DbjDef.UNKNOWN）

オブジェクト種別を取得する例を示します。

// オブジェクト種別の取得例

 // obj：DbjObjインターフェース

System.out.println( "ObjectType=" + obj.getObjType() );

(3)　DocumentBrokerクラス名の取得

文書管理オブジェクトを構成しているDocumentBrokerオブジェクトのDocumentBrokerクラス名は，DbjObj#getClassNameメソッドによって取得します。

バージョン付きオブジェクトの場合は，バージョニングオブジェクトのトップオブジェクトクラス（dmaClass_ConfigurationHistoryクラスまたはそのサブクラス）と，バージョンオブジェクトのトップオブジェクトクラス（dmaClass_DocVersionクラスもしくはそのサブクラス）の二つのDocumentBrokerクラス名が取得できます。それ以外の文書管理オブジェクトの場合は，一つのDocumentBrokerクラス名が取得できます。

ターゲットオブジェクトのDocumentBrokerクラス名を取得する例を示します。

// DocumentBrokerクラス名の取得例

 // obj：DbjObjインターフェース

System.out.println( "ClassName=" + obj.getClassName() );

1.10.6　アクセス方法に関する情報の取得と変更

ここでは，次に示す情報を取得および変更する操作について説明します。

ロック種別

操作対象になるバージョン

＜この項の構成＞

(1)　ロック種別の取得と変更

(2)　操作対象になるバージョンの取得と変更

(1)　ロック種別の取得と変更

文書管理オブジェクトの操作は，次の2種類に分類できます。

参照系の操作

操作対象になるDocumentBrokerクラスライブラリのオブジェクトまたは文書管理オブジェクトの状態を変化させない操作です。例えば，文書のコンテンツの参照や文書やフォルダのプロパティの参照などは参照系の操作です。

なお，参照系の操作を実行するメソッドを，参照系メソッドといいます。

更新系の操作

操作対象になるDocumentBrokerクラスライブラリのオブジェクトまたは文書管理オブジェクトの状態を変化させる操作です。例えば，文書のコンテンツの更新や文書やフォルダのプロパティの更新などは更新系の操作です。

なお，更新系の操作を実行するメソッドを，更新系メソッドといいます。

参照系メソッドを実行すると，デフォルトの設定では，文書管理オブジェクトに対してreadロックが設定されます。これを，明示的にwriteロックを設定するように変更できます。

文書管理オブジェクトに設定するロック種別の変更は，DbjObj#lockメソッドで実行します。このメソッドを実行すると，同じ文書管理オブジェクトに対して，指定したロック種別を設定するDbjObjインターフェースが取得できます。例えば，writeロックを設定するインターフェースを取得した場合は，そのインターフェースで参照系メソッドを実行したときにも，必ずwriteロックが設定されます。

なお，取得するインターフェースは，DbjObj#lockメソッドを実行したインターフェースとは異なるインターフェースです。元のインターフェースを使用した場合のアクセス方法が変更されるのではありません。

異なるロック種別で文書管理オブジェクトにアクセスする例を示します。なお，readPropertiesメソッドは，文書管理オブジェクトのプロパティを参照する場合に使用する，参照系メソッドです。

// 異なるロック種別で文書管理オブジェクトにアクセスする例

 // docspc：DbjDocSpaceインターフェース

// DbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( oiid );

// デフォルト(=readロックを設定)のままプロパティを参照する…(a)
obj.readProperties( propdef );

// writeロックを設定するためのDbjObjインターフェースを取得する
DbjObj objWithWriteLock = obj.lock( DbjDef.LOCK_WRITE );

// writeロックを設定してプロパティを参照する…(b)
objWithWriteLock.readProperties( propdef );

(a)では，文書管理オブジェクトにreadロックが設定されます。(b)では，文書管理オブジェクトにwriteロックが設定されます。

この操作で作成されるProxyオブジェクトと，そのインターフェースを使用した操作について，次の図に示します。

図1-11　異なるロック種別でアクセスする例

このように，図1-11のobjとobjWithWriteLockは，同じ文書管理オブジェクトを対象とする，異なるProxyオブジェクトのインターフェースです。したがって，「obj.lock」を実行したあとでも，objを使用した場合に設定されるロックの種別は変わりません（この例の場合はreadロックのままです）。

DbjObjインターフェースで参照系メソッドを実行する場合に，そのインターフェースで設定するロック種別を確認するときは，DbjObj#getLockTypeメソッドを実行します。取得するロック種別の値は，Proxyオブジェクトのアクセスロック種別プロパティに設定されている値です。

(2)　操作対象になるバージョンの取得と変更

バージョン付きオブジェクトを操作する場合，デフォルトの状態では，カレントバージョンのバージョンオブジェクトが操作の対象になります。これを，指定したバージョンのバージョンオブジェクトを操作するように変更できます。例えば，バージョン3まであるバージョン付き文書の，バージョン2のオブジェクトのコンテンツを参照したい場合などに，対象バージョンを変更します。

対象バージョンの変更は，DbjObj#setTargetVersionメソッドで実行します。このメソッドは，そのインターフェースでのすべての操作の対象を指定したバージョンに変更します。

操作対象のバージョンを変更する例を示します。

// 操作対象のバージョンを変更する例

 // docspc：DbjDocSpaceインターフェース

// DbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( oiid );

// デフォルトのバージョン(カレントバージョン)のプロパティを参照する
obj.readProperties( propdef );

// 操作対象のバージョンを，指定バージョン(versionId)に変更する
obj.setTargetVersion( versionId );

// versionIdで指定されたバージョンのプロパティを参照する
obj.readProperties( propdef );

// 操作対象をカレントバージョンに戻す
obj.setTargetVersion( null );

DbjObjインターフェースでバージョン付きオブジェクトを操作する場合に，そのインターフェースの操作対象になるバージョンを確認するときには，DbjObj#getTargetVersionメソッドを実行します。このメソッドで取得できるバージョン識別子の値は，Proxyオブジェクトのターゲットバージョン識別子プロパティの値です。

1.10.7　文書管理オブジェクトのプロパティの操作

ここでは，文書管理オブジェクトのプロパティの操作について説明します。

文書管理オブジェクトのプロパティとは，文書管理オブジェクトが持っているプロパティです。DocumentBrokerオブジェクト上に値が存在するものと，DocumentBrokerオブジェクトの状態を基に演算などによって求められるものがあります。文書管理オブジェクトのプロパティの詳細については，マニュアル「DocumentBroker Version 5　概説」の「文書管理オブジェクトクラスのプロパティ一覧」を参照してください。

文書管理オブジェクトのプロパティの操作は，次の2種類の操作に分けられます。

プロパティの値の参照

プロパティの値の更新

なお，プロパティ管理のモデルついては，マニュアル「DocumentBroker Version 5　概説」の「属性管理モデル」を参照してください。

＜この項の構成＞

(1)　プロパティの値の参照

(2)　プロパティの値の更新

(3)　バージョン付きオブジェクトのプロパティの操作

(4)　VARRAY型のプロパティの参照

(5)　VARRAY型のプロパティの更新

(6)　そのほかのオブジェクトのプロパティの操作

(1)　プロパティの値の参照

文書管理オブジェクトのプロパティの値は，次の手順で参照します。

文書管理オブジェクトのプロパティの値を，Proxyオブジェクトのターゲットプロパティ値集合プロパティにロードします。
ロードには，DbjObj#readPropertiesメソッドを使用します。

プロパティ値集合を扱うインターフェース（DbjPropSetインターフェース）を取得します。
DbjPropSetインターフェースは，ターゲットプロパティ値集合プロパティにロードしたProxyオブジェクトのプロパティ値集合を扱うインターフェースです。DbjPropSetインターフェースは，DbjObj#propSetメソッドを実行して取得します。
このインターフェースには，プロパティの値をデータ型ごとに取得するためのメソッド（getIntValメソッド，getStringValメソッドなど）が定義されています。取得したい値のデータ型に応じたメソッドを実行します。

なお，文書管理オブジェクトのプロパティの値を，Proxyオブジェクトのターゲットプロパティ値集合プロパティにロードする方法として，次の2種類の方法があります。

ロードするプロパティの名称を指定する方法
DbjObj#readPropertiesメソッドの引数に，参照したいプロパティ名のコレクションを指定します。ここで指定したプロパティのプロパティ値集合が，Proxyオブジェクトにロードされます。

すでにProxyオブジェクトに読み込んであるプロパティを再度ロードする方法
DbjObj#readPropertiesメソッドの引数がない形式を使用します。すでにProxyオブジェクトのターゲットプロパティ値集合プロパティにロードされているプロパティが，再度ロードされます。ロードされるプロパティの種類は変更されないで，値だけが更新されます。一度トランザクションを終了したあとで，再度プロパティ値を参照する場合に，最新の状態に更新するときなどに使用します。

プロパティの値の参照の流れを，次の図に示します。

図1-12　プロパティの値の参照の流れ

ここでは，まず，集合に指定したプロパティのプロパティ値集合を，Proxyオブジェクトにロードする例を示します。

// プロパティを参照する例1（取得するプロパティ名の集合を指定する方法）

 // docspc：DbjDocSpaceインターフェース

// 参照するプロパティ名を要素とする集合
// (TitleプロパティとAuthorプロパティ)を作成する
Set<String> propdef = new HashSet<String>();
propdef.add( "Title" );
propdef.add( "Author" );

// DbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( oiid );

// プロパティ値集合をProxyオブジェクトにロードする
obj.readProperties( propdef );

// Proxyオブジェクトのターゲットプロパティ値集合プロパティから
// プロパティ値を取得する
String title = obj.propSet().getStringVal("Title");
String author = obj.propSet().getStringVal("Author");

次に，すでにProxyオブジェクトにロードされているプロパティ値集合を，再度ロードする例を示します。

// プロパティを参照する例2
// （すでにロードされているプロパティ値集合を再度ロードする方法）

// 「プロパティを参照する例1」の続き

// プロパティ値集合をProxyオブジェクトに再度ロードする
//(TitleプロパティとAuthorプロパティの値が更新される)
obj.readProperties();

// Proxyオブジェクトのターゲットプロパティ値集合プロパティから
// プロパティ値を取得する
String title = obj.propSet().getStringVal("Title");
String author = obj.propSet().getStringVal("Author");

(2)　プロパティの値の更新

文書管理オブジェクトのプロパティの値は，次の手順で更新します。

設定されているプロパティ値に関係なく，新しいプロパティ値を設定する場合

プロパティ値集合（DbjPropSet）を作成します。
DbjFactory#createPropSetメソッドなどで取得した，DbjPropSetインターフェースを使用します。DbjPropSetインターフェースでは，プロパティ値集合に値を設定するためのメソッド（setPropValメソッドおよびsetPropRefメソッド）が定義されています。

プロパティ値集合の値を文書管理オブジェクトにフラッシュします。
DbjObj#writePropertiesメソッドの，引数にプロパティ値集合（DbjPropSet）を指定できる形式を使用します。

設定されているプロパティ値を基に，新しいプロパティ値に更新する場合

更新したいプロパティの値を，Proxyオブジェクトにロードします。
DbjObj#readPropertiesメソッドを使用します。

Proxyオブジェクトのターゲットプロパティ値集合プロパティの値を更新します。
Proxyオブジェクトのターゲットプロパティ値集合プロパティの値の操作には，DbjObj#PropSetメソッドで取得できるDbjPropSetインターフェースを使用します。このインターフェースでは，プロパティ値集合の値を参照するメソッド（getIntValメソッド，getStringValメソッドなど）が定義されています。また，プロパティ値集合の値を更新するメソッド（setPropValメソッドおよびsetPropRefメソッド）も定義されています。

Proxyオブジェクトのターゲットプロパティ値集合プロパティの値のうち，特定のプロパティの値だけを文書管理オブジェクトに反映したい場合，反映するプロパティ名のコレクションを作成します。
例えば，Proxyオブジェクトにロードしたプロパティのうち，一部だけを文書管理オブジェクトにフラッシュしたい場合などに，そのプロパティを指定します。

プロパティ値集合の値を文書管理オブジェクトにフラッシュします。
DbjObj#writePropertiesメソッドの，引数のない形式またはプロパティ名のコレクションを指定できる形式を使用します。

ここでは，まず，プロパティ値集合（DbjPropSet）の値を文書管理オブジェクトに設定する例を示します。

// プロパティを更新する例1（プロパティ値集合の値で更新する例）

 // docspc：DbjDocSpaceインターフェース

// 更新するプロパティ値集合(TitleプロパティとAuthorプロパティ)を作成する
DbjPropSet props = factory.createPropSet();
props.setPropVal( "Title", "report" );
props.setPropVal( "Author", "suzuki" );

// DbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( oiid );

// 文書管理オブジェクトのプロパティ値を更新する
obj.writeProperties( props );

次に，Proxyオブジェクトのターゲットプロパティ値集合プロパティにロードしたプロパティの値を更新して，文書管理オブジェクトにフラッシュする例を示します。

// プロパティを更新する例2（Proxyオブジェクトの値をフラッシュする方法）

 // docspc：DbjDocSpaceインターフェース

// 参照するプロパティ名を要素とする一覧
// (TitleプロパティとAuthorプロパティ)を作成する
Set<String> propdef = new HashSet<String>();
propdef.add( "Title" );
propdef.add( "Author" );

// DbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( oiid );

// プロパティ値集合をProxyオブジェクトにロードする
obj.readProperties( propdef );

// Titleプロパティの値に'#'を追加する
String title = obj.propSet().getStringVal( "Title" ) + "#";
obj.propSet().setPropVal( "Title", title );

// 文書管理オブジェクトに
// TitleプロパティとAuthorプロパティの値をフラッシュする
obj.writeProperties();

Proxyオブジェクトのターゲットプロパティ値集合プロパティにロードしたプロパティの値を更新して，一部のプロパティの値だけを文書管理オブジェクトにフラッシュする例を示します。

// プロパティを更新する例3
// （Proxyオブジェクトの一部のプロパティの値をフラッシュする方法）

 // docspc：DbjDocSpaceインターフェース

// 参照するプロパティ名を要素とするコレクション
// (TitleプロパティとAuthorプロパティ)を作成する
Set<String> propdef = new HashSet<String>();
propdef.add( "Title" );
propdef.add( "Author" );

// DbjObjインターフェース取得
DbjObj obj = docspc.createObjConnection( oiid );

// プロパティ値集合をProxyオブジェクトにロードする
obj.readProperties( propdef );

// Titleプロパティの値に'#'を追加する
String title = obj.propSet().getStringVal( "Title" ) + "#";
obj.propSet().setPropVal( "Title", title );

// 文書管理オブジェクトに
// Titleプロパティの値だけをフラッシュする
Set<String> updateprop = new HashSet<String>();
updateprop.add( "Title" );
obj.writeProperties( updateprop );

(3)　バージョン付きオブジェクトのプロパティの操作

バージョン付きオブジェクトのプロパティを操作する場合，バージョニングオブジェクトのプロパティとバージョンオブジェクトのプロパティを同時に操作できます。

バージョニングオブジェクトのプロパティとバージョンオブジェクトのプロパティは，データベース上では，次に示すように異なるDocumentBrokerオブジェクト上に定義されています。

バージョニングオブジェクトのプロパティ

dmaClass_ConfigurationHistoryクラスまたはそのサブクラスのオブジェクトに定義されています。

バージョンオブジェクトのプロパティ

バージョン付き文書の場合は，dmaClass_DocVersionクラスまたはそのサブクラスのオブジェクトに定義されています。

バージョニングオブジェクトのプロパティとバージョンオブジェクトのプロパティは，バージョンオブジェクトのプロパティ名に@プレフィックスを付けて指定することで，明示的に区別して指定します。

例えば，バージョン付き文書のバージョニングオブジェクトに文書全体の著者名を表すAuthorプロパティが定義されていて，バージョンオブジェクトにもバージョンごとの著者名を表すAuthorプロパティが定義されている場合，バージョンオブジェクトのAuthorプロパティは，"@Author"として指定します。これは，Proxyオブジェクトのターゲットプロパティ値集合プロパティにロードしたプロパティ値集合を扱う場合でも同じです。バージョニングオブジェクトとバージョンオブジェクトのプロパティを同時に操作する場合は，バージョンオブジェクトのプロパティ名に「@」を付けて区別します。

ただし，バージョン付きオブジェクトのプロパティを扱う場合でも，バージョンオブジェクトのDbjObjインターフェースを取得して操作する場合には，「@」は付けません。例えば，バージョン付きオブジェクトから直接カレントバージョンのプロパティを取得する場合は「@」を付けますが，バージョン付きオブジェクトからカレントバージョンのDbjObjインターフェースを取得して，そのインターフェースを使用してバージョンオブジェクトのプロパティを取得する場合は「@」を付けません。

バージョン付きオブジェクトのプロパティの操作を次の図に示します。

図1-13　バージョン付きオブジェクトのプロパティの操作

ここでは，バージョニングオブジェクトのAuthorプロパティとバージョンオブジェクトのAuthorプロパティを同時に取得して参照する例を示します。

// バージョン付きオブジェクトのプロパティを参照する例

 //docspc：DbjDocSpaceインターフェース

// 参照するプロパティ名を要素とするコレクションを作成する
Set<String> propdef = new HashSet<String>();
propdef.add( "Author" );
propdef.add( "@Author" );

// バージョニングオブジェクトのDbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( oiid );

// プロパティ値集合をProxyオブジェクトにロードする
obj.readProperties( propdef );

// バージョニングオブジェクトのAuthorプロパティを取得する
String authorOfVersioning = obj.propSet().getStringVal("Author");

// バージョンオブジェクトのAuthorプロパティを取得する
String authorOfVersion = obj.propSet().getStringVal("@Author");

(4)　VARRAY型のプロパティの参照

VARRAY型のプロパティは，可変長配列を値とするプロパティです。可変長配列は，パラメタクラスのDbjVArrayインターフェースを使用して操作します。

VARRAY型のプロパティの値は，次のどちらかの方法で取得できます。

Proxyオブジェクトに設定されているプロパティ値集合からDbjPropSetインターフェースを使用して取得する

検索結果集合からDbjResultSetインターフェースを使用して取得する

これらのインターフェースを使用して，VARRAY型のプロパティを参照する手順は，次のとおりです

Proxyオブジェクトに文書管理オブジェクトのプロパティをロードして，DbjPropSetインターフェースを取得します。または，検索を実行して，検索結果集合のDbjResultSetインターフェースを取得します。

DbjPropSetインターフェースまたはDbjResultSetインターフェースからDbjVArrayインターフェースを取得します。

DbjPropSet#getVArrayRefメソッドまたはDbjResultSet#getVArrayRefメソッドを使用した場合は，VARRAY型のプロパティに設定された可変長配列の参照を取得できます。

DbjPropSet#getVArrayValメソッドまたはDbjResultSet#getVArrayValメソッドを使用した場合は，VARRAY型のプロパティに設定された可変長配列のコピーを取得できます。

DbjVArrayインターフェースのメソッドで値を取得します。

ここでは，DbjPropSetインターフェースを使用してVARRAY型のプロパティを参照する例を示します。この例では，次の図に示す文書管理オブジェクトのVARRAY型のプロパティを対象にします。

図1-14　例で使用するVARRAY型のプロパティ

// VARRAY型のプロパティを参照する例

 //docspc：DbjDocSpaceインターフェース

Set propdef = new HashSet();
propdef.add( "arr" );

// VARRAY型のプロパティの値をロードする
DbjObj obj = docspc.createObjConnection( oiid );
obj.readProperties( propdef );

// Proxyオブジェクトのターゲットプロパティ値集合プロパティから，
// DbjVArrayインターフェースの参照を取得する
DbjVArray varray = obj.propSet().getVArrayRef( "arr" );

// VARRAY型のプロパティの各要素の値を出力する
for (int i=0; i<varray.size();i++){
 System.out.println("Title["+i+"]="
                 varray.propSet(i).getStringVal( "Title" ) );
 System.out.println("Author["+i+"]="
                 varray.propSet(i).getStringVal( "Author" ) );
}

(5)　VARRAY型のプロパティの更新

VARRAY型のプロパティは，次のような手順で更新します。

可変長配列の要素に指定するプロパティ名のコレクションを作成します。

可変長配列を作成します。

可変長配列の要素を作成します。

要素に値を設定します。

4.を可変長配列の要素として追加します。
4.と5.は要素の数だけ繰り返します。

可変長配列を，VARRAY型のプロパティの値としてプロパティ値集合に設定します。

プロパティ値集合を，文書管理オブジェクトにフラッシュします。

VARRAY型のプロパティを更新する例を示します。なお，対象とするVARRAY型のプロパティは，図1-14と同じです。

// VARRAY型のプロパティを更新する例

 // factory：DbjFactoryインターフェース
 // docspc：DbjDocSpaceインターフェース
 // obj：DbjObjインターフェース

// 可変長配列の要素のプロパティ名のコレクションを作成する
Set<String> propdef = new HashSet<String>();
propdef.add( "Title" );
propdef.add( "Author" );
propdef.add( "Number" );

// 可変長配列を作成する
DbjVArray varray = factory.createVArray( propdef );

// 可変長配列の要素を作成する
DbjPropSet elm = factory.createPropSet();

// 一つ目の要素に値を設定する
elm.setPropVal( "Title" , "report1" );
elm.setPropVal( "Author" , "suzuki" );

// 可変長配列に一つ目の要素を追加する
varray.addPropSet( elm );

// 二つ目の要素に値を設定する
elm.setPropVal( "Title" , "report2" );
elm.setPropVal( "Author" , "hitachi" );

// 可変長配列に二つ目の要素を追加する
varray.addPropSet( elm );

// Numberプロパティの値を要素ごとに設定する
for(int i = 0; i < varray.size(); i ++ ) {
   // 可変長配列の要素を参照してNumberプロパティの値を設定する
   varray.propSet(i).setPropVal( "Number", i );
}

// プロパティ値集合を作成する
// （arrプロパティに可変長配列の値を設定する）
DbjPropSet props = factory.createPropSet();
props.setPropVal( "arr" , varray );

// 文書管理オブジェクトにプロパティ値集合をフラッシュする
obj.writeProperties( props );

(6)　そのほかのオブジェクトのプロパティの操作

レンディションのプロパティの操作，およびリンクオブジェクトのプロパティの操作は，この項で説明したプロパティの操作とは異なるインターフェースおよびメソッドを使用して実行します。

レンディションのプロパティの操作については，「1.10.11　マルチレンディション文書のレンディションの操作」を参照してください。

リンクオブジェクトのプロパティの操作については，「1.10.13　リンクの操作」を参照してください。

1.10.8　文書管理オブジェクトの削除

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

文書管理オブジェクトは，DbjObj#removeObjectメソッドで削除します。正常に削除された場合は，trueが返却されます。すでに削除されている文書管理オブジェクトを削除しようとした場合は，例外ではなくfalseが返却されます。それ以外の原因で文書管理オブジェクトが削除されなかった場合は，例外がスローされます。

文書管理オブジェクトを削除する例を示します。

// 文書管理オブジェクトを削除する例

 // docspc：DbjDocSpaceインターフェース

// DbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( oiid );

// 文書管理オブジェクトを削除する
if ( !obj.removeObject() ) {
 // falseが返却された場合，すでに削除されている旨を出力する
 System.out.println("Object has been already removed.");
}

1.10.9　文書のコンテンツの操作

ここでは，文書のコンテンツの操作について説明します。

なお，バージョン付き文書のコンテンツを操作する場合，デフォルトの設定では，カレントバージョンのコンテンツが対象になります。操作対象のバージョンを変更する場合は，DbjObj#setTargetVersionメソッドを実行して，ターゲットバージョンを変更してください。

文書のコンテンツ管理の考え方については，マニュアル「DocumentBroker Version 5　概説」の「レンディション管理モデル」の説明を参照してください。

＜この項の構成＞

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

(2)　コンテンツのアップロード

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

ここでは，文書のコンテンツをローカルパスのファイルにダウンロードして，参照する操作について説明します。

文書のコンテンツは，DbjObj#downloadContentsメソッドでダウンロードします。DbjObj#downloadContentsメソッドの引数に指定するファイルパスには，ローカルパスを指定します。

手順を示します。

DbjObjインターフェースを取得します。
コンテンツをダウンロードする文書管理オブジェクトのoiidを指定して，DbjDocSpace#createObjConnectionメソッドを実行します。

コンテンツをダウンロードします。
DbjObj#downloadContentsメソッドを実行します。メソッド実行時には，次の情報を指定します。

コンテンツをダウンロードするレンディションのレンディションタイプ

ダウンロード先のファイル

マルチレンディション文書の場合，レンディションタイプを指定してダウンロードするコンテンツを特定します。レンディションタイプにnullを指定した場合は，マスタレンディションのコンテンツがダウンロードできます。ダウンロードしたコンテンツは，ダウンロード先ファイルとして指定したパスに，指定したファイル名でコピーされます。指定するファイル名は任意です。文書管理オブジェクトのdbrProp_RetrievalNameプロパティの値と同じにする必要はありません。

コンテンツをダウンロードする例を示します。この例では，マスタレンディションのコンテンツを「test.doc」にダウンロードします。

// コンテンツをダウンロードする例

 // factory：DbjFactoryインターフェース
 // obj：DbjObjインターフェース

// ダウンロードするパスを指定する（ファイル名を含む）
File dwlFile1 = new File( parentdir, "test.doc" );

// マスタレンディションのコンテンツを
// dwlFilePathで指定したパスにダウンロードする
DbjContentInfo  continfo1 = obj.downloadContents(
                           null,
                           dwlFile1.getCanonicalPath() );

(2)　コンテンツのアップロード

ローカルパス上のファイルの内容をアップロードして，文書のコンテンツを更新する操作について説明します。

文書のコンテンツは，DbjObj#uploadContentsメソッドでアップロードします。DbjObj#uploadContentsメソッドの引数に指定するファイルパスには，ローカルパスを指定します。

手順を示します。

文書のアップロード情報を作成します。
文書のアップロード情報は，DbjUploadInfoインターフェースで表します。
DbjUploadInfoインターフェースを使用する場合，次の情報を指定します。

アップロードするファイルのファイルパス

アップロードするファイルのファイル名

文書に設定するレンディションタイプ

レンディションのプロパティ

全文検索インデクス作成用のファイルパス
全文検索インデクス作成用の指定は，マスタレンディションのコンテンツを更新する場合にだけ有効です。

コンテンツをアップロードします。
DbjObj#uploadContentsメソッドを実行します。メソッド実行時には，次の情報を指定します。

アップロードの対象にするレンディションタイプ

文書のアップロード情報

コンテンツをアップロードする時に，同時に全文検索インデクスを登録することもできます。全文検索インデクスは，次のどちらかの方法で作成できます。

アップロードするコンテンツから自動作成して登録する（特定のレンディションタイプのファイルをコンテンツに登録する場合）

アップロードするコンテンツとは別に，全文検索インデクス作成用のファイルを指定して登録する

全文検索インデクスの作成方法については，マニュアル「DocumentBroker Version 5　概説」を参照してください。

なお，マルチレンディション文書の場合，全文検索インデクスは，レンディションタイプにnullを指定し，マスタレンディションに対してコンテンツをアップロードする場合にだけ作成されます。サブレンディションのコンテンツをアップロードする場合には，全文検索インデクス作成の指定は無視されます。マルチレンディション文書のコンテンツのアップロードについては，「1.10.11　マルチレンディション文書のレンディションの操作」を参照してください。

文書のアップロード情報に指定するレンディションタイプと，DbjObj#uploadContentsメソッドの引数に指定するレンディションタイプが異なる場合は，コンテンツをアップロードしたレンディションのレンディションタイプが，文書のアップロード情報に指定したレンディションタイプに変更されます。なお，マルチレンディション文書の場合に，マスタレンディションにコンテンツが登録されていないとき，またはDbjObj#uploadContentsメソッドの引数のレンディションタイプにnullを指定したときは，マスタレンディションのコンテンツが更新されます。

コンテンツをアップロードする例を示します。この例では，「tmp.html」というファイルを登録します。文書管理オブジェクトのdbrProp_RetrievalNameプロパティは，「test.html」と設定します。また，登録するコンテンツから全文検索インデクスを作成します。

// コンテンツをアップロードする例

 // factory：DbjFactoryインターフェース
 // obj：DbjObjインターフェース

// アップロードするコンテンツのファイルパスを指定する
File uplFile = new File( parentdir, "tmp.html" );

// 文書のアップロード情報を作成する
// (レンディションタイプは拡張子から自動設定するようにする)
DbjUploadInfo upinfo = factory.createUploadInfo(
               uplFile.getCanonicalPath(),
               "test.html",   // retrievalNameプロパティを指定
               null,          // レンディションタイプを指定
                              // （ここでは拡張子（.html）から決定する）
               null,
               DbjDef.INDEXPATH_SAME );
                              // 全文検索インデクス作成

// マスタレンディションにコンテンツをアップロードする
obj.uploadContents(
               null,          // マスタレンディションが対象
               upinfo );      // 文書のアップロード情報を指定

1.10.10　バージョン付きオブジェクトのバージョン操作

ここでは，バージョン付きオブジェクトのバージョン操作について説明します。

次に示す操作は，バージョニングオブジェクトのインターフェースを使用して実行します。

バージョンのチェックアウト

バージョンのチェックイン

バージョンのチェックアウトの取り消し

バージョンオブジェクトの一覧取得

バージョンの削除

なお，チェックアウト，チェックインまたはチェックアウトの取り消しと同時に，仮のバージョンオブジェクトまたはカレントバージョンのバージョンオブジェクトにプロパティを設定できます。

次の操作は，バージョンオブジェクトのインターフェースを使用して実行します。

バージョン識別子の取得

バージョンオブジェクトからバージョニングオブジェクトの取得

バージョン管理の考え方については，マニュアル「DocumentBroker Version 5　概説」の「バージョン管理モデル」を参照してください。

＜この項の構成＞

(1)　チェックアウト

(2)　チェックイン

(3)　チェックアウトの取り消し

(4)　バージョンオブジェクトの一覧の取得

(5)　バージョンの削除

(6)　バージョニングオブジェクトのインターフェースの取得

(7)　バージョン識別子の取得

(1)　チェックアウト

チェックアウトは，バージョニングオブジェクトのインターフェースを使用して，DbjObj#checkOutメソッドで実行します。

また，チェックアウトをする時に，チェックアウト中のバージョニングオブジェクトおよび仮のバージョンオブジェクトに対して，プロパティを設定できます。なお，チェックアウト後のターゲットバージョンは，仮のバージョンになります。

チェックアウトの例を示します。この例では，チェックアウトしたバージョニングオブジェクトおよび仮のバージョンオブジェクトに対して，次のプロパティを設定します。

バージョニングオブジェクトのCheckOutFlagプロパティに，チェックアウト中であることを示す値「1」を設定する。

仮のバージョンオブジェクトのVerCountプロパティに，バージョン番号を示す値「チェックアウト前のバージョン番号+1」を設定する。

// チェックアウトの例

 // obj：DbjObjインターフェース

// Proxyオブジェクトに取得するプロパティ名を設定する
Set<String> propdef = new HashSet<String>();
propdef.add( "CheckOutFlag" );
propdef.add( "@VerCount" );

// カレントバージョンのプロパティをProxyオブジェクトにロードする
obj.readProperties( propdef );

// プロパティの値を更新する
obj.propSet().setPropVal("@VerCount",
       obj.propSet().getIntVal("@VerCount") + 1 );
obj.propSet().setPropVal("CheckOutFlag", 1 );

// チェックアウトと同時にProxyオブジェクトのプロパティを
// バージョニングオブジェクトおよび
// 仮のバージョンオブジェクトのプロパティにフラッシュする
obj.checkOut();

チェックアウト後のプロパティの値は，次の図に示すようになります。

図1-15　チェックアウト後のプロパティの値

(2)　チェックイン

チェックアウトしたバージョン付きオブジェクトは，バージョニングオブジェクトのインターフェースを使用して，DbjObj#checkInメソッドでチェックインします。

また，チェックインする時に，チェックイン後のカレントバージョンオブジェクトに対して，プロパティを設定できます。なお，チェックイン後のターゲットバージョンは，カレントバージョンになります。

チェックインの例を示します。この例では，(1)でチェックアウトしたバージョン付きオブジェクトをチェックインします。同時に，バージョニングオブジェクトのCheckOutFlagプロパティの値を，チェックアウト中ではないことを示す値「0」に更新します。

// チェックインの例

 // obj : DbjObjインターフェース

// ProxyオブジェクトのCheckOutFlagプロパティの値を設定する
obj.propSet().setPropVal( "CheckOutFlag", 0 );

// チェックインと同時にプロパティの値をフラッシュする
obj.checkIn();

チェックイン後のプロパティの値は，次のようになります。

図1-16　チェックイン後のプロパティの値

(3)　チェックアウトの取り消し

チェックアウトを取り消す場合は，バージョニングオブジェクトのインターフェースを使用して，DbjObj#cancelCheckOutメソッドで取り消します。

チェックアウトを取り消す場合，取り消したあとのカレントバージョンオブジェクトに対してプロパティを設定できます。なお，チェックアウト時にバージョニングオブジェクトのプロパティを設定した場合，チェックアウトを取り消した時に元のプロパティの値に戻したい場合は，明示的にチェックアウト前の値でプロパティを更新し直す必要があります。また，チェックイン後のターゲットバージョンは，チェックアウト前のカレントバージョンになります。

チェックアウトの取り消しの例を示します。この例では，(1)でチェックアウトしたバージョン付きオブジェクトのチェックアウトを取り消します。同時に，チェックアウトした時に設定したプロパティの値も元に戻すように更新します。

//チェックアウトの取り消しの例

 // obj：DbjObjインターフェース

// ProxyオブジェクトのCheckOutFlagプロパティに
// チェックアウト前の値を設定する
obj.propSet().setPropVal( "CheckOutFlag", 0 );

// チェックアウトの取り消しと同時にプロパティ値も元に戻す
obj.cancelCheckOut();

チェックアウト取り消し後には，バージョニングオブジェクトのCheckOutFlagプロパティの値は「0」に，カレントバージョンオブジェクトのVerCountプロパティの値は「1」になります。

(4)　バージョンオブジェクトの一覧の取得

バージョン付きオブジェクトに含まれるバージョンオブジェクトの一覧は，DbjObj#getVersionObjListメソッドで取得します。また，バージョンオブジェクトの一覧を取得する時に，任意のプロパティの値を同時に取得することもできます。

バージョンオブジェクトの一覧を取得する例を示します。この例では，バージョンオブジェクトのうち，最も古いバージョンのCounterプロパティを取得して，値を更新します。

// バージョンオブジェクトの一覧を取得する例

 // obj : DbjObjインターフェース

// 取得するプロパティ名を設定する
Set<String> propdef = new HashSet<String>();
propdef.add( "Counter" );

// バージョン一覧を昇順(古いものから順番)に取得する
DbjVerObjList verlst = obj.getVersionObjList(
                        propdef,
                        DbjDef.ORDER_ASC,
                        null );

// 最も古いバージョンオブジェクトのインターフェースを取得する
DbjVerObj oldestVersion = verlst.getVerObj(0);

// 最も古いバージョンオブジェクトのCounterプロパティの値を1増やす
int counter = oldestVersion.propSet().getIntVal( "Counter" );
counter ++;
oldestVersion.propSet().setPropVal( "Counter", counter );

// Proxyオブジェクトのプロパティの値を文書管理オブジェクトに
// フラッシュする
oldestVersion.writeProperties();

(5)　バージョンの削除

バージョン付きオブジェクトの特定のバージョンを削除する場合は，DbjObj#deleteVersionメソッドを実行します。削除するバージョンは，メソッドの引数にバージョン識別子を指定することによって特定します。複数のバージョン識別子をリストとして指定すると，複数のバージョンを一括して削除できます。ただし，すべてのバージョンを削除することはできません。少なくとも一つのバージョンは残しておく必要があります。

なお，DbjObj#deleteVersionメソッドは，バージョニングオブジェクトのインターフェースで実行します。この操作の結果は，削除するバージョンオブジェクトのインターフェースを使用して，DbjObj#removeObjectメソッドを実行した場合と同じです。

バージョンを削除する例を示します。この例では，最新バージョン以外のバージョンを削除します。

// バージョンを削除する例

 // obj：DbjObjインターフェース

// バージョン一覧を降順(新しいものから順番)に取得する
DbjVerObjList verlst = obj.getVersionObjList(
             null,
             DbjDef.ORDER_DESC,
             null );

// 削除するバージョン識別子のリストを作成する
// リストから，最新バージョンのバージョン識別子だけを削除する
List<String> delVersionList = verlst.getVersionIdList();
delVersionList.removeObjects(0);

// 一覧に指定したバージョン識別子のバージョンを一括削除する
obj.deleteVersion( delVersionList );

(6)　バージョニングオブジェクトのインターフェースの取得

バージョンオブジェクトのインターフェースからバージョニングオブジェクトのインターフェースを取得するには，DbjObj#getVersioningInfoメソッドを実行します。

バージョニングオブジェクトのインターフェースを取得する例を示します。この例では，バージョンオブジェクトのインターフェースからバージョニングオブジェクトのインターフェースを取得します。その後，バージョニングオブジェクトでまとめているバージョンオブジェクトの一覧を取得します。

// バージョニングオブジェクトのインターフェースを取得する例

 // obj：DbjObjインターフェース
 // （バージョンオブジェクトのインターフェース）

// バージョンオブジェクトのインターフェースからバージョニングオブジェクトの
// インターフェースを取得する
DbjObj versioningObj = obj.getVersioningInfo();

// バージョニングオブジェクトのバージョン一覧を
// 降順(新しいものから順番)で取得する
DbjVerObjList verlst = versioningObj.getVersionObjList(
             null,
             DbjDef.ORDER_DESC,
             null );

(7)　バージョン識別子の取得

ここでは，バージョン識別子の取得について説明します。バージョン識別子は，次のどちらかのメソッドで取得します。

DbjObj#getVersionIdメソッド

DbjVerObj#getVersionIdメソッド

DbjVerObjインターフェースは，ターゲットオブジェクトのバージョン識別子をプロパティに持っています。DbjVerObj#getVersionIdメソッドでは，このプロパティの値を取得します。

DbjObjインターフェースを使用して，バージョン識別子を取得する例を示します。この例では，まず，バージョンオブジェクトのインターフェースでバージョン識別子を取得し，そのあとでバージョニングオブジェクトのインターフェースで取得したバージョン識別子を持つバージョンオブジェクトを削除します。

// バージョン識別子を取得する例

 // obj：DbjObjインターフェース
 // （バージョンオブジェクトのインターフェース）

// バージョン識別子を取得する
String versionId = obj.getVersionId();

// バージョニングオブジェクトを取得する
DbjObj versioningObj = obj.getVersioningInfo();

// バージョン識別子を指定してバージョンを削除する
List<String> dels = new ArrayList<String>();
dels.add( versionId );
versioningObj.deleteVersion( dels );

1.10.11　マルチレンディション文書のレンディションの操作

ここでは，マルチレンディション文書に対する次の操作について説明します。

マルチレンディション文書の作成

レンディションの追加

レンディションの削除

レンディションの変更

レンディションのプロパティの操作

なお，バージョン付き文書のレンディションを操作する場合，デフォルトの設定では，カレントバージョンのレンディションが対象になります。操作対象のバージョンを変更する場合は，DbjObj#setTargetVersionメソッドを実行して，ターゲットバージョンを変更してください。

マルチレンディション文書の管理の考え方については，マニュアル「DocumentBroker Version 5　概説」の「レンディション管理モデル」を参照してください。

＜この項の構成＞

(1)　マルチレンディション文書の作成

(2)　レンディションの追加

(3)　レンディションの削除

(4)　マスタレンディションの変更

(5)　レンディションを指定したコンテンツの更新

(6)　レンディションタイプの変更

(7)　レンディションのプロパティの参照

(8)　レンディションのプロパティの更新

(1)　マルチレンディション文書の作成

マルチレンディション文書は，次のどちらかの方法で，文書に複数のレンディションを登録して作成します。

文書作成時に，複数のレンディションを同時に登録する

既存の文書に対して，レンディションを追加する

ここでは，文書作成時に，複数のレンディションを登録することで，マルチレンディション文書を作成する方法について説明します。

文書の作成時に複数のレンディションを登録する場合，まず，複数の文書のアップロード情報（DbjUploadInfoインターフェース）を要素にしたリストを作成します。リストには，マスタレンディションにする文書のアップロード情報を，先頭の要素として指定してください。このリストを，DbjDocSpace#createDocumentメソッドまたはDbjDocSpace#createVrDocumentメソッドの引数に指定して，メソッドを実行します。

リストは，次の点に注意して作成してください。

全文検索インデクス作成の指定は，リストの先頭に指定した文書のアップロード情報だけで有効です。

マルチレンディション文書を作成する例を示します。

// マルチレンディション文書を作成する例

 //factory：DbjFactoryインターフェース
 //docspc：DbjDocSpaceインターフェース

File uplFilePath_doc = new File( parentdir, "test.doc" );

//文書のアップロード情報のリストを作成する（要素は二つ）
DbjUploadInfo upinfo_doc = factory.createUploadInfo(
                    uplFilePath_doc.getCanonicalPath(),
                    originalFileName_doc,
                    null,
                    null,
                    null );
DbjUploadInfo upinfo_pdf = factory.createUploadInfo(
                    null,
                    originalFileName_pdf,
                    null,
                    null,
                    null ); // 全文検索インデクス指定は無効

// リストを作成する
List<DbjUploadInfo> uplist = new ArrayList<DbjUploadInfo>();

// 文書のアップロード情報をリストに追加する
uplist.add( upinfo_doc ); // マスタレンディションになる
uplist.add( upinfo_pdf );

// 文書を作成する
// （test.docとtest.pdfが初期登録される)
DbjObj obj = docspc.createDocument(
            "mdmClass_Document",
            null,
            uplist,// 文書のアップロード情報のリスト
            null );

(2)　レンディションの追加

既存の文書に対してレンディションを追加する場合，DbjObj#addRenditionメソッドを実行します。複数の文書のアップロード情報を要素にしたリストをメソッドの引数に指定すれば，複数のレンディションを同時に追加できます。

なお，レンディション追加時に，次の機能は使用できません。

全文検索インデクスは作成できません。文書のアップロード情報に全文検索インデクス作成の指定をしても，無効です。

サブレンディションを追加する例を示します。

// サブレンディションを追加する例

 // docspc：DbjDocSpaceインターフェース
 // obj：DbjObjインターフェース

// 文書のアップロード情報を作成する
DbjUploadInfo upinfo_pdf = factory.createUploadInfo(
                    null,
                    originalFileName_pdf,
                    null,
                    null,
                    null ); // 全文検索インデクス指定は無効

// リストを作成する
List<DbjUploadInfo> uplist = new ArrayList<DbjUploadInfo>();

// 文書のアップロード情報をリストに追加する
uplist.add( upinfo_pdf );

// 既存の文書にレンディションを追加する
// (pdf形式のレンディションが追加される)
obj.addRendition( uplist );

(3)　レンディションの削除

レンディションは，DbjObj#deleteRenditionメソッドで削除できます。

メソッドの引数には，レンディションタイプを表す文字列を要素とするリストを指定します。要素のレンディションタイプを複数にすると，複数のレンディションを一括して削除できます。

複数のレンディションを一括して削除する例を示します。

// 複数のレンディションを一括して削除する例

 // obj：DbjObjインターフェース

// 削除対象のレンディションタイプを指定したリストを作成する
List<String> renlist = new ArrayList<String>();
renlist.add( "text/plain" );
renlist.add( "text/html" );

// レンディションを一括して削除する
obj.deleteRendition( renlist );

(4)　マスタレンディションの変更

マスタレンディションは，DbjObj#changeMasterRenditionメソッドで変更できます。

マスタレンディションを変更する例を示します。この例では，レンディションタイプが「text/html」のレンディションを，マスタレンディションに変更します。

// マスタレンディションの変更例

 // obj：DbjObjインターフェース

obj.changeMasterRendition( "text/html" );

(5)　レンディションを指定したコンテンツの更新

DbjObj#uploadContentsメソッド実行時に，レンディションを指定してコンテンツを更新できます。

なお，レンディションタイプにnullを指定してマスタレンディションのコンテンツを更新する時以外は，全文検索インデクスは更新できません。

レンディションを指定してコンテンツを更新する例を示します。

// レンディションを指定してコンテンツを更新する例

 // factory：DbjFactoryインターフェース
 // obj：DbjObjインターフェース

//アップロードするコンテンツのファイルパスを指定する
File uplFile_txt = new File( parentdir, "test.txt" );
File uplFile_doc = new File( parentdir, "test.doc" );

// マスタレンディションの文書のアップロード情報を作成する
DbjUploadInfo upinfo_txt = factory.createUploadInfo(
                  uplFile_txt.getCanonicalPath(),
                  "test.txt",    // retrievalNameプロパティを指定
                  "text/plain",  // レンディションタイプを指定
                  null,
                  DbjDef.INDEXPATH_SAME );
                                 // マスタレンディションを更新する
                                 // 場合だけ有効になる

// サブレンディションの文書のアップロード情報を作成する
DbjUploadInfo upinfo_doc = factory.createUploadInfo(
                  uplFile_doc.getCanonicalPath(),
                  "test.doc",    // retrievalNameプロパティを指定
                  "application/ms-word",
                                 // レンディションタイプを指定
                  null,
                  null );

// マスタレンディション（text/plain）にコンテンツをアップロードする
// （マスタレンディションはtext/plainであるとする）
obj.uploadContents(
           null,                  // マスタレンディションを指定
           upinfo_txt );          // 文書のアップロード情報を指定

// サブレンディション（application/ms-word）にコンテンツを
// アップロードする
obj.uploadContents(
           "application/ms-word", // レンディションタイプを指定
           upinfo_doc );          //文書のアップロード情報を指定

(6)　レンディションタイプの変更

登録済みのレンディションタイプは，DbjObj#uploadContentsメソッドを実行してコンテンツをアップロードする時に変更できます。変更する場合は，コンテンツをアップロードする時に，メソッドの引数に指定するレンディションタイプと，文書のアップロード情報に指定するレンディションタイプに，異なるレンディションタイプを指定します。

それぞれに指定するレンディションタイプは，次のとおりです。

メソッドの引数に指定するレンディションタイプ

コンテンツをアップロードする対象になるレンディションのレンディションタイプを指定します。例えば，「application/ms-word」というレンディションタイプを指定した場合は，このレンディションタイプを持つマスタレンディションまたはサブレンディションのコンテンツが，更新する対象になります。ただし，マスタレンディションにコンテンツが登録されていない場合，またはレンディションタイプとしてnullを指定した場合は，マスタレンディションのコンテンツが対象になります。

文書のアップロード情報に指定するレンディションタイプ

登録するコンテンツに設定するレンディションタイプを指定します。nullを指定した場合は，登録するファイルの拡張子とレンディション定義ファイルの内容に従って，レンディションタイプが設定されます。

メソッドの引数に指定したレンディションタイプと文書のアップロード情報に指定したレンディションタイプが異なる場合，更新するレンディションのレンディションタイプを，文書のアップロード情報に指定したレンディションタイプで変更することになります。例えば，

DbjUploadInfo upinfo = factory.createUploadInfo(
           uplfilePath,
           "test.html"
           "text/html",
           null,
           null );
obj.uploadContents(
           "text/plain",
           upinfo );

という指定をした場合は，「text/plain」というレンディションタイプのレンディションのコンテンツにファイル「test.html」を登録して，同時にレンディションタイプを「text/html」に変更することになります。ただし，文書のアップロード情報のレンディションタイプに，すでにほかのレンディションのレンディションタイプとして登録されているレンディションタイプを指定した場合は，エラーになり，例外がスローされます。

なお，マスタレンディションのレンディションタイプ変更時以外は，全文検索インデクスを作成できません。

レンディションタイプを変更する例を示します。ここでは，「text/plain」と登録していたレンディションタイプを，「text/html」に変更します。

// レンディションタイプを変更する例

 // factory：DbjFactoryインターフェース
 // obj：DbjObjインターフェース

// アップロードするコンテンツのパスを設定する
File uplFilePath = new File( parentdir, "test.html" );

// 文書のアップロード情報を作成する
DbjUploadInfo upinfo = factory.createUploadInfo(
              uplFilePath,
              "test.html",  // retrievalNameプロパティを指定
              "text/html",  // 変更後のレンディションタイプ
              null,
              null );

// マスタレンディションのレンディションタイプを変更する
// (text/plain -> text/htmlに変更する)
obj.uploadContents(
              null,         // マスタレンディションが対象
              upinfo );     // 文書のアップロード情報

(7)　レンディションのプロパティの参照

レンディションのプロパティは，DbjObj#getRenditionListメソッドを使用して参照します。レンディションのプロパティとして参照できるのは，dbrProp_RetrievalNameプロパティおよびdbrProp_RenditionStatusプロパティです。

なお，DbjObj#getRenditionListメソッドを実行すると，文書中のすべてのレンディションのプロパティが，リストで取得できます。特定のレンディションのプロパティだけを取得することはできません。

レンディションのプロパティを参照する例を示します。

// レンディションのプロパティを参照する例

 // obj：DbjObjインターフェース

// 取得するプロパティ名のコレクションを作成する
Set<String> propdef = new HashSet<String>();
propdef.add("dbrProp_RetrievalName");

// dbrProp_RetrievalNameプロパティのリストを取得する
DbjRenditionList renlist = obj.getRenditionList( propdef );

// 取得したレンディションのプロパティを一覧表示する
for ( int i = 0; i < renlist.size(); i ++ ) {
 System.out.println( renlist.getRenditionInfo(i)
      .propSet().getStringVal("dbrProp_RetrievalName") );
}

なお，マスタレンディションのプロパティは，DbjRenditionListインターフェースおよびDbjRenditionInfoインターフェースを使わないで，ほかのプロパティと同様の方法でも参照できます。

マスタレンディションのdbrProp_RetrievalNameプロパティを参照する例を示します。

// マスタレンディションのdbrProp_RetrievalNameプロパティを参照する例

 // docspc：DbjDocSpaceインターフェース

// 取得するプロパティ名のコレクションを作成する
Set<String> propdef = new HashSet<String>();
propdef.add("dbrProp_RetrievalName");

DbjObj obj = docspc.createObjConnection( oiid );
// プロパティ値集合をProxyオブジェクトにロードする
obj.readProperties( propdef );

// プロパティの値を参照する
String retrievalName
 = obj.propSet().getStringVal("dbrProp_RetrievalName");

(8)　レンディションのプロパティの更新

レンディションのプロパティは，DbjObj#writeRenditionPropertiesメソッドで更新します。レンディションのプロパティとして参照できるのは，dbrProp_RetrievalNameプロパティおよびdbrProp_RenditionStatusプロパティです。

レンディションのプロパティを更新する例を示します。

// レンディションのプロパティを更新する例

 // factory：DbjFactoryインターフェース
 // obj：DbjObjインターフェース

// レンディションのプロパティを更新するための
// プロパティ値集合を作成する
DbjPropSet props = factory.createPropSet();
props.setPropVal("dbrProp_RetrievalName", "a.txt");

// レンディションのプロパティを更新する
obj.writeRenditionProperties(
               "text/plain",// 対象にするレンディションタイプ
               props );

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

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

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

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

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

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

それぞれの操作に使用する各メソッドの詳細については，「6.　文書管理クラス詳細」を参照してください。

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

なお，リファレンスファイル文書の管理の考え方については，マニュアル「DocumentBroker Version 5　概説」の「リファレンスファイル文書の管理モデル」を参照してください。また，リファレンスファイルを管理するバージョン付き文書のバージョンの操作については，「1.10.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<DbjUploadInfo> uploadlist = new ArrayList<DbjUploadInfo>();
uploadlist.add( factory.createReferenceUploadInfo(
               null,
               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インターフェース

// コンテンツ格納先ベースパスは設定済み
// リファレンスファイル文書のパス情報を作成する
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 );

1.10.13　リンクの操作

ここでは，リンクの操作について説明します。

リンクを設定して管理できるのは，文書管理オブジェクトのうち，文書およびフォルダです。したがって，この項の説明中の文書管理オブジェクトとは，文書またはフォルダを指します。

また，フォルダを使用したリンクでは特に，リンク元オブジェクトであるフォルダを上位オブジェクト，リンク先オブジェクトである文書またはフォルダを下位オブジェクトといいます。

＜この項の構成＞

(1)　リンクの操作の概要

(2)　文書管理オブジェクト作成時のリンクの設定

(3)　既存の文書管理オブジェクト間のリンクの設定

(4)　リンクをたどる文書管理オブジェクトの参照

(5)　リンクのプロパティの操作

(6)　文書管理オブジェクトの移動

(7)　リンクの解除

(1)　リンクの操作の概要

ここでは，リンクの操作の概要について説明します。

DocumentBrokerクラスライブラリで設定できるリンクは，次の2種類です。

直接型リンク

参照型リンク

文書間リンク

リンク種別と，リンク元またはリンク先に設定できるオブジェクト種別の対応は，次に示す表のとおりです。

表1-8　リンク種別とリンク元またはリンク先に設定できるオブジェクト種別

リンク種別
リンク元オブジェクトの
オブジェクト種別
リンク先オブジェクトの
オブジェクト種別

直接型リンク
バージョンなしフォルダ
バージョンなし文書
バージョン付き文書
バージョンなしフォルダ

参照型リンク
バージョンなしフォルダ
バージョンなし文書
バージョン付き文書
バージョンなしフォルダ

文書間リンク
バージョンなし文書
バージョン付き文書
バージョンなし文書
バージョン付き文書

リンクの操作には，次の操作があります。

リンクの設定

リンクをたどる文書管理オブジェクトの参照

リンクのプロパティの操作

リンクの解除

リンクの操作には，文書またはフォルダのインターフェースであるDbjObjインターフェースを使用する方法と，リンクオブジェクトのインターフェースであるDbjLinkObjインターフェースを使用する方法があります。また，文書管理オブジェクトの作成と同時にリンクを設定する場合は，DbjDocSpaceインターフェースを使用してリンクを設定することもできます。なお，リンクオブジェクトは，リンク元の文書管理オブジェクトに属するオブジェクトです。DbjObjインターフェースを使用して操作する場合，リンクの設定，解除またはプロパティの変更などは，リンク元オブジェクトから実行します。リンクオブジェクトには，それぞれリンク識別子が設定されています。このリンク識別子を使用して，リンクを特定できます。

(2)　文書管理オブジェクト作成時のリンクの設定

リンクの設定には，2種類の方法があります。

文書管理オブジェクトを作成すると同時に既存の文書管理オブジェクトへのリンクを設定する方法

既存の文書管理オブジェクト同士をリンクで関連付ける方法

なお，文書管理オブジェクトごとに，設定できるリンクの種別は異なります。

ここでは，DbjDocSpaceインターフェースのcreateXXX（XXXは作成する文書管理オブジェクトの種別によって異なります）メソッドを実行して，文書管理オブジェクトの作成と同時に既存の文書管理オブジェクトへのリンクを設定する方法について説明します。文書管理オブジェクトの作成については，「1.9.3　文書管理オブジェクトの作成」を参照してください。

文書管理オブジェクト作成時に，既存のフォルダからリンクを設定する例を示します。この例では，バージョン付き文書を，作成すると同時に二つのフォルダからリンクさせます。一つのフォルダからは直接型リンク，もう一つのフォルダからは参照型リンクでリンクさせます。リンクさせるオブジェクトについての情報は，DbjSetLinkInfoインターフェースのサブインターフェースを要素とするリストで指定します。

// 文書管理オブジェクト作成時に，既存のフォルダからのリンクを設定する例

 // factory：DbjFactoryインターフェース
 // docspc：DbjDocSpaceインターフェース

// リンク設定情報のリストを作成する
// parentoiid1, parentoiid2はそれぞれ上位オブジェクトのOIID

List<DbjSetLinkInfo> linklist = new ArrayList<DbjSetLinkInfo> ();
linklist.add( factory.createSetDCRLinkInfo(
             docspc.createObjConnection( parentoiid1 ),null ) );
linklist.add( factory.createSetRCRLinkInfo(
             docspc.createObjConnection( parentoiid2 ),null ) );

// バージョン付き文書を作成する
DbjObj obj = docspc.createVrDocument(
        "mdmClass_CfgH",  
          // バージョニングオブジェクトのトップオブジェクトクラス
        "mdmClass_Document",
          // バージョンオブジェクトのトップオブジェクトクラス
        null,                 // 初期プロパティは設定しない
        null,                 // 初期コンテンツは登録しない
        linklist );           // リンク設定情報のリスト

(3)　既存の文書管理オブジェクト間のリンクの設定

ここでは，既存の文書管理オブジェクトからほかの文書管理オブジェクトにリンクを設定する方法について説明します。この操作には，リンク元オブジェクトの，DbjObj#linkメソッドを使用します。メソッドの引数には，リンク先オブジェクトを，次のどちらかのリストで指定します。

DbjSetLinkInfoインターフェースのサブインターフェースのリスト

DbjObjインターフェースのリスト

リストの要素をDbjSetLinkInfoインターフェースのサブインターフェースにすると，リンク先のオブジェクトごとにリンク種別を設定できます。例えば，「文書1は直接型リンクで関連付けて，文書2は参照型リンクで関連付けたい」という場合は，この形式を使用します。

リストの要素をDbjObjインターフェースにすると，リストに指定したすべてのリンク先オブジェクトを，引数に指定したリンク種別で一括して関連付けられます。例えば，「複数の文書をまとめて直接型リンクで関連付けたい」という場合は，この形式を使用できます。ただし，この形式で指定できるリンク種別は，直接型リンクまたは参照型リンクだけです。

ここでは，まず，リストの要素をDbjSetLinkInfoインターフェースのサブインターフェースにして，個々にリンク設定情報を指定する例を示します。

// DbjSetLinkInfoインターフェースを使用して
// 個々にリンク設定情報を指定する例

 // factory：DbjFactoryインターフェース
 // docspc：DbjDocSpaceインターフェース

// リンク設定情報のリストを作成する
// childoiid1, childoiid2はそれぞれリンク先オブジェクトのOIID
List<DbjSetLinkInfo> linklist = new ArrayList<DbjSetLinkInfo> ();
linklist.add( factory.createSetDCRLinkInfo(
             docspc.createObjConnection( childoiid1 ),null ) );
linklist.add( factory.createSetRCRLinkInfo(
             docspc.createObjConnection( childoiid2 ),null ) );

// フォルダのDbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( parentoiid );

// リンク先オブジェクトにリンクを設定する
// 二つのオブジェクトがフォルダから直接型リンクと参照型リンクで
// 関連付けられる
obj.link( linklist );

次にDbjObjインターフェースを使用して，複数の文書管理オブジェクトをまとめて関連付ける例を示します。

// DbjObjインターフェースを使用して
// 同じリンク種別で関連付ける例

 // docspc：DbjDocSpaceインターフェース

// リンク対象となるリンク先オブジェクトのリストを作成する
// childoiid1, childoiid2はそれぞれリンク先オブジェクトのOIID
List<DbjObj> childlist = new ArrayList<DbjObj>();
childlist.add( docspc.createObjConnection( childoiid1 ) );
childlist.add( docspc.createObjConnection( childoiid2 ) );

// フォルダのDbjObjインターフェースを取得する
DbjObj obj = docspc.createObjConnection( parentoiid );

// リンク先オブジェクトにリンクを設定する
// 二つのオブジェクトがフォルダから直接型リンクで関連付けられる
obj.link( DbjDef.LINK_DCR, childlist );

また，DbjObj#linkメソッドを使用して，検索結果として取得したオブジェクトをまとめて一つのフォルダに関連付けることもできます。

検索結果として取得したオブジェクトをまとめてフォルダに関連付ける例を示します。

// 検索結果として取得したオブジェクトをまとめてフォルダに関連付ける例

 // docspc：DbjDocSpaceインターフェース
 // parentObj：上位オブジェクトのインターフェース

// 関連付けるリンク先オブジェクトを検索する
DbjResultSet result = docspc.executeSearch(
            "SELECT dmaProp_OIID  FROM DV  WHERE ...",
            null,
            null );

// 検索結果として取得したOIIDを基に
// DbjObjListインターフェースを取得する
// (検索結果の0列目がdmaProp_OIIDである）
DbjObjList childlist = docspc.createObjList(result, 0 , null);

// 上位オブジェクトからリンクを設定する
// 検索結果が上位オブジェクトに直接型リンクで関連付けられる
parentObj.link( DbjDef.LINK_DCR, childlist );

(4)　リンクをたどる文書管理オブジェクトの参照

リンクによって関連付けられた文書管理オブジェクトは，リンクをたどって参照できます。ここでは，リンクをたどって文書管理オブジェクトを参照する方法について説明します。

文書またはフォルダのインターフェースを使用して，リンクをたどって文書管理オブジェクトを参照する場合に使用するメソッドとリンク種別の関係を，次の表に示します。

表1-9　リンクをたどる参照に使用するメソッドとリンク種別の関係

メソッド
たどる元になる文書管理オブジェクト
リンク種別

getDCRParent
文書
フォルダ
直接型リンク

getParentList
文書
フォルダ
直接型リンク
参照型リンク

getChildList
フォルダ
直接型リンク
参照型リンク

getRelList
文書
文書間リンク

ここでは，直接型リンク，参照型リンクをたどる参照をたどる参照と，文書間リンクをたどる参照について，分けて説明します。

(a)　直接型リンクまたは参照型リンクをたどる参照

ここでは，フォルダを使用した関連付けの場合の，直接型リンク，参照型リンクをたどる参照について説明します。

上位オブジェクトから下位オブジェクトを取得する場合，DbjObj#getChildListメソッドを使用します。このメソッドでは，上位オブジェクトから下位オブジェクトを関連付けているリンクオブジェクトのリストを扱うインターフェース（DbjLinkObjListインターフェース）を取得できます。メソッド実行時には，「直接型リンクだけを取得したい」，「直接型リンクと参照型リンクを取得したい」など，リンクの種別も指定できます。次に，DbjLinkObjListインターフェースの要素であるDbjLinkObjインターフェースを取得して，DbjLinkObj#getTargetObjメソッドによって，下位オブジェクトのインターフェースを取得します。

下位オブジェクトから上位オブジェクトを取得する場合，DbjObj#getParentListメソッドを使用します。このメソッドでは，下位オブジェクトを上位オブジェクトに関連付けているリンクオブジェクトのリストを扱うインターフェース（DbjLinkObjListインターフェース）を取得できます。メソッド実行時には，リンクの種別を指定できます。次に，DbjLinkObjListインターフェースの要素であるDbjLinkObjインターフェースを取得して，DbjLinkObj#getOwnerObjメソッドによって，それぞれの上位オブジェクトのインターフェースを取得します。

また，上位オブジェクトと下位オブジェクトが直接型リンクで関連付けられている場合，下位オブジェクトのDbjObj#getDCRParentメソッドで，リンクオブジェクトを取得しないで，直接上位オブジェクトのインターフェースを取得することもできます。

フォルダを使用したリンクを設定している場合の，リンクをたどる参照に使用するメソッドの関係について，次の図に示します。

図1-17　リンクをたどる参照に使用するメソッドの関係（フォルダを使用する場合）

取得した上位オブジェクトまたは下位オブジェクトを一括操作したい場合は，DbjLinkObjListインターフェースを取得してから，DbjLinkObjList#getOwnerObjListまたはDbjLinkObjList#getTargetObjListメソッドを実行して，DbjObjListインターフェースを取得することもできます。複数オブジェクトを一括操作する場合の詳細については，「1.10.14　複数の文書管理オブジェクトの一括操作」を参照してください。

ここでは，まず，上位オブジェクトから直接型リンクで関連付けられている下位オブジェクトを取得して，下位オブジェクトのOIIDの一覧を出力する例を示します。

// 下位オブジェクトのOIIDの一覧を出力する例

 // parentObj：DbjObjインターフェース
 // （上位オブジェクトのインターフェース）

// 下位オブジェクトを取得する
DbjLinkObjList objlist = parentObj.getChildList(
           null,               // 取得するプロパティは指定しない
           null,               // リンクのプロパティは指定しない
           DbjDef.LINK_DCR,    // 直接型リンクだけを取得する
           DbjDef.OBJTYPE_DOC, // 文書だけを取得する
           null );             // 検索結果取得情報は指定しない

// 下位オブジェクトのOIID一覧を出力する
for(int i = 0 ; i < objlist.size(); i++ ) {
 System.out.println("Child OIID["+i+"]="
 + objlist.getLinkObj(i).getTargetObj().getOiid() );
}

次に，下位オブジェクトから参照型リンクで関連付けられている上位オブジェクトの一覧を取得して，上位オブジェクトのOIIDの一覧を出力する例を示します。

// 上位オブジェクトのOIIDの一覧を出力する例

 // childObj：DbjObjインターフェース
 // （下位オブジェクトのインターフェース）

// 上位オブジェクトを取得する
DbjLinkObjList linklist
       = childObj.getParentList(
           null,               // 取得するプロパティは指定しない
           null,               // リンクのプロパティは指定しない
           DbjDef.LINK_RCR,    // 参照型リンクだけを取得する
           DbjDef.OBJTYPE_FOLDER, // フォルダを取得する
           null );             // 検索結果取得情報は指定しない

// DbjObjListインターフェースを取得する
DbjObjList objlist = linklist.getOwnerObjList();

// 上位オブジェクトのOIID一覧を出力する
for(int i = 0 ; i < objlist.size(); i++ ) {
 System.out.println("Parent OIID["+i+"]="
          + objlist.getObj(i).getOiid() );
}

(b)　文書間リンクをたどる参照

文書間リンクをたどってオブジェクトを参照する場合，DbjObj#getRelListメソッドを使用します。リンク元オブジェクトからリンク先オブジェクトを取得する場合も，リンク先オブジェクトからリンク元オブジェクトを取得する場合も，同じメソッドを使用します。リンク先オブジェクト，リンク元オブジェクトのどちらを取得するかは，メソッドの引数にリレーション種別として指定します。

DbjObj#getRelListメソッドを実行すると，DbjLinkObjListインターフェースが取得できます。このインターフェースから，要素であるDbjLinkObjインターフェースを取得します。DbjLinkObjインターフェースを使用してリンク元オブジェクトを取得する場合は，DbjLinkObj#getOwnerObjメソッドを，リンク先オブジェクトを取得する場合は，DbjLinkObj#getTargetObjメソッドを実行します。

文書間リンクを設定している場合に，リンクをたどる参照に使用するメソッドの関係について，次の図に示します。

図1-18　リンクをたどる参照に使用するメソッドの関係（文書間リンクを使用する場合）

また，取得したリンク元オブジェクトまたはリンク先オブジェクトを一括操作したい場合は，DbjLinkObjListインターフェースを取得してから，DbjLinkObjList#getOwnerObjListまたはDbjLinkObjList#getTargetObjListメソッドを実行して，DbjObjListインターフェースを取得することもできます。

ここでは，リンク元文書からリンク先文書の一覧を取得して，リンク先文書のOIIDの一覧を出力する例を示します。

// リンク先オブジェクトのOIIDの一覧を出力する例

 // obj：DbjObjインターフェース

// リンク先オブジェクトを取得する
DbjLinkObjList objlist = obj.getRelList(
          null,                    // 取得するプロパティは指定しない
          null,                    // リンクのプロパティは指定しない
          DbjDef.RELATIONEND_HEAD, // リンク先オブジェクトを取得する
          DbjDef.OBJTYPE_DOC,      // 文書だけを取得する
          null );                  // 検索結果取得情報は指定しない

// リンク先オブジェクトのOIID一覧を出力する
for(int i = 0 ; i < objlist.size(); i++ ) {
 System.out.println("OIID["+i+"]="
 + objlist.getLinkObj(i).getTargetObj().getOiid() );
}

(5)　リンクのプロパティの操作

リンクのプロパティとは，リンクオブジェクトに設定されているプロパティのことです。

リンクのプロパティも，ほかの文書管理オブジェクトのプロパティと同様に，Proxyオブジェクト（リンクProxyオブジェクト）のリンクプロパティ値集合プロパティにロードして参照します。また，更新する場合は，リンクProxyオブジェクトのリンクプロパティ値集合プロパティの値をフラッシュします。

リンクのプロパティのロードとフラッシュに使用するメソッドを次に示します。

リンクのプロパティのロードに使用するメソッド

DbjObj#getChildListメソッド

DbjObj#getParentListメソッド

DbjObj#getRelListメソッド

DbjLinkObj#readPropertiesメソッド

DbjLinkObjList#readPropertiesメソッド

DbjObjインターフェースのメソッドは，一覧の取得と同時にリンクのプロパティをロードします。なお，文書管理オブジェクトのプロパティも同時にロードできます。

リンクのプロパティのフラッシュに使用するメソッド

DbjObj#linkメソッド

DbjDocSpace#createDocumentメソッド

DbjDocSpace#createVrDocumentメソッド

DbjDocSpace#createFolderメソッド

DbjLinkObj#writePropertiesメソッド

DbjLinkObjList#writePropertiesメソッド

DbjObjインターフェースおよびDbjDocSpaceインターフェースのメソッドでは，リンクの設定と同時にリンクのプロパティをフラッシュします。

リンクのプロパティを参照および更新する例を示します。

// リンクのプロパティの参照と更新の例

 // factory：DbjFactoryインターフェース
 // parentObj：DbjObjインターフェース
 // （フォルダのインターフェース）

// 特定のフォルダから下位オブジェクトを取得する
DbjLinkObjList linklist = parentObj.getChildList(
                          null,
                          null,
                          DbjDef.LINK_DCR,
                          DbjDef.OBJTYPE_ANY,
                          null );

// 更新するプロパティのプロパティ値集合を作成する
DbjPropSet props = factory.createPropSet();
props.setPropVal( "status", 0 );

// linklistの先頭の要素の，リンクのプロパティを更新する
DbjLinkObj linkObj = linklist.getLinkObj(0);
linkObj.writeProperties( props );

次に，DbjLinkObjListインターフェースを使用して，複数のリンクのプロパティを，一括して更新する例を示します。

// 複数のリンクのプロパティの参照と更新の例

 // factory：DbjFactoryインターフェース
 // parentObj：DbjObjインターフェース
 // （フォルダのインターフェース）

// 特定のフォルダから下位オブジェクトを取得する
DbjLinkObjList linklist = parentObj.getChildList(
                          null,
                          null,
                          DbjDef.LINK_DCR,
                          DbjDef.OBJTYPE_ANY,
                          null );

// 更新するプロパティのプロパティ値集合を作成する
DbjPropSet props = factory.createPropSet();
props.setPropVal( "status", 0 );

// 複数のリンクのプロパティを更新する
linklist.writeProperties( props );

リンクのプロパティと同時に，下位オブジェクトのプロパティを参照する例を示します。

// リンクのプロパティと同時に下位オブジェクトのプロパティも参照する例

 // parentObj：DbjObjインターフェース

// 取得する下位オブジェクトのプロパティ名のコレクションを作成する
Set<String> propdef = new HashSet<String>();
propdef.add( "Title" );

// 取得するリンクのプロパティ名のコレクションを作成する
Set<String> linkpropdef = new HashSet<String>();
linkpropdef.add( "num" );

// フォルダから下位オブジェクトを取得する
DbjLinkObjList linklist
    = parentObj.getChildList(
         propdef,            // 取得する下位オブジェクトのプロパティ
         linkpropdef,        // 取得するリンクのプロパティ
         DbjDef.LINK_DCR,
         DbjDef.OBJTYPE_ANY,  
         null );

// 先頭のリンクのプロパティを出力する
System.out.println(
 linklist.getLinkObj(0).propSet().getIntVal( "num" ) );

// 下位オブジェクトのインターフェースのリストを取得して，
// 先頭のリンクで関連付けているオブジェクトのプロパティを出力する
System.out.println(
 linklist.getLinkObj(0).getTargetObj()
 .propSet().getStringVal( "Title" ) );

なお，このコーディング例のDbjObj#getChildListメソッドでロードできるプロパティおよび取得できるインターフェースは，次の図のようになります。

図1-19　DbjObj#getChildListメソッドでロードできるプロパティと取得できるインターフェース

(6)　文書管理オブジェクトの移動

フォルダから直接型リンクで関連付けられている文書管理オブジェクトを，別のフォルダから直接型リンクで関連付けるように変更できます。これによって，あるフォルダで管理していた文書やフォルダを，別のフォルダに移動するような管理ができます。文書管理オブジェクトの移動には，DbjObj#moveメソッドを使用します。

フォルダに直接型リンクでリンク付けられている文書を移動する例を示します。

// フォルダに直接型リンクでリンク付けられている文書を移動する例

 // docspc：DbjDocSpaceインターフェース
 // parentObj：DbjObjインターフェース

// フォルダに直接型リンクで関連付けている文書一覧を取得する
DbjLinkObjList linklist = parentObj.getChildList(
                           null,
                           null,
                           DbjDef.LINK_DCR,
                           DbjDef.OBJTYPE_DOC,
                           null );

// 先頭の要素の文書を別なフォルダに移動する
DbjObj parentObj2 = docspc.createObjConnection( parentoiid2 );
linklist.getLinkObj(0).getTargetObj().move( parentObj2 );

(7)　リンクの解除

リンクは，次のどれかのメソッドで解除します。

リンク元オブジェクトのインターフェース（DbjObjインターフェース）を使用する場合

DbjObj#unlinkメソッド

DbjObj#unlinkByLinkIdメソッド

リンクオブジェクトのインターフェース（DbjLinkObjインターフェース）を使用する場合

DbjLinkObj#removeObjectメソッド

リンクオブジェクトのリストのインターフェース（DbjLinkObjListインターフェース）を使用する場合

DbjLinkObjList#removeObjectsメソッド

DbjObjインターフェースおよびDbjLinkObjListインターフェースのメソッドで解除する場合，複数のリンクをまとめて解除できます。さらに，DbjObjインターフェースのメソッドでは，解除するリンクを特定することもできます。この場合は，下位オブジェクトのDbjObjインターフェースのリスト，リンクのDbjLinkObjインターフェースのリストまたはリンク識別子のリストを指定します。

DbjLinkObjListインターフェースおよびDbjLinkObjインターフェースのメソッドを使用して解除する場合は，リンクオブジェクトそのものを削除することで，リンクを解除します。

まず，DbjObjインターフェースを使用して，下位オブジェクトを指定して解除する例を示します。

// 下位オブジェクトを指定してリンクを解除する例

 // parentObj：DbjObjインターフェース
 // （フォルダのインターフェース）

// リンクの一覧を取得する
DbjLinkObjList linklist = parentObj.getChildList(
                             null,
                             null,
                             DbjDef.LINK_DCR|DbjDef.LINK_RCR,
                             DbjDef.OBJTYPE_ANY,
                             null );

// 下位オブジェクトの一覧を取得する
DbjObjList childlist = linklist.getTargetObjList();

// 指定した下位オブジェクトとのリンクをすべて解除する
parentObj.unlink( childlist );

次に，DbjObjインターフェースを使用して，リンク識別子を指定してリンクを解除する例を示します。

// リンク識別子を指定してリンクを解除する例

 // parentObj：DbjObjインターフェース
 // （フォルダのインターフェース）

// リンクの一覧を取得する
DbjLinkObjList linklist = parentObj.getChildList(
                             null,
                             null,
                             DbjDef.LINK_DCR|DbjDef.LINK_RCR,
                             DbjDef.OBJTYPE_ANY,
                             null );

// リンク識別子の一覧を取得する
List<String> linkIdList = linklist.getLinkIdList();

// 指定した下位オブジェクトとのリンクをすべて解除する
parentObj.unlinkByLinkId( linkIdList );

DbjLinkObjインターフェースおよびDbjLinkObjListインターフェースを使用して，リンクオブジェクトを削除してリンクを解除する例を示します。

// リンクオブジェクトを削除してリンクを解除する例

 // parentObj：DbjObjインターフェース
 // （フォルダのインターフェース）

// 特定のフォルダの下位オブジェクトを取得する
DbjLinkObjList linklist = parentObj.getChildList(
                             null,
                             null,
                             DbjDef.LINK_DCR,
                             DbjDef.OBJTYPE_ANY,
                             null );

// 先頭のリンクだけを解除する
linklist.getLinkObj(0).removeObject();

// 複数のリンクを一括して解除する
linklist.removeObjects();

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();

1.10.15　複数の文書管理オブジェクトの一括操作

複数の文書管理オブジェクトの一括操作について説明します。これは，複数の文書管理オブジェクトに，1トランザクションでアクセスする機能です。

複数の文書管理オブジェクトを操作する場合には，DbjObjListインターフェースまたはDbjVerObjListインターフェースを使用します。複数のリンクオブジェクトを操作する場合には，DbjLinkObjListインターフェースを使用します。

これらのインターフェースは，java.util.Listインターフェースを継承しています。リストの要素は，それぞれ，DbjObjインターフェース，DbjVerObjインターフェース，DbjLinkObjインターフェースです。

ここでは，次の操作について説明します。

複数の文書管理オブジェクトのプロパティ一括操作

複数の文書管理オブジェクトに同じ種別のロックを設定した操作

複数の文書管理オブジェクトの一括削除

複数の文書管理オブジェクトの一括移動

なお，操作する文書管理オブジェクトにバージョン付きオブジェクトが含まれる場合，デフォルトの設定では，カレントバージョンが操作の対象になります。操作対象のバージョンを変更する場合には，要素であるProxyオブジェクトのインターフェースを取得してDbjObj#setTargetVersionメソッドを実行し，それぞれの要素のターゲットバージョンを変更してください。

＜この項の構成＞

(1)　複数の文書管理オブジェクトのプロパティ一括操作

(2)　複数の文書管理オブジェクトに同じ種別のロックを設定するインターフェースの取得

(3)　複数の文書管理オブジェクトの一括削除

(4)　複数の文書管理オブジェクトの一括移動

(1)　複数の文書管理オブジェクトのプロパティ一括操作

DbjObjListインターフェースを使用して，複数の文書管理オブジェクトのプロパティを一括して操作できます。

プロパティの参照には，DbjObjList#readPropertiesメソッドを使用します。このメソッドの使用方法は，DbjObj#readPropertiesメソッドと同じです。ただし，DbjObjListインターフェースの要素であるDbjObjインターフェースに対して，一括してメソッドが実行できます。引数を指定しない形式のDbjObjList#readPropertiesメソッドを実行した場合は，要素のDbjObjインターフェースで扱うProxyオブジェクトにすでにロードされているプロパティ値集合を更新します。文書空間ごとに異なる種類のプロパティがロードされている場合は，文書管理オブジェクトごとに異なる種類のプロパティをロードします。

プロパティの更新には，DbjObjList#writePropertiesメソッドを使用します。このメソッドの使用方法もDbjObj#writePropertiesメソッドと同じです。Proxyオブジェクトごとに設定したプロパティの値を，複数の文書管理オブジェクトに一括してフラッシュします。

プロパティの操作の詳細については，「1.10.7　文書管理オブジェクトのプロパティの操作」を参照してください。

複数の文書管理オブジェクトのプロパティを一括操作する例を示します。この例では， 検索でヒットした複数の文書管理オブジェクトのプロパティを一括して参照および更新します。

// 複数の文書管理オブジェクトのプロパティを一括操作する例

 // docspc：DbjDocSpaceインターフェース

// 検索を実行する
DbjResultSet result = docspc.executeSearch(
             "SELECT dmaProp_OIID  FROM DV  WHERE ...",
             null,
             null );

// 検索結果からDbjObjListインターフェースを取得する
DbjObjList objlist = docspc.createObjList( result, 0 , null );

// Countプロパティを一括してProxyオブジェクトにロードする
Set<String> propdef = new HashSet<String>();
propdef.add( "Count" );

objlist.readProperties( propdef );

// Proxyオブジェクトのプロパティの値を更新する
for ( int i = 0; i < objlist.size(); i ++ ) {
 int count = objlist.getObj(i).propSet().getIntVal( "Count" );
 count ++;
 objlist.getObj(i).propSet().setPropVal( "Count", count );
}

// 文書管理オブジェクトのプロパティを一括してフラッシュする
objlist.writeProperties();

(2)　複数の文書管理オブジェクトに同じ種別のロックを設定するインターフェースの取得

検索や一覧取得メソッドで取得した複数の文書管理オブジェクトに対して，同じ種別のロックを設定して操作するためのインターフェースを取得できます。この操作には，DbjObjList#lockメソッドを使用します。

複数の文書管理オブジェクトにwriteロックを設定して操作する例を示します。この例では，検索結果として取得した文書管理オブジェクトに，writeロックを設定して操作します。

// 複数の文書管理オブジェクトにwriteロックを設定して操作する例

 // docspc：DbjDocSpaceインターフェース

// 検索を実行する
DbjResultSet result = docspc.executeSearch(
             "SELECT dmaProp_OIID  FROM DV  WHERE ...”,
             null,
             null );

// DbjObjListインターフェースを取得する
DbjObjList objlist = docspc.createObjList( result, 0 , null );

// writeロックを設定するDbjObjListインターフェースを取得する
DbjObjList objlistWithWriteLock = objlist.lock(DbjDef.LOCK_WRITE);

// writeロックでCountプロパティを参照する
objlistWithWriteLock.readProperties( Collections.singleton("Count") );

(3)　複数の文書管理オブジェクトの一括削除

DbjObjListインターフェースを使用して，複数文書管理オブジェクトを一括して削除できます。削除は，DbjObjList#removeObjectsメソッドで実行します。

複数の文書管理オブジェクトを一括して削除する例を示します。この例では，特定のフォルダの下位オブジェクトをすべて削除します。

// 複数文書管理オブジェクトを一括して削除する例

 // parentObj：DbjObjインターフェース

// 特定フォルダから下位オブジェクトの一覧を取得する
DbjLinkObjList linklist = parentObj.getChildList(
                              null,
                              null,
                              DbjDef.LINK_DCR|DbjDef.LINK_RCR,
                              DbjDef.OBJTYPE_ANY,
                              null );

// リンクオブジェクトのリストからDbjObjListインターフェースを取得する
DbjObjList objlist = linklist.getTargetObjList();

// 一括削除する
objlist.removeObjects();

(4)　複数の文書管理オブジェクトの一括移動

フォルダから直接型リンクで関連付けられている文書管理オブジェクト（文書またはフォルダ）を，一括して別のフォルダに直接型リンクで関連付けるように変更できます。これによって，あるフォルダで管理していた文書を，別のフォルダに一括して移動するような管理ができます。複数の文書管理オブジェクトの移動には，DbjObjList#moveメソッドを使用します。

フォルダに直接型リンクでリンク付けられている文書を一括して移動する例を示します。

// フォルダに直接型リンクでリンク付けられている文書を一括して移動する例

 // docspc：DbjDocSpaceインターフェース
 // parentObj：DbjObjインターフェース

// フォルダに直接型リンクで関連付けている文書一覧を取得する
DbjLinkObjList linklist = parentObj.getChildList(
                           null,
                           null,
                           DbjDef.LINK_DCR,
                           DbjDef.OBJTYPE_DOC,
                           null );

// 下位オブジェクトの一覧を取得する
DbjObjList childlist = linklist.getTargetObjList();

// 下位オブジェクトを別のフォルダに移動する
DbjObj parentObj2 = docspc.createObjConnection( parentoiid2 );
childlist.move( parentObj2 );

1.11　アクセス制御に関する操作

この節では，アクセス制御に関する操作について説明します。

アクセス制御機能を使用した管理の考え方については，マニュアル「DocumentBroker Version 5　概説」の「アクセス制御モデル」の説明を参照してください。

＜この節の構成＞

1.11.1　アクセス制御に使用するインターフェース

1.11.2　ローカルACLとACEの操作

1.11.3　パブリックACLの操作

1.11.1　アクセス制御に使用するインターフェース

アクセス制御は，文書管理オブジェクトに対してアクセス制御情報を設定することで，実行します。

アクセス制御情報ごとに，使用するインターフェースおよびメソッドについて説明します。

ACFlag

ACFlagは，文書管理オブジェクトのdbrProp_OwnerPermissionプロパティ，dbrProp_PrimaryGroupPermissionプロパティおよびdbrProp_EveryonePermissionプロパティとして設定します。このため，そのほかのプロパティの操作方法と同様に，DbjObjインターフェースなどを使用して操作します。

プロパティの操作については，「1.10.7　文書管理オブジェクトのプロパティの操作」を参照してください。

ローカルACL

ローカルACLは，文書管理オブジェクトのdbrProp_ACLプロパティに，VARRAY型のプロパティとして設定します。可変長配列の要素はACEです。

ACEの値の設定や取得には，パラメタクラスのDbjACEインターフェースが使用できます。また，ほかのVARRAY型のプロパティの要素と同様に，DbjPropSetインターフェースも使用できます。DbjACEインターフェースを使用すると，ACEの値の取得や設定が，DbjPropSetインターフェースを使用する場合よりも単純なコーディングで実行できます。

可変長配列の操作には，パラメタクラスのDbjVArrayインターフェースを使用します。また，可変長配列を文書管理オブジェクトのプロパティに設定する操作には，DbjObjインターフェースなどを使用します。

DbjACEインターフェースは，DbjFactory#createACEメソッドで取得します。DbjVArrayインターフェースは，DbjFactory#createVArrayメソッドなどで取得します。DbjObjインターフェースは，DbjDocSpace#createObjConnectionメソッドなどで取得します。

パブリックACL

パブリックACLは，独立した文書管理オブジェクトです。DbjDocSpace#createPublicACLメソッドで作成します。また，パブリックACLに設定するアクセス情報は，パブリックACLのローカルACLとして操作します。

文書管理オブジェクトをパブリックACLに指定したアクセス情報でアクセス制御するためには，文書管理オブジェクトからパブリックACLをバインドします。バインドしているパブリックACLのOIIDは，文書管理オブジェクトのdbrProp_PublicACLIdsプロパティに，VARRAY型のプロパティとして設定されています。可変長配列の要素は，パブリックACLのOIIDを設定した文書管理オブジェクトのプロパティ（dbrProp_ACLIdElemプロパティ）です。

パブリックACLのOIIDの設定や取得には，DbjPublicACLIdElmインターフェースが使用できます。また，ほかのVARRAY型のプロパティの要素と同様に，DbjPropSetインターフェースも使用できます。DbjPublicACLIdElmインターフェースを使用すると，パブリックACLのOIIDの取得や設定が，DbjPropSetインターフェースを使用する場合よりも単純なコーディングで実行できます。

以降の項では，次の操作について説明します。

ローカルACLとACEの操作

パブリックACLの操作

1.11.2　ローカルACLとACEの操作

ローカルACLは，文書管理オブジェクトのプロパティ（dbrProp_ACLプロパティ）として設定します。このプロパティは，VARRAY型のプロパティです。VARRAY型のプロパティの値である可変長配列は，パラメタクラスのDbjVArrayインターフェースで操作します。VARRAY型のプロパティの操作については，「1.10.7　文書管理オブジェクトのプロパティの操作」を参照してください。

可変長配列の要素であるACEは，パラメタクラスのDbjACEインターフェースで操作できます。

ローカルACLを文書管理オブジェクトのプロパティとして設定する流れは，次のようになります。

DbjVArrayインターフェースを取得して，可変長配列を作成します。

DbjACEインターフェースを取得して，ACEを作成し，値を設定します。

ACEを，可変長配列の要素として追加します。
設定するACEの数だけ，2.と3.を繰り返します。

可変長配列をプロパティ値集合（DbjPropSet）に設定します。

プロパティ値集合を，文書管理オブジェクトにフラッシュします。

文書管理オブジェクトにローカルACLを設定する例を示します。

// 文書管理オブジェクトにローカルACLを設定する例

 // factory：DbjFactoryインターフェース

// 可変長配列を作成する
DbjVArray acl = factory.createVArray( null );

// 一つ目のACEを作成する
// （システムサブジェクトですべてのユーザに
//  参照更新権を設定する）
DbjACE elm = factory.createACE(factory.createPropSet());
elm.setSystemSubject( DbjDef.SYSSUBJECT_EVERYONE );
elm.setPermission( DbjDef.PERM_READ_WRITE );

// ACEをACLに追加する
acl.addPropSet( elm.propSet() );

// 二つ目のACEを作成する
// （ユーザhitachiにフルコントロールを設定する）
elm.setUserSubject( "hitachi" );
elm.setPermission( DbjDef.PERM_FULL_CONTROL );

// ACEをACLに追加する
acl.addPropSet( elm.propSet() );

// 可変長配列をプロパティ値集合に設定する
DbjPropSet props = factory.createPropSet();
props.setPropVal( "dbrProp_ACL", acl );

// プロパティ値集合を文書管理オブジェクトにフラッシュする
obj.writeProperties( props );

1.11.3　パブリックACLの操作

パブリックACLは，独立した文書管理オブジェクトです。ここでは，パブリックACLの作成と文書管理オブジェクトへのバインド，また，文書管理オブジェクトからのパブリックACLのバインドについて説明します。また，文書管理オブジェクトからバインドしているパブリックACLの一覧を取得したり，パブリックACLからバインドされている文書管理オブジェクトの一覧を取得したりする方法も説明します。

＜この項の構成＞

(1)　パブリックACLの作成

(2)　パブリックACLのバインド

(3)　バインドしているパブリックACLの一覧取得

(4)　バインドするパブリックACLの変更

(5)　パブリックACLをバインドしている文書管理オブジェクトの一覧取得

(6)　パブリックACLのアンバインド

(1)　パブリックACLの作成

パブリックACLは，ほかの文書管理オブジェクトと同様に，DbjDocSpaceインターフェースのメソッドで作成します。

パブリックACLを作成する例を示します。この例では，パブリックACLを作成して，同時に文書管理オブジェクトからバインドさせます。

// パブリックACLを作成する例

 // factory：DbjFactoryインターフェース
 // docspc：DbjDocSpaceインターフェース

// パブリックACLに設定するローカルACLを作成する
DbjVArray acl = factory.createVArray( null );

DbjACE elm = factory.createACE(factory.createPropSet());
elm.setSystemSubject( DbjDef.SYSSUBJECT_EVERYONE );
elm.setPermission( DbjDef.PERM_READ_WRITE );

acl.addPropSet( elm.propSet() );

elm.setUserSubject( "hitachi" );
elm.setPermission( DbjDef.PERM_FULL_CONTROL );

acl.addPropSet( elm.propSet() );

DbjPropSet props = factory.createPropSet();
props.setPropVal( "dbrProp_ACL", acl );

// バインドするオブジェクトのリストを作成する
List<DbjObj> bindobjlist = new ArrayList<DbjObj>();
bindobjlist.add( docspc.createObjConnection( oiid1 ));
bindobjlist.add( docspc.createObjConnection( oiid2 ));

// パブリックACLを作成する
DbjObj pacl = docspc.createPublicACL(
                          "edmClass_PublicACL",
                          props,
                          bindobjlist );

(2)　パブリックACLのバインド

ここでは，文書管理オブジェクトから，パブリックACLにバインドする方法について説明します。パブリックACLのバインドは，DbjObj#bindPublicACLメソッドで実行します。

文書管理オブジェクトからパブリックACLをバインドする例を示します。この例では，バインドするパブリックACLを検索で取得して，検索結果として得られたパブリックACLをすべて一括してバインドします。

// 文書管理オブジェクトからパブリックACLをバインドする例

 // docspc：DbjDocSpaceインターフェース
 // obj：DbjObjインターフェース
 //  （文書管理オブジェクトのインターフェース）

// パブリックACLを検索する
DbjResultSet result = docspc.executeSearch(
     "SELECT dmaProp_OIID  FROM edmClass_PublicACL WHERE...",
     null,
     null );

// 検索結果からDbjObjListインターフェースを取得する
DbjObjList objlist = docspc.createObjList( result , 0 , null );

// 検索結果として得られた複数のパブリックACLを一括してバインドする
obj.bindPublicACL( objlist );

(3)　バインドしているパブリックACLの一覧取得

ここでは，文書管理オブジェクトにバインドしているパブリックACLの一覧を取得する方法について説明します。一覧の取得は，DbjObj#getPublicACLListメソッドで実行します。

バインドしているパブリックACLの一覧を取得する例を示します。

// バインドしているパブリックACLの一覧を取得する例

 // obj：DbjObjインターフェース
 //  （文書管理オブジェクトのインターフェース）

// バインドしているパブリックACLの一覧を取得する
DbjObjList objlist = obj.getPublicACLList ( null );

// パブリックACLのOIIDを出力する
for ( int i = 0 ; i<objlist.size() ; i++ ){
  System.out.println( "oiid = " + objlist.getObj(i).getOiid() );
}

(4)　バインドするパブリックACLの変更

ここでは，文書管理オブジェクトにバインドしているパブリックACLを変更する方法について説明します。バインドしているパブリックACLは，dbrProp_PublicACLIdsプロパティに設定されています。このプロパティはVARRAY型のプロパティです。要素は，DbjPublicACLIdElmインターフェースまたはDbjPropSetインターフェースで操作します。

文書管理オブジェクトからバインドしているパブリックACLを変更する例を示します。ここでは，バインドするパブリックACLを，一つ削除して一つ追加します。

// 文書管理オブジェクトからバインドしているパブリックACLを変更する例

 // obj：DbjObjインターフェース
 //  （文書管理オブジェクトのインターフェース）

// バインドしているパブリックACLを要素とした可変長配列を取得する
Set<String> propdef = new HashSet<String>();
propdef.add( "dbrProp_PublicACLIds" );
obj.readProperties( propdef );

DbjVArray varray = obj.propSet()
 .getVArrayRef( "dbrProp_PublicACLIds" );

// 一つ目の要素を可変長配列から削除する
varray.remove(0);

// 追加するパブリックACLのOIIDを要素に設定する
DbjPublicACLIdElm elm = factory.createPublicACLIdElm();
elm.setId( pacloiid );

// 要素を可変長配列の末尾に追加する
varray.addPropSet( elm.propSet() );

// dbrProp_PublicACLIdsプロパティを更新する
obj.writeProperties();

(5)　パブリックACLをバインドしている文書管理オブジェクトの一覧取得

ここでは，パブリックACLがバインドされている文書管理オブジェクトの一覧を取得する方法について説明します。一覧の取得は，DbjObj#getBindObjectListメソッドで実行します。

パブリックACLをバインドしている文書管理オブジェクトの一覧取得の例を示します。

// パブリックACLをバインドしている文書管理オブジェクトの一覧取得

 // obj：DbjObjインターフェース
 //  （パブリックACLのインターフェース）

// バインドされている文書管理オブジェクトとの一覧を取得する
DbjObjList objlist = obj.getBindObjectList(
            null,
            DbjDef.OBJTYPE_DOC, // 文書を取得
            null );

// バインドされている文書管理オブジェクトのOIIDを出力する
for ( int i = 0; i<objlist.size() ; i++ ){
  System.out.println( "oiid = " + objlist.getObj(i).getOiid() );
}

(6)　パブリックACLのアンバインド

ここでは，パブリックACLをアンバインドする方法について説明します。

パブリックACLのアンバインドは，DbjObj#unbindPublicACLメソッドで実行します。

文書管理オブジェクトからパブリックACLをアンバインドする例を示します。

// 文書管理オブジェクトからパブリックACLをアンバインドする例

 // docspc：DbjDocSpaceインターフェース
 // obj：DbjObjインターフェース
 //   （文書管理オブジェクトのインターフェース）

// アンバインドするパブリックACLのリストを作成する
List<DbjObj> unbindlist = new ArrayList<DbjObj>();
unbindlist.add( docspc.createObjConnection( pacloiid ) );

// アンバインドを実行する
obj.unbindPublicACL( unbindlist );

1.12　メタ情報の取得

この節では，メタ情報の取得について説明します。

＜この節の構成＞

1.12.1　メタ情報を取得するインターフェースの機能

1.12.2　メタ情報の取得

1.12.1　メタ情報を取得するインターフェースの機能

DocumentBrokerで管理されているメタ情報は，メタクラスのメソッドで取得できます。

メタクラスとは，次のインターフェース群の総称です。

DbjMetaManagerインターフェース
DbjFactory0200#getMetaManagerメソッドで取得できます。

DbjMetaインターフェース
次のどちらかのメソッドで取得できます。

DbjMetaManager#getMetaメソッド

DbjDocSpace#getMetaメソッド

DbjClassDescインターフェース
次のどれかのメソッドで取得できます。

DbjClassDesc#getSuperClassメソッド

DbjMeta#getClassDescメソッド

DbjPropDesc#getVArrayClassメソッド

DbjPropDescインターフェース
次のどちらかのメソッドで取得できます。

DbjMeta#getPropDescメソッド

DbjClassDesc#getPropertiesメソッド
取得するリストの要素として取得できます。

メタ情報は，文書空間に定義されているDocumentBrokerクラスおよび文書管理オブジェクトのプロパティの定義情報です。

DocumentBrokerクラスについてのメタ情報を，クラスディスクリプションといいます。クラスディスクリプションは，クラスごとに定義されています。文書管理オブジェクトのプロパティについてのメタ情報を，プロパティディスクリプションといいます。プロパティディスクリプションは，プロパティごとに定義されています。

メタクラスのインターフェースでは，クラスディスクリプションおよびプロパティディスクリプションの定義を参照できます。また，このほかのメタ情報として，文書空間識別子や，レンディションタイプと拡張子の対応などの情報も参照できます。

1.12.2　メタ情報の取得

ここでは，メタ情報の取得の例を示します。

＜この項の構成＞

(1)　文書空間の情報の取得

(2)　クラスディスクリプションおよびプロパティディスクリプションの取得

(1)　文書空間の情報の取得

文書空間の情報は，DbjMetaインターフェースのメソッドで取得できます。取得できるのは，次の情報です。

文書空間識別子

文書管理オブジェクトのプロパティのデータ型

拡張子に対応するレンディションタイプおよびレンディションタイプに対応する拡張子

文書空間の情報を取得する例を示します。

// 文書空間の情報を取得する例

// DbjMetaManagerインターフェースを取得する
DbjMetaManager metamgr = DbjFactory0200.getMetaManager();

DbjMeta meta = metamgr.getMeta( docspaceid );

// Authorプロパティのデータ型を取得する
int datatype = meta.getPropDataType( "Author" );

// 拡張子に対応するレンディションタイプを取得する
String rendtype = meta.getRenditionType( "sgm" );

// レンディションタイプに対応する拡張子を取得する
String ext = meta.getExtFromRenditionType( "text/html" );

(2)　クラスディスクリプションおよびプロパティディスクリプションの取得

クラスディスクリプションは，DbjClassDescインターフェースを使用して取得します。

DbjClassDescインターフェースを使用して取得できるのは，次の情報です。

DocumentBrokerクラス名

DocumentBrokerクラスに定義されているプロパティのプロパティディスクリプション

スーパークラスのクラスディスクリプション

サブクラスのクラスディスクリプション

プロパティディスクリプションは，DbjPropDescインターフェースのメソッドで取得します。

DbjPropDescインターフェースを使用して取得できるのは，次の情報です。

プロパティ名

プロパティのデータ型

VARRAY型のプロパティのクラスディスクリプション※

注※

VARRAY型のプロパティの要素は，データベース上では，DocumentBrokerクラスのedmClass_Structクラスのオブジェクトの情報として格納されています。このため，VARRAY型のプロパティの各要素のメタ情報は，クラスディスクリプションとして定義されています。

まず，DbjClassDescインターフェースの使用例を示します。

// DbjClassDescインターフェースの使用例

DbjMetaManager metamgr = DbjFactory0200.getMetaManager();
DbjMeta meta = metamgr.getMeta( docspaceid );

// Documentクラスのクラスディスクリプションを取得する
// （DbjClassDescインターフェースを取得する）
DbjClassDesc cd = meta.getClassDesc( "Document" );

// サブクラスのクラスディスクリプションを取得する
List<DbjClassDesc> sublist = cd.getSubClasses();

// サブクラスのクラス名を出力する
for(int i=0;i<sublist.size();i++){
 DbjClassDesc tmp = (DbjClassDesc)sublist.get(i);
 System.out.println("sub class name["+i+"]=" + tmp.getName());
}

次に，DbjPropDescインターフェースの使用例を示します。

// DbjPropDescインターフェースの使用例

 // meta：DbjMetaインターフェース

// Documentクラスのクラスディスクリプションを取得する
DbjClassDesc cd = meta.getClassDesc( "Document" );

// プロパティディスクリプションを取得する
List<DbjPropDesc> proplist = cd.getProperties();

// プロパティ名およびプロパティのデータ型を出力する
for(int i=0;i<proplist.size();i++){
 DbjPropDesc tmp = (DbjPropDesc)proplist.get(i);
 System.out.println("prop name["+i+"]=" + tmp.getName()
  + ",type " + tmp.getDataType() );
}

1.13　例外処理

ここでは，例外処理について説明します。

＜この節の構成＞

1.13.1　例外の種類

1.13.2　例外の種類ごとの処理方法

1.13.1　例外の種類

DocumentBrokerクラスライブラリの処理でエラーが発生した場合，例外がスローされます。ユーザアプリケーションプログラムでは，try～catch節によって，エラー処理を実行してください。

DocumentBrokerクラスライブラリで発生する例外には，次のような種類があります。

ユーザアプリケーションプログラムを操作したエンドユーザの操作ミスによって発生する例外

ユーザアプリケーションプログラム開発時に発生する例外

DocumentBrokerクラスライブラリが動作する環境が不正な場合に発生する例外

そのほかの例外

DocumentBrokerクラスライブラリの処理で発生する例外の詳細な内容については，「8.　例外クラス詳細」を参照してください。

1.13.2　例外の種類ごとの処理方法

ここでは，例外の種類ごとの処理方法について説明します。

＜この項の構成＞

(1)　エンドユーザの操作ミスによって発生する例外の処理

(2)　ユーザアプリケーションプログラム開発時に発生する例外

(3)　DocumentBrokerクラスライブラリが動作する環境が不正な場合に発生する例外

(4)　そのほかの例外

(1)　エンドユーザの操作ミスによって発生する例外の処理

例外クラスでは，主にエンドユーザの操作ミスによって発生する例外に対応するクラスを提供しています。例えば，ログイン時に入力したユーザ識別子またはパスワードが不正だった場合の処理や，文書管理オブジェクトのプロパティに不正な値を設定しようとした場合の処理などを，業務処理部分から切り分けてコーディングすることができます。

なお，サブクラスとして定義されているクラスで表されるエラーをすべて区別して処理する必要はありません。ユーザアプリケーションプログラムで実現したい例外処理に応じて，クラスを使い分けてください。

例えば，エンドユーザがコンテンツをダウンロードする時，次のような例外が発生する可能性があります。

ダウンロードしようとしたファイルにアクセス権がない

指定したファイルが存在しない

これらの例外に対して，要因ごとに異なるエラー処理を実行するユーザアプリケーションプログラムを作成したい場合は，それぞれの要因に対応する例外クラスを使用して例外処理を実行します。この場合は，DbjFileAccessExceptionクラスのオブジェクトをキャッチする処理と，DbjFileNotFoundExceptionクラスのオブジェクトをキャッチする処理を分けてコーディングします。

また，この二つのどちらの例外が発生した場合でも，ファイルにアクセスできないことだけを表示するだけでよい場合などには，二つの例外のスーパークラスであるDbjIOExceptionクラスのオブジェクトをキャッチする処理をコーディングします。

このように，実行したい例外処理ごとに，必要に応じて例外クラスのスーパークラスまたはサブクラスを使用してください。

ここでは，ログイン処理で指定したユーザ識別子またはパスワードが不正な場合に発生する例外をキャッチする例を示します。

// 例外処理の例

DbjSession sess = null;
DbjDocSpace docspc = null;
try {
 sess = DbjFactory0200.getFactory().createSession( docspaceid );

 // ログイン処理
 docspc = sess.login( "hitachi", "passwd" );

} catch(DbjNotAuthenticatedException e) {
 // 認証エラーが発生した場合
 System.out.println("Not authenticated");

} catch(DbjException e) {
 // そのほかのエラーが発生した場合
 .....
}

(2)　ユーザアプリケーションプログラム開発時に発生する例外

ユーザアプリケーションプログラム開発時には，コーディングのミスによって例外が発生する可能性があります。この場合も，例外クラスのオブジェクトがスローされます。

ただし，コーディングのミスによって発生する例外は，デバッグによって解消される例外です。このため，この例外に対して，ユーザアプリケーションプログラムに細かい例外処理をコーディングする必要はありません。

コーディングのミスによって発生する例外は，すべてDbjExceptionクラスのオブジェクトとしてスローされます。したがって，ユーザアプリケーションプログラム開発時の例外処理ではDbjExceptionクラスのオブジェクトをキャッチするコーディングをしておいて，必要に応じてメッセージ情報を参照してデバッグを実行してください。

メッセージ情報については，マニュアル「DocumentBroker Version 5　メッセージ」を参照してください。

(3)　DocumentBrokerクラスライブラリが動作する環境が不正な場合に発生する例外

データベースでエラーが発生した場合や，環境が不正な場合に発生したエラーは，DbjExceptionクラスのサブクラスであるDbjDBExceptionクラスのオブジェクトとしてスローされます。ユーザアプリケーションプログラムでこれらの例外をキャッチした場合には，DocumentBrokerクラスライブラリの動作環境を見直してください。

(4)　そのほかの例外

これまでに説明した例外以外に，メモリ不足や内部エラーなど，ユーザアプリケーションプログラムでは対処できない例外があります。これらの例外は，java.lang.ErrorクラスのサブクラスであるDbjErrorクラスのオブジェクトで表されます。このエラーは，直接スローされることはありません。したがって，キャッチする必要もありません。

1.14　ライブラリ情報の取得

この節では，ライブラリ情報取得クラスの機能について説明します。ライブラリ情報の取得クラスとは，DbjLibInfoクラスのことです。

DocumentBrokerのバージョン情報は，DbjLibInfo#getVersionメソッドを実行して取得できます。

バージョンは，10進数で表されます。下位2けたは，マイナーバージョン，その上位のけたはメジャーバージョンを表します。例えば，バージョンが「03-00」の場合は，300が取得できます。

製品のバージョン情報を取得する例を示します。

// 製品のバージョン情報を取得する例
System.out.println( "version=" + DbjLibInfo.getVersion() );

1.15　ユーザアプリケーションプログラムのトレース情報の出力

この節では，DocumentBrokerクラスライブラリを使用してユーザアプリケーションプログラムを開発・運用する上で必要なトレース情報の出力方法について説明します。

＜この節の構成＞

1.15.1　トレース情報を出力するメソッドの機能

1.15.2　トレース情報の出力先

1.15.3　トレース情報の出力形式

1.15.4　トレース情報の出力範囲

1.15.1　トレース情報を出力するメソッドの機能

トレース情報は，次の表に示すトレースクラスのメソッドで出力できます。トレースクラスとは，DbjTraceクラスのことです。トレースクラスの詳細については，

「11.　トレースクラス詳細」を参照してください。

表1-10　トレースクラスのメソッドの機能

メソッド名 | 機能
トレース情報を出力するメソッド
arg | パラメタ情報の出力
call | 外部APIの呼び出し情報の出力
enter | メソッドの入口情報の出力
error | エラー情報の出力
exit | メソッドの出口情報の出力
hint | 下位のメソッドのエラー情報の出力
init | トレースクラスの初期化
msg | メッセージの出力
returned | 外部APIからのリターン情報の出力

1.15.2　トレース情報の出力先

トレース情報は，次に示す出力先に出力できます。

表1-11　トレース情報の出力先

出力先 | 出力可否
コマンドプロンプト（標準出力・標準エラー出力） | ○
アプリケーショントレースファイル | ○
アプリケーションエラーログファイル | ○

（凡例）

○：トレース情報を出力します。

－：該当しません。

出力する情報の種類や，使用目的に応じてトレース情報の出力先を決定してください。レース情報の出力先と出力する情報の目安を次の表に示します。

表1-12　トレース情報の出力先と出力する情報の目安

トレース情報の出力先
出力する情報の目安
使用するメソッド
定数の値※1

コマンドプロンプト

DocumentBrokerクラスライブラリを使用したユーザアプリケーションプログラムの開始および終了時の情報

重要なメソッドの入り口および出口の情報

外部から与えられた情報

DocumentBrokerクラスライブラリを使用したユーザアプリケーションプログラムを利用するユーザが対処できないエラーの情報

arg

enter

error

exit

msg

PROMPT

アプリケーショントレースファイル

DocumentBrokerクラスライブラリを使用したユーザアプリケーションプログラムの開始および終了時の情報

重要なメソッドの入り口および出口の情報

メソッドの入り口および出口の情報

外部から与えられた情報

外部APIの呼び出し時およびリターン時の情報

メソッドの引数の情報

下位メソッドのエラーの情報

DocumentBrokerクラスライブラリを使用したユーザアプリケーションプログラムを利用するユーザが対処できるエラーの情報

DocumentBrokerクラスライブラリを使用したユーザアプリケーションプログラムを利用するユーザが対処できないエラーの情報

arg

call

enter

error

exit

hint

msg

returned

TRACE

アプリケーションエラーログファイル

DocumentBrokerクラスライブラリを使用したユーザアプリケーションプログラムを利用するユーザが対処できるエラーの情報

DocumentBrokerクラスライブラリを使用したユーザアプリケーションプログラムを利用するユーザが対処できないエラーの情報

arg

error

msg

ERRORLOG

注※1

各メソッドの引数outputにこれらの定数を指定して出力先を決定します。これらの定数はDbjTraceDefクラスのメンバとして定義されています。

1.15.3　トレース情報の出力形式

トレース情報は，次に示す形式で出力されます。

各項目間には１文字の空白が入ります。

＜この項の構成＞

(1)　コマンドプロンプトの出力形式

(2)　アプリケーショントレースファイルまたはアプリケーションエラーログファイルの出力形式

(1)　コマンドプロンプトの出力形式

コマンドプロンプトの出力形式を次の図に示します。

図1-20　コマンドプロンプトの出力形式

説明

出力形式の各項目では，次の表に示す情報が出力されます。

表1-13　コマンドプロンプトの出力項目

項目名
出力される情報

日付
トレース情報の取得日付がyyyy/mm/ddの形式で出力されます。
yyyy/mm/dd形式のyyyyには西暦年号（4けた），mmには月（2けた），ddには日（2けた）が出力されます。

時刻
トレース情報の取得時刻がhh:mm:ss.sssの形式で出力されます。
hh:mm:ss.sss形式のhhには時（2けた），mmには分（2けた），ssには秒（2けた），sssにはミリ秒（3けた）が出力されます。

AP名
ユーザアプリケーションプログラムの名称が出力されます。名称が16バイトを超えている場合は，16バイト以内の文字列が出力されます。

種別
トレース情報を出力したメソッドの種別が出力されます。
実行されたメソッドと種別に出力される文字列の対応を表1-13に示します。

メッセージ
メッセージが出力されます。種別ごとに異なるメッセージが出力されます。

メッセージID
メッセージIDが出力されます。メッセージIDが11バイトを超えている場合は，11バイト以内の文字列が出力されます。

表1-14　実行されたメソッドと種別に出力される文字列の対応

実行されたメソッド | 種別に出力される文字列
arg | “△△△△“
enter | “FB△△“
exit | “FE△△“
error | “ER△△““またはEC△△“

(2)　アプリケーショントレースファイルまたはアプリケーションエラーログファイルの出力形式

アプリケーショントレースファイル，またはアプリケーションエラーログファイルの出力形式を次の図に示します。

図1-21　アプリケーショントレースファイルまたはアプリケーションエラーログファイルの出力形式

説明

出力形式の各項目では，次の表に示す情報が出力されます。

表1-15　アプリケーショントレースファイルまたはアプリケーションエラーログファイルの出力項目

項目名
出力される情報

番号
4けたの通番が出力されます。

日付
トレース情報の取得日付がyyyy/mm/ddの形式で出力されます。
yyyy/mm/dd形式のyyyyには西暦年号（4けた），mmには月（2けた），ddには日（2けた）が出力されます。

時刻
トレース情報の取得時刻がhh:mm:ss.sssの形式で出力されます。
hh:mm:ss.sss形式のhhには時（2けた），mmには分（2けた），ssには秒（2けた），sssにはミリ秒（3けた）が出力されます。

rsvd
予備領域(4バイト)の空白が出力されます。

AP名
ユーザアプリケーションプログラムの名称が出力されます。名称が16バイトを超えている場合は，16バイト以内の文字列が出力されます。

pid
プロセスIDが出力されます。

tid
スレッドIDが出力されます。

メッセージID
メッセージIDが出力されます。メッセージIDが11バイトを超えている場合は，11バイト以内の文字列が出力されます。

種別
トレース情報を出力したメソッドの種別が出力されます。
実行されたメソッドと種別に出力される文字列の対応を表6-13に示します。

メッセージ
メッセージが出力されます。種別ごとに異なるメッセージが出力されます。

CRLF
レコード終端符号(0x0D,0x0A)です。

1.15.4　トレース情報の出力範囲

次に示す出力先にトレース情報を出力するときは，トレースレベルを指定できます。トレースレベルを指定すると，トレース情報をどの範囲まで出力するかを選択できます。

コマンドプロンプト

アプリケーショントレースファイル

＜この項の構成＞

(1)　トレースレベルを指定する目的

(2)　各トレースレベルで出力する情報の目安

(1)　トレースレベルを指定する目的

システムが開発段階にあるか，または運用段階にあるかによって，必要なトレース情報が異なります。例えば，システムが運用段階にある場合，メソッドの入り口および出口の情報は重要な情報ではありません。しかし，システムが開発段階にある場合や，障害の発生個所を特定する場合などは，メソッドの入り口および出口の情報は重要な情報になります。

このように，状況に応じて必要な情報が異なるため，トレースレベルを指定し，取得する情報の範囲を選択してください。

トレースレベルを指定するメリットを次に示します。

むだな出力情報を少なくすることで，重要な情報を整理しやすくする

出力先のファイル容量を削減できる

用途や，目的を考えないですべての情報を出力すると，重要な情報が探せない，または重要な情報が上書きされたなどの不都合が生じることがあります。

(2)　各トレースレベルで出力する情報の目安

トレースレベルには，次の表に示すレベルがあります。各トレースレベルの用途に応じて出力する情報を決定してください。

表1-16　トレースレベルで出力する情報の目安

用途
APTraceLevel
の値※1
level引数の値※2
出力する情報の目安

障害監視
0
ERROR
●出力先がコマンドプロンプトの場合
ERRORレベルでは，次に示す情報を出力するようにします。

ユーザアプリケーションプログラムの開始および終了時の情報

ユーザアプリケーションプログラムを利用するユーザが対処できないエラーの情報

●出力先がアプリケーショントレースファイルの場合
ERRORレベルでは，すべてのエラー情報を出力するようにします。

通常運用
10
MANAGE
●出力先がコマンドプロンプトの場合
MANAGEレベルでは，ERRORレベルで出力される情報をすべて出力するようにします。
●出力先がアプリケーショントレースファイルの場合
MANAGEレベルでは，ERRORレベルで出力される情報をすべて出力するようにします。それに加えて次に示す情報を出力するようにします。

外部APIの呼び出しおよびリターン時の情報

重要なメソッドの入り口および出口の情報

障害調査
20
HINT
●出力先がコマンドプロンプトの場合
HINTレベルでは，MANAGEレベルで出力される情報をすべて出力するようにします。それに加えて次に示す情報を出力するようにします。

重要なメソッドの入り口および出口の情報

外部から与えられた情報

●出力先がアプリケーショントレースファイルの場合
HINTレベルでは，MANAGEレベルで出力される情報をすべて出力するようにします。それに加えて次に示す情報を出力するようにします。

下位メソッドのエラーの情報

外部から与えられた情報

重要なメソッドの引数の情報

デバッグ
30
DEBUG
●出力先がコマンドプロンプトの場合
DEBUGレベルでは，HINTレベルで出力される情報をすべて出力するようにします。
●出力先がアプリケーショントレースファイルの場合
DEBUGレベルでは，HINTレベルで出力される情報をすべて出力するようにします。それに加えて次に示す情報を出力するようにします。

メソッドの入り口および出口の情報

メソッドの引数の情報

注※1

動作環境定義ファイルの値です。動作環境定義ファイルについては，マニュアル「DocumentBroker Version 5　システム導入・運用ガイド」を参照してください。

注※2

各メソッドの引数levelにこれらの定数を指定して出力範囲を選択します。これらの定数はDbjTraceDefクラスのメンバとして定義されています。

1.16　マルチスレッド環境での注意事項

1セッションを複数スレッドで使用しないでください。使用した場合，メソッドはエラーになります。

2.　edmSQLの文法

この章では，edmSQLの文法について説明します。

なお，edmSQLで使用する文字列の長さやデータ型などは，データベースの制限に従います。DocumentBrokerで使用できるデータベースは，HiRDBです。HiRDBのSQLで指定できる文字列の長さやデータ型の制限については，マニュアル「HiRDB　SQLリファレンス」を参照してください。

＜この章の構成＞

2.1　edmSQLの文法の概要

2.2　表記規則

2.3　使用できるデータ型と演算子・関数・述語の関係

2.4　字句規則

2.5　検索の実行単位の構文規則

2.6　問い合わせ式の構文規則

2.7　スカラー式表現の構文規則

2.8　述語の構文規則

2.9　関数指定の構文規則

2.10　データ操作の構文規則

2.11　edmSQLの指定例

2.12　留意事項

2.1　edmSQLの文法の概要

この節では，edmSQLの文法の概要として，次の項目について説明します。

字句規則

構文規則

＜この節の構成＞

2.1.1　字句規則

2.1.2　構文規則

2.1.1　字句規則

edmSQLでは，使用できる字句が定義されています。

定義されているのは，<区切り文字>，<トークン>，<キーワード>，<リテラル>，<識別子>，<名前>，<特殊なプロパティ>，<?パラメタ>および<OIID>です。

字句規則の詳細については，「2.4　字句規則」を参照してください。

2.1.2　構文規則

edmSQL文で指定できる構文は，SELECT文です。edmSQLでは，SELECT文の構文規則が定義されています。

＜この項の構成＞

(1)　構文の概要

(2)　SELECT文の構成要素

(1)　構文の概要

ここでは，edmSQL文の構文の概要について説明します。

(a)　検索の実行単位

検索は，edmSQLプログラム単位で実行されます。edmSQLプログラムは，一つのedmSQL文によって構成されている，1回の検索実行メソッドによって実行される検索条件です。

edmSQL文として指定できるのは，問い合わせ文（SELECT文）だけです。

検索の実行単位については，「2.5　検索の実行単位の構文規則」を参照してください。

(b)　問い合わせ文（SELECT文）

問い合わせは，問い合わせ文によって表現します。

問い合わせ文には，SELECT句，FROM句，WHERE句およびORDER BY句が指定できます。最も単純な問い合わせ文は，SELECT句とFROM句から構成されます。

それぞれの句は，次のような要素で構成されています。

値（スカラー式）

述語

関数

データ操作

問い合わせ表現については，「2.6　問い合わせ式の構文規則」を参照してください。

(2)　SELECT文の構成要素

SELECT文は，次のような要素で構成されます。

(a)　値（スカラー式）

値は，スカラー式として指定します。スカラー式によって，プロパティの指定やルーチンの起動，数値関数および集合関数によって得られる値を表現します。

値を表現するスカラー式の詳細については，「2.7　スカラー式表現の構文規則」を参照してください。

(b)　述語

FROM句のON条件や，WHERE句に指定する検索条件は，述語によって表現します。述語では，比較述語，論理述語，Between述語，In述語，Like述語，Null述語およびExists述語で構成される検索条件が指定できます。

述語の結果は，「真」，「偽」または「不定」のどれかで得られます。

述語の詳細については，「2.8　述語の構文規則」を参照してください。

(c)　関数

DocumentBrokerでは，基本的なSQLの文法では表現できないedmSQLでの拡張機能を，関数で表現します。

関数には，HiRDB Text Search Plug-in，またはHiRDB XML Extensionの機能を使用した検索を実現する関数と，DocumentBrokerで扱うオブジェクトや文字列の変換機能を実現する関数があります。

関数の詳細については，「2.9　関数指定の構文規則」を参照してください。

(d)　データ操作

edmSQLで実行できるデータ操作とは，ORDER BY句による検索結果の並べ替えです。

データ操作の詳細については，「2.10　データ操作の構文規則」を参照してください。

2.2　表記規則

この節では，edmSQLの文法を説明する際に使用する文法規則について説明します。

edmSQLの構文規則は，BNF表記を使用して説明します。

BNF表記について，次に示します。

<a> ::= <b><c>は，構文要素<a>は，構文要素<b>および<c>から構成されることを意味します。

特殊記号およびキーワードは，終端記号であるため，このマニュアルに記載してあるとおりに記述する必要があります。「<」と「>」で囲まれた構文要素は，終端記号ではない構文要素です。

「|」（ストローク）は，選択肢の分割を意味します。A | B | Cの場合は，選択肢として，A，B，またはCを選択することを意味します。

「〔」と「〕」で囲まれた要素は，オプションであり，省略できます。

「{」と「}」で囲まれている要素は，その内部の「|」で区切られた要素の中からどれか一つを選択することを意味します。

「...」は，直前の構文要素の1回以上の繰り返しを意味します。

「!!」は，注釈の開始を意味します。注釈は改行で終わります。

2.3　使用できるデータ型と演算子・関数・述語の関係

この節では，edmSQL文で使用できるデータ型と演算子・関数・述語との関係について説明します。

＜この節の構成＞

2.3.1　edmSQLで使用できるデータ型

2.3.2　論理型

2.3.3　整数型

2.3.4　オブジェクト型

2.3.5　VariableArray型

2.3.6　文字列型

2.3.7　バイナリ型

2.3.1　edmSQLで使用できるデータ型

edmSQL文で使用できるデータ型は，次のとおりです。

論理型

整数型

オブジェクト型

VariableArray型

文字列型

バイナリ型

このうち，バイナリ型のデータについては，DocumentBrokerクラスライブラリではString型のデータとして扱います。

使用できるデータ型ごとに，次の項目について説明します。

edmSQL文の表現形式

演算子

関数

述語

2.3.2　論理型

論理型は，値と評価の二つの概念を持ちます。それぞれに対して，TRUE，FALSE，UNKNOWNの三つの表現があります。

ここでは，論理型の概念，論理型のデータ型を使用する表現形式，演算子，関数および述語について説明します。また，DocumentBrokerクラスライブラリで扱うデータ型との対応についても説明します。

＜この項の構成＞

(1)　論理型の概念

(2)　表現形式

(3)　演算子・関数

(4)　述語

(5)　DocumentBrokerクラスライブラリで扱うデータ型との対応

(1)　論理型の概念

ここでは，論理型の値および評価について説明します。

(a)　値としての論理型

値として扱う論理型のデータ型は，物理的実体として存在します。これは，Boolean型のプロパティの値または定数値として表現します。

値には，TRUE，FALSE，UNKNOWNの三つの表現があります。edmSQLでは，これらの表現が，それぞれ整数値で実装されています。これは，SQLの概念にはない，edmSQL独自の対応付けです。

値としての論理型の表現と定数値の対応を，次の表に示します。

表2-1　値としての論理型の表現と定数値の対応

表現 | 定数値
TRUE | 1
FALSE | 0
UNKNOWN | 2

(b)　評価としての論理型

評価として扱う論理型のデータ型は，物理的な実体を持ちません。検索条件や検索関数の評価結果として返ってくるデータ型です。

評価には，真，偽，不定の三つの値があります。表現と評価の値は，SQLと同じ概念で対応付けられます。

評価としての論理型の表現と値との対応を，次の表に示します。

表2-2　評価としての論理型の表現と定数値の対応

表現 | 評価の値
TRUE | 真
FALSE | 偽
UNKNOWN | 不定

(2)　表現形式

ここでは，論理型の値および評価の表現形式について説明します。

(a)　論理型の値の表現形式

値として扱う論理型の表現形式を次の表に示します。

表2-3　論理型の値の表現形式

値
定義

リテラル
TRUE
FALSE
UNKNOWN

プロパティ
Boolean型のプロパティ
格納値：0，1，2

変数として指定できる値
?パラメタ

(b)　論理型の評価の表現形式

評価として扱う論理型を，直接表現する形式はありません。

(3)　演算子・関数

ここでは，論理型の値および評価を被演算子として扱う演算子および関数について説明します。

(a)　論理型の値を被演算子として扱う演算子・関数

論理型の値を被演算子として扱う演算子・関数はありません。

論理型の評価を被演算子として扱う演算子を，次の表に示します。

表2-4　論理型の評価を被演算子として扱う演算子

演算子の種類
演算子

論理演算子
AND
OR
NOT

(b)　論理型の評価を被演算子として扱う演算子・関数

論理型の値を被演算子として扱う演算子・関数はありません。

(4)　述語

ここでは，論理型の値および評価を評価対象とする述語について説明します。

(a)　論理型の値を評価対象とする述語

評価対象が，論理型の値である述語を次の表に示します。

表2-5　評価対象が論理型の値である述語

述語の種類
述語

比較述語
=
<>

In述語
IN

(b)　論理型の評価を評価対象とする述語

評価対象が，論理型の評価である述語を次の表に示します。

表2-6　評価対象が論理型の評価である述語

述語の種類 | 述語
論理述語 | IS TRUE

(5)　DocumentBrokerクラスライブラリで扱うデータ型との対応

ここでは，edmSQLで扱う論理型の値および評価と，DocumentBrokerクラスライブラリで扱うデータ型との対応について説明します。

(a)　DocumentBrokerクラスライブラリで扱うデータ型との対応

edmSQLで扱う論理型の値とDocumentBrokerクラスライブラリで扱うデータ型との対応を，次の表に示します。

表2-7　edmSQLの論理型の値とDocumentBrokerクラスライブラリで扱うデータ型との対応

edmSQLのデータ型
DocumentBrokerクラスライブラリで扱うデータ型
値

論理型（値）
int（定数定義クラスの値）
DbjDef.DMA_TRUE（=1）
DbjDef.DMA_FALSE（=0）
DbjDef.DMA_UNKNOWN（=2）

(b)　論理型の評価とDocumentBrokerクラスライブラリで扱うデータ型との対応

論理型の評価に，DocumentBrokerクラスライブラリで扱うデータ型と対応するものはありません。

2.3.3　整数型

整数型で表現するのは，4バイト（32ビット）で表現できる符号付き整数値，または符号と数字文字列で表現する，整数リテラルです。

次に，整数型のデータ型を使用する表現形式，演算子，関数および述語について説明します。また，DocumentBrokerクラスライブラリの値との対応についても説明します。

＜この項の構成＞

(1)　表現形式

(2)　演算子・関数

(3)　述語

(4)　DocumentBrokerクラスライブラリで扱うデータ型との対応

(1)　表現形式

整数型の値の表現形式を次の表に示します。

表2-8　整数型の値の表現形式

値の種類
定義

リテラル
符号および数字列

プロパティ
Integer32型のプロパティ
格納値：-2,147,483,648～2,147,483,647

変数として指定できる値
?パラメタ

(2)　演算子・関数

整数型の値を被演算子または引数として扱う演算子および関数を次の表に示します。

表2-9　整数型の値を被演算子または引数とする演算子・関数

演算子・関数の種類
演算子・関数

整数の四則演算子
+
-
*
/

単項演算子
+
-

数値関数
ABS()

(3)　述語

評価対象が整数型の値である述語を次の表に示します。

表2-10　整数型の値を評価対象とする述語

述語の種類
述語

比較述語
=
<
>
<=
>=
<>

In述語
IN

Between述語
BETWEEN

(4)　DocumentBrokerクラスライブラリで扱うデータ型との対応

DocumentBrokerクラスライブラリで扱うデータ型との対応を次の表に示します。

表2-11　edmSQLの整数型とDocumentBrokerクラスライブラリで扱うデータ型との対応

edmSQLのデータ型 | DocumentBrokerクラスライブラリで扱うデータ型 | 値
整数型 | int，Integer | -2,147,483,648～2,147,483,647

2.3.4　オブジェクト型

オブジェクトリファレンスとは，DocumentBrokerオブジェクトへのリファレンスを示すプロパティの値です。例えば，dmaProp_ParentContainerプロパティの値がこれに当たります。

オブジェクト型の値のうち，オブジェクトリファレンスは検索条件に直接指定できません。検索で指定する場合には，オブジェクトリファレンスが示す実体であるDocumentBrokerオブジェクトのOIID文字列を指定します。例えば，dmaProp_ParentContainerプロパティの値を指定したい場合，検索条件にはdmaProp_ParentContainerプロパティが参照している実体のDocumentBrokerオブジェクト（Containerオブジェクトなど）のOIIDを表す文字列を指定します。

このOIID文字列の値は，検索実行時には，次のどちらかの方法でオブジェクトリファレンスの値に変換する必要があります。

objref関数で変換する
edmSQL文にオブジェクトリファレンスの実体であるOIIDを直接指定する場合の変換方法です。
objref関数の詳細については，「2.9.3(4) <objref関数>の詳細」を参照してください。

<?パラメタ>を使用して変換する
edmSQL文に<?パラメタ>を指定しておく場合の変換方法です。<?パラメタ>にOIID文字列を設定する方法については，「1.7　パラメタの操作」を参照してください。

また，検索結果としてオブジェクト型の値を取得した場合は，oiidstr関数を使用して，そのオブジェクト型の値が表すオブジェクトリファレンスの実体であるオブジェクトのOIIDが取得できます。oiidstr関数の詳細については，「2.9.3(3) <oiidstr関数>の詳細」を参照してください。

次に，オブジェクト型のデータ型を使用する表現形式および述語について説明します。また，DocumentBrokerクラスライブラリで扱うデータ型との対応についても説明します。

なお，オブジェクト型の値を使用する演算子および関数はありません。

＜この項の構成＞

(1)　表現形式

(2)　述語

(3)　DocumentBrokerクラスライブラリで扱うデータ型との対応

(1)　表現形式

オブジェクト型の値の表現形式を，次の表に示します。

表2-12　オブジェクト型データの表現形式

値の種類 | 定義
プロパティ | Object型のプロパティ

(2)　述語

評価対象がオブジェクト型の値である述語を次の表に示します。

表2-13　オブジェクト型の値を評価対象とする述語

述語の種類 | 述語
比較述語 | =
In述語 | IN

なお，比較述語，In述語では，オブジェクトリファレンス同士を比較できます。

(3)　DocumentBrokerクラスライブラリで扱うデータ型との対応

オブジェクト型を扱う場合は，<変換関数>を使用するか，<?パラメタ>を使用してください。

2.3.5　VariableArray型

＜この項の構成＞

(1)　表現形式

(2)　述語

(3)　DocumentBrokerクラスライブラリで扱うデータ型との対応

(1)　表現形式

VariableArray型の値の表現形式を，次の表に示します。

表2-14　文字列型の値の表現形式

値の種類 | 定義
プロパティ | VariableArray型のプロパティ

(2)　述語

評価対象がVariableArray型の値である述語を次の表に示します。

表2-15　 VariableArray型の値を評価対象とする述語

述語の種類 | 述語
比較述語 | =
In述語 | IN

(3)　DocumentBrokerクラスライブラリで扱うデータ型との対応

DocumentBrokerクラスライブラリで扱うデータ型との対応を次の表に示します。

表2-16　edmSQLのVariableArray型とDocumentBrokerクラスライブラリで扱うデータ型との対応

edmSQLのデータ型 | DocumentBrokerクラスライブラリで扱うデータ型 | 値
VariableArray型 | DbjVArray | －

2.3.6　文字列型

文字列型で表現するのは，DocumentBrokerで使用できる文字コードセットから構成される任意の長さの文字列です。DocumentBrokerで使用できる文字コードセットについては，「2.4.1　文字コードセットとの対応」を参照してください。

次に，文字列型のデータ型を使用する表現形式，演算子，関数および述語について説明します。また，DocumentBrokerクラスライブラリで扱うデータ型との対応についても説明します。

＜この項の構成＞

(1)　表現形式

(2)　演算子

(3)　述語

(4)　DocumentBrokerクラスライブラリで扱うデータ型との対応

(1)　表現形式

文字列型の値の表現形式を，次の表に示します。

表2-17　文字列型の値の表現形式

値の種類
定義

リテラル
'任意の文字列'
詳細は，「2.4.6　<リテラル>」を参照してください。

プロパティ
String型のプロパティ
格納値：定義長以下の文字列

変数として指定できる値
?パラメタ

(2)　演算子

文字列型の値を被演算子または引数とする，演算子を次の表に示します。

表2-18　文字列型の値を被演算子または引数とする演算子

演算子の種類 | 演算子
文字列結合演算子 | ||

(3)　述語

評価対象が文字列型の値である述語を次の表に示します。

表2-19　文字列型の値を評価対象とする述語

述語の種類
述語

比較述語
=
<
>
<=
>=
<>

In述語
IN

Between述語
BETWEEN

Like述語
LIKE
XLIKE

(4)　DocumentBrokerクラスライブラリで扱うデータ型との対応

DocumentBrokerクラスライブラリで扱うデータ型との対応を次の表に示します。

表2-20　edmSQLの文字列型とDocumentBrokerクラスライブラリで扱うデータ型との対応

edmSQLのデータ型 | DocumentBrokerクラスライブラリで扱うデータ型 | 値
文字列型 | String | 4,294,967,295バイト以下の文字列

2.3.7　バイナリ型

バイナリ型で表現するのは，任意のバイト列を表現するデータです。主に，文書のコンテンツを表現します。関数の引数や，戻り値に指定する型としてだけ使用できます。プロパティの型としては定義できません。

バイナリ型が使用できる関数についての詳細は，「2.9　関数指定の構文規則」を参照してください。

＜この項の構成＞

(1)　表現形式

(2)　DocumentBrokerクラスライブラリで扱うデータ型との対応

(1)　表現形式

バイナリ型のデータの表現形式を，次の表に示します。

表2-21　バイナリ型のデータの表現形式

値の種類 | 定義
変数 | ?パラメタ

バイナリ型のデータは，?パラメタ以外の形式では表現できません。

(2)　DocumentBrokerクラスライブラリで扱うデータ型との対応

DocumentBrokerクラスライブラリで扱うデータ型との対応を，次の表に示します。

表2-22　edmSQLのバイナリ型とDocumentBrokerクラスライブラリで扱うデータ型との対応

edmSQLのデータ型 | DocumentBrokerクラスライブラリで扱うデータ型 | 値
バイナリ型 | String | 4,294,967,295バイト以下の文字列※

注※　バイナリ型のデータはDocumentBrokerクラスライブラリではString型の値として取得できます。

2.4　字句規則

ここでは，edmSQLで使用する字句に関する規則について説明します。

＜この節の構成＞

2.4.1　文字コードセットとの対応

2.4.2　edmSQLで使用できる文字

2.4.3　<区切り文字>

2.4.4　<トークン>

2.4.5　<キーワード>

2.4.6　<リテラル>

2.4.7　<識別子>

2.4.8　<名前>

2.4.9　<特殊なプロパティ>

2.4.10　<?パラメタ>

2.4.11　<OIID>

2.4.1　文字コードセットとの対応

ここでは，edmSQLで使用できる字句と，文字コードセットとの対応について説明します。

各国語を表記するための文字などは，文字コードセットに依存します。
edmSQLで使用できる文字コードセットは，前提プログラムであるOSとHiRDBに依存します。したがって，これらのプログラムで使用できない文字を使用した場合は，前提プログラムのエラーになります。

edmSQLで使用する字句の規則は，検索の対象になる文書のコンテンツには適用されません。全文検索機能を使用する場合に検索対象になる文書の字句については，全文検索機能を提供するHiRDB Text Search Plug-in，またはHiRDB XML Extensionに依存します。

次の文字コードセットが使用できます。

文書空間で使用する文字コード種別がShift-JISの場合

半角文字JIS X 0201

全角文字JIS X 0208

文書空間で使用する文字コード種別がUTF-8の場合

MS-UnicodeまたはJIS X 0221※

注※　UCS-4用のインデクス定義の追加をしていないプロパティを，全文検索するとエラーとなります。UCS-4用のインデクス定義の詳細は，マニュアル「DocumentBroker Version 5　システム導入・運用ガイド」を参照してください。

2.4.2　edmSQLで使用できる文字

ここでは，edmSQLで使用できる文字について説明します。

＜この項の構成＞

(1)　使用できる文字

(2)　規約詳細

(1)　使用できる文字

使用できる文字を，次の表に示します。

表2-23　edmSQLで使用できる文字

文字
値

英大文字
A～Z

英小文字
a～z

数字
0～9

特殊文字（半角文字コード）
<空白>
<ダブルクォート>（"）
<パーセント>（%）
<アンパサンド>（&）
<シングルクォート>（'）
<左括弧>（(）
<右括弧>（)）
<アスタリスク>（*）
<+符号>（+）
<コンマ>（,）
<-符号>（-）
<ピリオド>（.）
<斜線>（/）
<コロン>（:）
<セミコロン>（;）
<小なり演算子>（<）
<等号演算子>（=）
<大なり演算子>（>）
<疑問符>（?）
<左角括弧またはtrigraph >（ [ または (??）
<右角括弧またはtrigraph >（ ] または ??)）
<サーカムフレックス>（^）
<下線文字>（_）
<垂直棒>（|）
<左波括弧>（{）
<右波括弧>（}）

(2)　規約詳細

edmSQLで使用できる文字の詳細について説明します。

<空白>は，JIS X 0201では，0x20に対応します。

<拡張文字>とは，使用できる文字コードセットに対応して，使用可能な文字として拡張した文字です。使用できる文字コードセットについては，「2.4.1　文字コードセットとの対応」を参照してください。

2.4.3　<区切り文字>

<トークン>は，<区切り文字>によって分割されます。<区切り文字>は，<トークン>を抽出するための字句解析で削除される文字です。このため，構文解析を実行する時点では，<区切り文字>は出現しません。

＜この項の構成＞

(1)　<区切り文字>として指定できる字句

(2)　規約詳細

(1)　<区切り文字>として指定できる字句

<区切り文字>として指定できる字句は，<white space>です。

(2)　規約詳細

<区切り文字>の詳細について説明します。

edmSQLでは，次の定義を<white　space>として定義します。

Horizontal Tab　　　 [0x09]
Line Feed　　　　　　[0x0A]
Vertical Tabulation　[0x0B]
Form Feed　　　　　　[0x0C]
Carriage Return　　　[0x0D]
Space　　　　　　　　[0x20]

[　]内は，対応するASCIIコードです。

2.4.4　<トークン>

<トークン>の定義について説明します。<トークン>は，構文の基本要素です。

<トークン>の定義には，次の要素の定義が含まれます。

<キーワード>

<リテラル>の一部

<識別子>

それぞれの要素については，「2.4.5　<キーワード>」，「2.4.6　<リテラル>」および「2.4.7　<識別子>」を参照してください。

なお，<トークン>として指定できる文字列の長さなどについては，HiRDBの制限に従います。

＜この項の構成＞

(1)　<トークン>として指定できる字句

(2)　規約詳細

(1)　<トークン>として指定できる字句

<トークン>として指定できる字句の種類と値を次の表に示します。それぞれの字句の詳細については，参照先の説明を参照してください。

表2-24　<トークン>として指定できる字句の種類と値

種　類
値
参照先

正規識別子
先頭が<英字>で，先頭以外が<英字>，<数字>および<下線文字>の値
2.4.7　<識別子>

キーワード
<予約されたキーワード>および<予約されていないキーワード>の値
2.4.5　<キーワード>

符号なし数値リテラル
符号なしの数字の値
2.4.6　<リテラル>

バイナリ長トークン
<符号なし数値>に<multiplier>（k，m，g）が付いた値
2.9　関数指定の構文規則のAS<データ型指定>

区切られた識別子
<ダブルクォート>で囲まれた値
（<区切り文字>，<ダブルクォート以外の文字>および<二重ダブルクォート>を含むことができる）
2.4.7　<識別子>

文字列リテラル
<シングルクォート>で囲まれた値
（<シングルクォート以外の文字>または<二重シングルクォート>（''）が指定できる）
2.4.6　<リテラル>

特殊文字
edmSQLで使用できる特殊文字
2.4.2　edmSQLで使用できる文字

そのほかの文字

<不等号演算子>（<>）

<大なり等号演算子>（>=）

<小なり等号演算子>（<=）

<文字列連結演算子>（||）

<右矢印演算子>（->）

<二重コロン>（::）

<左角括弧> （[）

<右角括弧>（]）

<アンパサンド>（&）

－

（凡例）

－：該当しません。

(2)　規約詳細

<トークン>の詳細について説明します。

(a)　<トークン>が区切られる単位についての詳細

<トークン>で指定できる要素のうち，<正規識別子>，<キーワード>，<符号なし数値リテラル>および<バイナリ長トークン>は，<トークン>を区切る要素として扱われます。これ以外の<トークン>を指定する場合は，前後に<区切り文字>または区切る要素になる<トークン>を指定して，前後との区切りを明確にしてください。区切る要素を指定しないで指定した場合，複数の<トークン>が一つの<トークン>として扱われたり，字句解析エラーになったりします。
<トークン>の表記例とedmSQL検索実行時の値の対応を，次の表に示します。

表2-25　トークンの表記例とedmSQL検索実行時の値の対応

トークンの表記例 | edmSQL検索実行時の値
ABC□123 | 正規識別子ABCと数値リテラル123
ABC123 | 正規識別子ABC123
ABC'123' | 正規識別子ABCと文字列リテラル'123'
123ABC | 正規識別子の先頭に数字は指定できないため，字句解析エラーになります。

（凡例）

□：区切り文字

<トークン>と<トークン>の間には任意の個数の区切り文字を指定できます。
例えば，□を区切り文字とした場合，「prop□□□=□□□□□□□□□10」は，「prop=10」と同じ意味になります。また，「COUNT□□□□□(□□□*□□)」は，「COUNT(*)」と同じ意味になります。

<トークン>の中に区切り文字を指定することはできません。ただし，<シングルクォート>に囲まれた文字列リテラルや<ダブルクォート>に囲まれて区切られた識別子の中には，区切り文字を指定できます。
また，「'<□='」は，文字列定数「'<□='」と識別されるため，エラーにはなりません。

(b)　<ダブルクォート><ダブルクォート以外の文字><二重ダブルクォート>に関する詳細

<ダブルクォート以外の文字>は，使用できる文字コードセットの文字から，<ダブルクォート>を除いたものです。edmSQLで使用できる文字で構成されている必要はありません。
ただし，DocumentBrokerのメタ定義で使用できる文字およびHiRDBで使用できる文字以外は指定できません。

<二重ダブルクォート>は，<区切られた識別子>内で<ダブルクォート>を指定する場合に使用します。

(c)　<バイナリ長トークン>についての詳細

<バイナリ長トークン>は，バイナリ型の定義長を指定するためのトークンです。関数の引数に指定する?パラメタに対して，データ型を明示するためのAS<データ型指定>で使用します。

(d)　使用できる<特殊文字>についての詳細

次に示す<特殊文字>および演算子は，文字列リテラルの字句としてだけ使用できます。それ以外で使用した場合，字句解析時にエラーになります。
%　&　:　(??　??)　^　|　{　}　->　::

2.4.5　<キーワード>

<キーワード>の定義について説明します。<キーワード>には<予約されたキーワード>（予約語）と<予約されていないキーワード>があります。<予約されたキーワード>は正規識別子として使用できませんが，<予約されていないキーワード>は正規識別子として使用できます。

<キーワード>では，大文字と小文字は区別されません。ただし，このマニュアルの例では，<予約されたキーワード>を大文字で，<予約されていないキーワード>を小文字で表記します。

edmSQLのキーワードはSQLのキーワードを基盤として，次のように定義されています。

edmSQLでは，SQLのキーワードおよびHiRDBのキーワードのうち，最小限のものをキーワードとして定義しています。すべてのSQLのキーワードおよびHiRDBのキーワードが定義されているのではありません。ただし，ユーザが識別子を指定する場合には，edmSQLのキーワードのほか，HiRDBのキーワードも指定できません。識別子としてHiRDBのキーワードを指定した場合，HiRDBのエラーになります。

edmSQLでは，全文検索関数などの関数名は<予約されていないキーワード>として定義されています。そのほかのキーワードは<予約されたキーワード>として定義されています。

DocumentBrokerの文書管理モデルで使用する用語として，幾つかのキーワードが<予約されたキーワード>として定義されています。

＜この項の構成＞

(1)　<キーワード>として指定できる字句

(2)　規約詳細

(1)　<キーワード>として指定できる字句

<キーワード>として指定できる字句を，次の表に示します。

表2-26　<キーワード>として指定できる字句

種　類
値
特　徴

関数名
concept_with_score
contains
contains_with_score
extracts
objref
oiid
oiidstr
score
score_concept
予約されていないキーワードです。

multiplier
k
m
g

句に使用するキーワード
SELECT
FROM
WHERE
ORDER
BY
GROUP
HAVING
予約されたキーワードです。

述語に使用するキーワード
IS
ALL
SOME
ANY
IN
LIKE
XLIKE
EXISTS
BETWEEN
AS
ESCAPE

論理演算に使用するキーワード
NOT
AND
OR

リテラルに使用するキーワード
NULL
TRUE
FALSE
UNKNOWN

結合条件に使用するキーワード
JOIN
INNER
OUTER
LEFT
ON

データ操作および重複排除に使用するキーワード
DISTINCT
ASC
DESC

集合関数で使用するキーワード
COUNT

数値関数で使用するキーワード
ABS

プロパティのデータ型で使用するキーワード
BINARY
BOOL
BOOLEAN
INT
INTEGER
STRING

(2)　規約詳細

<キーワード>の詳細について説明します。

(a)　<キーワード>の表記についての詳細

キーワードでは，大文字と小文字が区別されません。正規識別子の規約とは異なりますので，ご注意ください。edmSQLでは，キーワードはすべて大文字として管理されます。

例えば，次の表記は，すべて<予約されたキーワード>「SELECT」として識別されます。

Select　SeLect　select　selecT

また，次の表記はすべて<予約されていないキーワード>「contains_with_score」として識別されます。

Contains_With_SCORE　contains_with_scorE　
CONTAINS_WITH_SCORE

(b)　<キーワード>と<正規識別子>の関係についての詳細

<予約されたキーワード>は正規識別子として使用できません。

<予約されていないキーワード>は正規識別子として使用できますが，HiRDBで予約語として定義されている場合は，使用できません。使用すると，データベースエラーになります。

2.4.6　<リテラル>

<リテラル>の定義について説明します。<リテラル>とは，null値以外の値です。

<リテラル>には，次の種類があります。

文字列リテラル

数値リテラル

論理リテラル

＜この項の構成＞

(1)　<リテラル>として指定できる字句

(2)　規約詳細

(1)　<リテラル>として指定できる字句

<リテラル>として指定できる字句を，次の表に示します。

表2-27　<リテラル>として指定できる字句

種　類
値

文字列リテラル
<シングルクォート>で囲まれた文字列
（文字列には，<シングルクォート以外の文字>※または<二重シングルクォート>（''）が指定できる）

数値リテラル
符号（+または-）付きの数字
（符号は省略できる）

論理リテラル
TRUE
FALSE
UNKNOWN

注※　<シングルクォート以外の文字>は，使用できる文字コードセットの文字から，<シングルクォート>を除いたものです。edmSQLで使用できる文字で構成される必要はありません。ただし，文字列リテラルは文字列型の値であるため，文字列型を格納するHiRDBのデータ型（MVARCHAR型）で制限される文字は使用できません。

(2)　規約詳細

<リテラル>の詳細について説明します。

(a)　文字列リテラルの詳細

文字列リテラルは，任意の文字列定数を表現する場合に使用します。文字列リテラルは，文字列型の値に対応します。したがって，文字列リテラルで使用できる文字列の長さは，HiRDBでの制限に従います。HiRDBの制限以上の長さの文字列を文字列リテラルとして指定したい場合は，?パラメタを使用してください。

文字列リテラルの表記例とedmSQL検索実行時の値の対応を，次の表に示します。なお，文字列リテラルを表す文字列型の値は，HiRDBではMVARCHAR型のデータとして格納されます。

表2-28　文字列リテラルの表記例とedmSQL検索実行時の値の対応

文字列リテラルの表記例 | 値の扱われ方 | edmSQL検索実行時の値
'aaa' | 文字列データ | aaa
'124' | 文字列データ | 124
'abc あいうえお' | 混在文字列データ | abc あいうえお
'ab''c あ''いうえお' | シングルクォートのエスケープ | ab'c あ'いうえお

(b)　数値リテラル（符号付き数値リテラル）の詳細

数値リテラルは，任意の数値定数を表現する場合に使用します。なお，DocumentBrokerで使用できる数値リテラルは，4バイトの整数値だけです。

なお，4バイトの整数値の有効値は，-2,147,483,648～2,147,483,647までの値です。この範囲外の値を指定した場合，HiRDBの制限に従って，目的の検索が実行できなかったり，データベースのエラーになったりします。

数値リテラルの表記例とedmSQL検索実行時の値の対応を，次の表に示します。

表2-29　数値リテラルの表記例とedmSQL検索実行時の値の対応

数値リテラルの表記例 | 値の扱われ方 | edmSQL検索実行時の値
123 | 数値データ | 123
0000000123​ | 数値データ | 123
+1234567890​ | 数値データ（正の整数値） | 1234567890​
-1234567890​ | 数値データ（負の整数値） | -1234567890​
987654321000000000​ | リテラルとしては正しい表記ですが，4バイト整数値の有効値ではないため，正しく扱われません。 | －

（凡例）

－：正しい値になりません。

(c)　論理リテラルの詳細

論理リテラルは，論理値である「真」，「偽」および「不定」の三つの値を，それぞれ「TRUE」，「FALSE」および「UNKNOWN」で表現します。

論理型の値を表すBoolean型のプロパティの値は，TRUEは「1」，FALSEは「0」，UNKNOWNは「2」として，数値で格納されます。ただし，この値をedmSQLで数値として扱うことはできません。edmSQLで指定する場合は，必ずTRUE，FALSEまたはUNKNOWNとして表現してください。

また，論理リテラルを整数の演算に使用する値として使用することもできません。ただし，DocumentBrokerクラスライブラリを使用して，Javaの基本データ型の値に変換した場合は，論理リテラルの値を数値として扱うこともできます。この場合の数値のデータベースでの扱われ方は，HiRDBでのデータモデルの対応付けに依存します。

論理リテラルの表記ごとの，論理値を表すTRUEの扱われ方について，例に示します。

次のTRUEはデータベースによって，論理述語として処理されます。

contains(edmProp_StIndex,'文章[概要{"コンピュータ"}]') IS TRUE

次のTRUEはDocumentBrokerクラスライブラリを通して数値として処理されます。ただし，myProp_OKはBoolean型のプロパティです。

myProp_OK = TRUE

2.4.7　<識別子>

<識別子>の定義について説明します。<識別子>には，<正規識別子>と<区切られた識別子>があります。

なお，識別子には，日本語の文字コードセットは使用できません。

＜この項の構成＞

(1)　<識別子>として指定できる字句

(2)　規約詳細

(1)　<識別子>として指定できる字句

<識別子>として指定できる字句を，次の表に示します。

表2-30　<識別子>として指定できる字句

種　類
値

正規識別子
先頭は<英字>で，先頭以外が<英字>，<数字>および<下線文字>の値

例

usrClass_ABC

区切られた識別子
<ダブルクォート>で囲まれた値
（<区切り文字>，<ダブルクォート以外の文字>※または<二重ダブルクォート>（""）を含むことができる）

例

"user class"

"user""class"

注※　<ダブルクォート以外の文字>として指定できるのは，英字，数字および「"」を除いた特殊文字です。

(2)　規約詳細

<識別子>の詳細について説明します。

(a)　<正規識別子>に関する詳細

edmSQLでは，<正規識別子>に使用される英字の<英大文字>と<英小文字>が区別して扱われます。このため，SQLを使用する場合のように，<英大文字>と<英小文字>を区別するために，<区切られた識別子>を使用する必要はありません。

<正規識別子>に<キーワード>は使用できません。<キーワード>と同じ識別子を使用する場合は，<区切られた識別子>として指定してください。

(b)　<区切られた識別子>に関する詳細

値が空の区切られた識別子「""」は，無効な識別子として扱われます。これを指定した場合は，字句解析エラーになります。

2.4.8　<名前>

<名前>の定義について説明します。<名前>では，クラス名，プロパティ名，相関名および関数名を表現します。

<名前>の基本要素は，<識別子>です。

＜この項の構成＞

(1)　<名前>として指定できる字句

(2)　規約詳細

(1)　<名前>として指定できる字句

<名前>として指定できる字句を，次の表に示します。

表2-31　<名前>として指定できる字句

種　類
値
参照先

クラス名

<識別子>

2.4.7　<識別子>

プロパティ名

<識別子>

<特殊なプロパティ>

2.4.7　<識別子>

2.4.9　<特殊なプロパティ>

関数名
（変換関数）

oiidstr

objref

oiid

（全文検索関数）

contains

contains_with_score

score

extracts

（概念検索関数）

concept_with_score

score_concept

2.9　関数指定の構文規則

相関名
<識別子>

2.4.7　<識別子>

(2)　規約詳細

<名前>の詳細について説明します。

(a)　クラス名の詳細

<クラス名>は，文書空間内でDocumentBrokerクラスを識別するための名称です。使用できる文字列の長さは， HiRDBのテーブル名に使用できる文字列の長さに従います。

<識別子>の詳細は，「2.4.7　<識別子>」を参照してください。

(b)　プロパティ名の詳細

<プロパティ名>は，文書空間内でプロパティを識別するための名称です。使用できる文字列の長さは，HiRDBのカラム名に使用できる文字列の長さに従います。

なお，そのプロパティがどのDocumentBrokerクラスのプロパティであるかが明確でない場合は，<プロパティ名>を<クラス名>または<相関名>で修飾する必要があります。

<識別子>および<特殊なプロパティ>の詳細は，「2.4.7　<識別子>」および「2.4.9　<特殊なプロパティ>」を参照してください。

注意事項

DocumentBrokerでは，プロパティの定義は文書空間ごとに定義されています。したがって，異なるクラスに登録されたプロパティであっても，同じ文書空間内のクラスであれば，プロパティの性質は同じことが保証されています。ほかのオブジェクト指向言語で，クラスのスコープ単位にプロパティが定義されているものとは異なりますので，ご注意ください。

(c)　関数名の詳細

<関数名>は，edmSQLで予約されていないキーワードとして登録されている関数を識別するための名称です。

関数についての詳細は，「2.9　関数指定の構文規則」を参照してください。

(d)　相関名の詳細

<相関名>は，同じクラスを結合する場合に，結合するクラスを区別するための名称です。一つの<FROM句>の中に，同じクラスを複数回指定する場合には，必ず<相関名>を指定して，それぞれのクラスを一意に識別できるようにしてください。

そのほか，<相関名>は，<クラス名>の別名としても使用できます。

<相関名>として使用できる文字列の長さなどの制限については，HiRDBの相関名に関する制限に従います。

2.4.9　<特殊なプロパティ>

<特殊なプロパティ>の定義について説明します。<特殊なプロパティ>とは，全文検索で使用する全文検索インデクス用プロパティです。

＜この項の構成＞

(1)　<特殊なプロパティ>として指定できる字句

(2)　規約詳細

(1)　<特殊なプロパティ>として指定できる字句

<特殊なプロパティ>として指定できる字句を，次の表に示します。

表2-32　<特殊なプロパティ>として指定できる字句

値 | 説　明
edmProp_TextIndex | edmProp_TextIndexプロパティを表す<正規識別子>
edmProp_ConceptTextIndex | edmProp_ConceptTextIndexプロパティを表す<正規識別子>

これらのプロパティの特長については，マニュアル「DocumentBroker Version 5　概説」の全文検索インデクスの作成の説明を参照してください。

(2)　規約詳細

<特殊なプロパティ>の詳細について説明します。

(a)　<特殊なプロパティ>と<プロパティ名>についての詳細

<特殊なプロパティ>は，edmSQLで，DocumentBrokerの検索モデルを拡張するために導入されたプロパティです。このプロパティは，edmSQLによって予約されたプロパティ名であるため，<プロパティ名>としては使用できません。なお，DocumentBrokerとしても，ユーザ定義プロパティに「dmaProp_」，「edmProp_」および「dbrProp_」で始まるプロパティ名称は使用できません。

DocumentBrokerで拡張したプロパティのうち，<特殊なプロパティ>として定義されていないプロパティについては，ほかのプロパティと同様の処理ができます。

(b)　<特殊なプロパティ>を指定できる関数についての詳細

<特殊なプロパティ>を指定できる関数を示します。

edmProp_TextIndexを第1引数に指定できる関数

contains関数

contains_with_score関数

score関数

extracts関数

edmProp_ConceptTextIndexを第1引数に指定できる関数

contains関数

contains_with_score関数

score関数

extracts関数

concept_with_score関数

score_concept関数

<特殊なプロパティ>を引数に指定できる関数の詳細については，「2.9　関数指定の構文規則」を参照してください。

2.4.10　<?パラメタ>

<?パラメタ>は，検索条件の定数を構文解析時には固定しないで，検索実行時に定数を指定するために使用するパラメタです。edmSQL文には定数を指定する代わりに「?」を指定しておきます。これによって，問い合わせの実行直前にDbjQParamインターフェースのサブインターフェースをデータ型とした値を「?」に設定できます。<?パラメタ>を使用することで，構文解析済みのedmSQL文を定数値だけを変えて繰り返し利用できるので，処理性能が上がります。

また，概念検索を実行する場合には，検索条件は<?パラメタ>を使用しないと指定できません。

＜この項の構成＞

(1)　<?パラメタ>として指定できる字句

(2)　規約詳細

(1)　<?パラメタ>として指定できる字句

<?パラメタ>として指定できるのは，「?」だけです。

(2)　規約詳細

<?パラメタ>の詳細について説明します。

<?パラメタ>で指定される値のデータ型は不定です。このため，edmSQL文の構文解析時にはデータ型はチェックされません。ただし，AS<データ型指定>で明示的にデータ型を指定した<?パラメタ>については，データ型チェックの対象になります。

<ルーチンの起動>の引数として<?パラメタ>を使用する場合は，AS<データ型指定>で明示的にデータ型を指定してください。

2.4.11　<OIID>

<OIID>の定義について説明します。

検索対象になるオブジェクトは，OIIDによって識別されます。OIIDの値は，データベース上では，各オブジェクトのdmaProp_OIIDプロパティに，String型の16バイトの値として格納されています。

一方，DocumentBrokerクラスライブラリでは，OIIDを「dma://」で始まるOIID文字列（DMA URL）で表記します。これは，実際にdmaProp_OIIDプロパティに格納されている値とは異なります。このため，DocumentBrokerクラスライブラリで使用するOIID文字列を直接edmSQL文に指定しても，OIIDを対象にした検索はできません。このため，OIID文字列を指定する場合には，OIID変換インターフェースを使用して，dmaProp_OIIDプロパティの値に変換する必要があります。

なお，検索結果としてdmaProp_OIIDプロパティの値を取得する場合は，DocumentBrokerクラスライブラリで使用するOIID文字列に変換されたものが取得できるため，明示的に変換する必要はありません。

＜この項の構成＞

(1)　OIID文字列をdmaProp_OIIDプロパティの値に変換する指定（OIID変換インターフェース）

(2)　OIID変換インターフェースの使用例

(1)　OIID文字列をdmaProp_OIIDプロパティの値に変換する指定（OIID変換インターフェース）

検索条件にOIID文字列を指定する場合に，指定したOIID文字列をdmaProp_OIIDプロパティの値に変換するためには，次のどちらかの方法を使用します。

oiid関数で変換する
edmSQL文にOIID文字列を直接指定する場合の変換方法です。
oiid関数の詳細については，「2.9.3(4) <objref関数>の詳細」を参照してください。

<?パラメタ>を使用して変換する
edmSQL文に<?パラメタ>を指定しておく場合の変換方法です。<?パラメタ>にOIID文字列を設定する方法については，「1.7　パラメタの操作」を参照してください。

(2)　OIID変換インターフェースの使用例

ここでは，OIID変換インターフェースの使用例について説明します。

OIID変換インターフェースを使用しないでOIIDを検索しようとしている例

dmaProp_OIIDプロパティの値とOIID文字列の形式は異なるため，検索結果が「真」になる（検索結果が取得できる）ことはありません。

SELECT  myProp_Foo
FROM    myClass
WHERE  dmaProp_OIID = 'dma:///xxx/xxx/xxx…x'

oiid関数を使用してOIIDを検索する例

検索結果が「真」になる（検索結果が取得できる）可能性があります。

SELECT  myProp_Foo
FROM    myClass
WHERE  dmaProp_OIID = oiid('dma:///xxx/xxx/xxx…x')

<?パラメタ>を使用してOIIDを検索する例

検索結果が「真」になる（検索結果が取得できる）可能性があります。

SELECT  myProp_Foo
FROM    myClass
WHERE  dmaProp_OIID = ?

2.5　検索の実行単位の構文規則

edmSQL検索は，一つの<edmSQL文>から構成される，<edmSQLプログラム>ごとに実行されます。

形式

!! <edmSQLプログラム>の形式
<edmSQLプログラム> ::= <edmSQL文>
　　　　　　　　　　 ｜<edmSQL文> <セミコロン>

!! <edmSQL文>の形式
<edmSQL文>::= <問い合わせ文>

<問い合わせ文>については，「2.6　問い合わせ式の構文規則」を参照してください。

＜この節の構成＞

2.5.1　<edmSQLプログラム>

2.5.2　<edmSQL文>

2.5.1　<edmSQLプログラム>

ここでは，<edmSQLプログラム>の形式と規則について説明します。

＜この項の構成＞

(1)　<edmSQLプログラム>の形式

(2)　<edmSQLプログラム>についての規則

(1)　<edmSQLプログラム>の形式

<edmSQLプログラム> ::= <edmSQL文>
　　　　　　　　　　 ｜<edmSQL文> <セミコロン>

(2)　<edmSQLプログラム>についての規則

<edmSQLプログラム>は，一つの<edmSQL文>から構成されます。

<edmSQLプログラム>が<edmSQL文>で構成されていない場合は，構文エラーになります。また，<セミコロン>だけを指定した場合も，構文エラーになります。

2.5.2　<edmSQL文>

ここでは，<edmSQL文>の形式と規則について説明します。

＜この項の構成＞

(1)　<edmSQL文>の形式

(2)　<edmSQL文>についての規則

(1)　<edmSQL文>の形式

<edmSQL文>::= <問い合わせ文>

(2)　<edmSQL文>についての規則

<edmSQL文>に指定できるのは，<問い合わせ文>（SELECT文）だけです。

<edmSQL文>として指定できる文字列の長さの最大値は，HiRDBの制限に従います。

2.6　問い合わせ式の構文規則

問い合わせは，<問い合わせ文>（SELECT文）によって表現します。<問い合わせ文>には，SELECT句，FROM句，WHERE句およびORDER BY句を指定します。最も基本的な<問い合わせ文>は，SELECT句とFROM句から構成されます。

SELECT句には，検索結果として取得する項目を指定します。

FROM句およびWHERE句は，検索対象式として指定します。FROM句には，検索対象になるDocumentBrokerクラスを指定します。WHERE句には，検索条件を指定します。検索条件は，述語で表現します。述語については，「2.8　述語の構文規則」を参照してください。なお，WHERE句には，副問い合わせも指定できます。

ORDER BY句には，検索結果として取得した集合をソートするかどうかを指定します。ORDER BY句については，「2.10　データ操作の構文規則」を参照してください。

形式

!! <問い合わせ文>の形式
<問い合わせ文> ::= <問い合わせ式> 〔 <ORDER BY句> 〕
<問い合わせ式> ::= <問い合わせ指定>
　　　　　　　　 ｜<左括弧> <問い合わせ式> <右括弧>

!! <問い合わせ指定>の形式
<問い合わせ指定> ::= SELECT 〔 <集合指定子> 〕
　　　　　　　　　　<選択項目の並び> <検索対象式>
<選択項目の並び> ::= <アスタリスク>
　　　　　　　　　 ｜<選択項目> 〔 { <コンマ> <選択項目> }... 〕
<選択項目> ::= <一次子>
<集合指定子> ::= DISTINCT｜ALL

!! <検索対象式>の形式
<検索対象式> ::= <FROM句>
　　　　　　　　〔 <WHERE句> 〕

!! <FROM句>の形式
<FROM句> ::= FROM <検索対象>
<検索対象> ::=  <検索対象参照リスト>
　　　　　　　  <結合された検索対象>
<検索対象参照リスト> ::=<検索対象参照>
　　　　　　　　　　　 〔 { <コンマ> <検索対象参照> }... 〕
<検索対象参照> ::= <クラス名> 〔<相関名>〕

<結合された検索対象> ::= <条件指定結合>
<条件指定結合> ::= <検索対象一次子> 〔 <結合種別> 〕
　　　　　　　　JOIN <検索対象参照> <結合指定>

<検索対象一次子> ::= <検索対象参照>
　　　　　　　　　　　　｜<結合された検索対象>
　　　　　　　　　　　　｜<左括弧><結合された検索対象><右括弧>

<結合指定> ::= <結合条件>
<結合条件> ::= ON <検索条件>

<結合種別> ::= INNER
　　　　　　　｜<外部結合種別> 〔 OUTER 〕
<外部結合種別> ::= LEFT

!! <WHERE句>の形式
<WHERE句> ::= WHERE <検索条件>

!! <GROUP BY句>の形式
<GROUP BY句> ::= GROUP BY <グループ化項目の並び>
<グループ化項目の並び> ::= <グループ化項目>
　　　　　　　　　　　[ { <コンマ> <グループ化項目> }... ]
<グループ化項目> ::= <一次子>

!! <HAVING句>の形式
<HAVING句> ::= HAVING <検索条件>

!! <副問い合わせ>の形式
<副問い合わせ> ::=<左括弧> <問い合わせ式> <右括弧>

検索条件については，「2.8　述語の構文規則」を参照してください。

＜この節の構成＞

2.6.1　<問い合わせ文>

2.6.2　<問い合わせ指定>

2.6.3　<検索対象式>

2.6.4　<FROM句>

2.6.5　<WHERE句>

2.6.6　<副問い合わせ>

2.6.7　GROUP BY句

2.6.8　HAVING句

2.6.1　<問い合わせ文>

ここでは，<問い合わせ文>の形式と規則について説明します。

＜この項の構成＞

(1)　<問い合わせ文>の形式

(2)　<問い合わせ式>についての規則

(3)　<ORDER BY句>についての規則

(1)　<問い合わせ文>の形式

<問い合わせ文> ::= <問い合わせ式> 〔 <ORDER BY句> 〕
<問い合わせ式> ::= <問い合わせ指定>
　　　　　　　　 ｜<左括弧> <問い合わせ式> <右括弧>

(2)　<問い合わせ式>についての規則

<問い合わせ式>は，少なくともSELECT句とFROM句から構成される問い合わせの表現です。<問い合わせ式>は，検索結果集合として評価されます。

(3)　<ORDER BY句>についての規則

<ORDER BY句>には，<問い合わせ式>の評価である検索結果集合に対して，検索結果要素を並べ替えるためのソート方法を指定します。

2.6.2　<問い合わせ指定>

ここでは，<問い合わせ指定>の形式と規則について説明します。

＜この項の構成＞

(1)　<問い合わせ指定>の形式

(2)　<選択項目>および<選択項目の並び>についての規則

(3)　<集合指定子>についての規則

(1)　<問い合わせ指定>の形式

<問い合わせ指定> ::= SELECT 〔 <集合指定子> 〕
　　　　　　　　　　<選択項目の並び> <検索対象式>
<選択項目の並び> ::= <アスタリスク>
　　　　　　　　　 ｜<選択項目> 〔 { <コンマ> <選択項目> }... 〕
<選択項目> ::= <一次子>

(2)　<選択項目>および<選択項目の並び>についての規則

<選択項目の並び>には，検索を実行した場合の結果として出力する項目を指定します。一つまたは複数の<選択項目>（<選択項目の並び>）と<検索対象式>を指定することで，検索結果集合が求められます。

<選択項目>に指定できるプロパティは，<検索対象式>に指定したDocumentBrokerクラスに定義されているプロパティだけです。

<選択項目の並び>に<アスタリスク>を指定できるのは，<検索対象式>の中の<Exists述語>で指定された<副問い合わせ>の中だけです。

<検索対象式>中の<比較述語>や<In述語>で副問い合わせを指定する場合は，それぞれの述語によって求める検索結果と整合性のあるデータ型の項目を<選択項目>として指定してください。

<選択項目>の<一次子>に指定できる要素は，<プロパティ指定>，<集合関数>または<ルーチンの起動>だけです。
<ルーチンの起動>に指定できる関数については，「2.9　関数指定の構文規則」を参照してください。

<選択項目>に，オブジェクトリファレンスを直接指定することはできません。オブジェクトリファレンスを指定する場合は，oiidstr関数によってOIID文字列に変換して指定してください。

(3)　<集合指定子>についての規則

<集合指定子>は，検索結果集合内の結果として同じ要素が返却された場合に，その重複した要素を排除（重複排除）する場合に指定します。

DISTINCTを指定すると，検索結果集合に対して重複排除が実行され，重複を排除した検索結果集合が返却されます。

ALLを指定すると，重複している要素も含めて，すべての検索結果集合が返却されます。

省略した場合は，ALLが仮定されます。

<選択項目>にVariableArray型のプロパティを指定した場合は，<集合指定子>にDISTINCTは指定できません。DISTINCTを指定できる選択項目のデータ型については，HiRDBの制限に従います。

アクセス制御機能を使用している場合，<集合指定子>にDISTINCTは指定できません。

2.6.3　<検索対象式>

ここでは，<検索対象式>の形式と規則について説明します。

＜この項の構成＞

(1)　<検索対象式>の形式

(1)　<検索対象式>の形式

<検索対象式> ::= <FROM句>
　　　　　　　　〔 <WHERE句> 〕
　　　　　　　　〔 <GROUP BY句> 〕
　　　　　　　　〔 <HAVING句> 〕

<WHERE句>，<GROUP BY句>および<HAVING句>は，省略できます。

2.6.4　<FROM句>

ここでは，<FROM句>の形式と規則について説明します。

<FROM句>には，検索対象になる一つまたは複数のクラスを指定します。複数のクラスを検索対象に指定する場合には，結合条件も指定できます。

edmSQLでは，結合方法として，次の方法が使用できます。

複数のクラスを並べて指定した暗黙的な結合

結合種別に内部結合（INNER JOIN）を指定した結合

結合種別に左外部結合（LEFT OUTER JOIN）を指定した結合

＜この項の構成＞

(1)　<FROM句>の形式

(2)　<検索対象>についての規則

(3)　<結合された検索対象>についての規則

(4)　<条件指定結合>についての規則

(5)　<結合条件>についての規則

(6)　<結合種別>についての規則

(7)　<FROM句>全体についての規則

(1)　<FROM句>の形式

<FROM句> ::= FROM <検索対象>
<検索対象> ::=  <検索対象参照リスト>
　　　　　　　｜<結合された検索対象>
<検索対象参照リスト> ::= <検索対象参照>
　　　　　　　　　　　  〔{ <コンマ> <検索対象参照> }...〕
<検索対象参照> ::= <クラス名> 〔<相関名>〕

<結合された検索対象> ::= <条件指定結合>
<条件指定結合> ::= <検索対象一次子> 〔 <結合種別> 〕
　　　　　　　　　　JOIN <検索対象参照> <結合指定>

<検索対象一次子> ::= <検索対象参照>
　　　　　　　　　　　　｜<結合された検索対象>
　　　　　　　　　　　　｜<左括弧><結合された検索対象><右括弧>

<結合指定> ::= <結合条件>
<結合条件> ::= ON <検索条件>

<結合種別> ::= INNER
　　　　　　　｜<外部結合種別> 〔 OUTER 〕
<外部結合種別> ::= LEFT

(2)　<検索対象>についての規則

<検索対象>には<検索対象参照リスト>を指定します。<検索対象参照リスト>として<コンマ>で区切った<検索対象参照>を指定すると，それぞれの<検索対象参照>は暗黙的に結合されて，検索対象として扱われます。

検索対象を暗黙的に結合した場合は，結合条件を<WHERE句>に指定することで，内部結合を指定した場合と同じ結合が表現できます。<WHERE句>に結合条件を指定しない場合は，指定したDocumentBrokerクラスの直積空間が検索の対象になります。

(3)　<結合された検索対象>についての規則

<結合された検索対象>は，複数の検索対象（DocumentBrokerクラス）を明示的に結合種別と結合条件を指定して結合する場合に指定します。

(4)　<条件指定結合>についての規則

<条件指定結合>には，内部結合（INNER JOIN）または左外部結合（LEFT OUTER JOIN）が指定できます。

<条件指定結合>では，<結合種別>の左側に指定する<検索対象一次子>に，さらに<結合された検索対象>を指定できます。つまり，結合のネストができます。

<条件指定結合>を指定する場合は，必ず<結合指定>（ON条件）を指定してください。

(5)　<結合条件>についての規則

<結合条件>に指定するプロパティには，その<結合条件>を含む<検索対象一次子>および<検索対象>で指定しているDocumentBrokerクラスのプロパティ，またはその<問い合わせ指定>の外側の検索対象のDocumentBrokerクラスのプロパティを指定してください。

(6)　<結合種別>についての規則

内部結合を指定する場合は，<結合種別>に「INNER」を指定します。内部結合を指定すると，指定したDocumentBrokerクラスの直積空間のうち，<結合条件>を満たす結果の集合が検索対象になります。<結合条件>に結合キーとして指定したプロパティがnull値の場合，<結合条件>を満たす集合が存在しないので，指定したDocumentBrokerクラスの直積空間は検索対象にはなりません。このため，結合を指定したどちらのDocumentBrokerクラスのオブジェクトも検索対象になりません。

左外部結合を指定する場合は，<結合種別>に「LEFT」または「LEFT OUTER」を指定します。外部結合を指定した場合，<結合条件>に結合キーとして指定したプロパティがnull値であっても，<結合種別>の左側に指定した<検索対象一次子>のDocumentBrokerクラスのオブジェクトは，すべて検索対象になります。この場合，<結合種別>の右側に指定した検索対象のDocumentBrokerクラスのオブジェクトは存在しないことになるため，該当する項目にはnull値が設定されます。

<結合種別>を省略すると，「INNER」が仮定されます。

(7)　<FROM句>全体についての規則

次の項目については，HiRDBの制限に従います。

結合できるクラスの数や，結合で指定できるネストの深さ

<結合条件>に指定できるプロパティ

実行できる結合および結合の組み合わせ

一つのFROM句内で，相関名は重複できません。また，検索対象クラスのクラス名と相関名も，重複できません。

FROM句で指定する<クラス名>および<相関名>の有効範囲は，次のとおりです。副問い合わせでこれらの<クラス名>および<相関名>を指定する場合には，ご注意ください。

<クラス名>と<相関名>の有効範囲

FROM句で指定した<相関名>および<相関名>なしで指定した<クラス名>の有効範囲は，その<FROM句>を含む<問い合わせ指定>内全体です。したがって，その<問い合わせ指定>内にある<副問い合わせ>でも有効になります。

また，<相関名>を指定した<クラス名>の有効範囲は，そのFROM句を含む<問い合わせ指定>だけです。したがって，<問い合わせ指定>内にある<副問い合わせ>では，その名前は有効になりません。

2.6.5　<WHERE句>

ここでは，<WHERE句>の形式と規則について説明します。

<WHERE句>には，検索条件を指定します。

検索対象のオブジェクトに対して，<WHERE句>で指定した<検索条件>が真である場合に，そのオブジェクトが検索結果として取得できます。取得した検索結果は，<選択項目>に指定した項目の値として取得できます。

＜この項の構成＞

(1)　<WHERE句>の形式

(1)　<WHERE句>の形式

<WHERE句> ::= WHERE <検索条件>

<検索条件>については，「2.8　述語の構文規則」を参照してください。

2.6.6　<副問い合わせ>

ここでは，<副問い合わせ>の形式と規則について説明します。

＜この項の構成＞

(1)　<副問い合わせ>の形式

(2)　<副問い合わせ>についての規則

(1)　<副問い合わせ>の形式

<副問い合わせ> ::=<左括弧> <問い合わせ式> <右括弧>

(2)　<副問い合わせ>についての規則

<副問い合わせ>は，<In述語>，<比較述語>または<Exists述語>の対象として指定します。それぞれの述語については，「2.8　述語の構文規則」を参照してください。

<副問い合わせ>の<選択項目>にVariableArray型のプロパティは指定できません。

アクセス制御機能を使用している場合も，<副問い合わせ>ではアクセス制御は実行されません。<副問い合わせ>の検索結果として取得できる検索結果には，アクセス権を持たないものが含まれる可能性があります。

2.6.7　GROUP BY句

ここでは，<GROUP BY句>の形式と規則について説明します。

<GROUP BY句>には，複数のオブジェクトを一つのグループとする条件を指定します。

＜この項の構成＞

(1)　<GROUP BY句>の形式

(2)　<GROUP BY句>全体についての規則

(1)　<GROUP BY句>の形式

<GROUP BY句> ::= GROUP BY <グループ化項目の並び>
<グループ化項目の並び> ::= <グループ化項目>
　　　　　　　　　　　[ { <コンマ> <グループ化項目> }... ]
<グループ化項目> ::= <一次子>

(2)　<GROUP BY句>全体についての規則

GROUP BY句で指定したプロパティの検索結果がすべて同じオブジェクトを一つのグループとして，検索結果をグループごとに取得できます。

GROUP BY句にはプロパティだけが指定できます。

<グループ化項目の並び>に指定できるプロパティは，GROUP BY句を指定した問い合わせのFROM句で指定したクラスのプロパティです。

<グループ化項目の並び>に指定できる <一次子 > の最大数は，前提となるDBMSの仕様に制限されます。

SELECT句に指定できる選択項目はGROUP BY句で指定したプロパティおよび集合関数です。

オブジェクト型，VariableArray型，バイナリ型のプロパティ，特殊なプロパティおよび関数はGROUP BY句に指定できません。

同一のプロパティを重複してGROUP BY句に指定することはできません。

2.6.8　HAVING句

ここでは，<HAVING句>の形式と規則について説明します。

<HAVING句>には，GROUP BY句，WHERE句，FROM句の結果，得られる各グループを選択する条件を指定します。

＜この項の構成＞

(1)　<HAVING句>の形式

(2)　<HAVING句>全体についての規則

(1)　<HAVING句>の形式

<HAVING句> ::= HAVING <検索条件>

(2)　<HAVING句>全体についての規則

GROUP BY句，WHERE句，またはFROM句の結果，得られる各グループを選択する条件を指定します。

NULL述語およびLIKE述語はHAVING句に直接指定できません。

HAVING句に指定できるプロパティは，GROUP BY句で指定したプロパティ，集合関数の引数として指定したプロパティ，または外側の問い合わせのFROM句に指定したクラスのプロパティです。

2.7　スカラー式表現の構文規則

値は，スカラー式によって表現されます。スカラー式で表現できる値は，プロパティの指定，ルーチン起動，数値関数および集合関数によって得られる値です。

形式

!! <プロパティ指定>の形式
<プロパティ指定> ::= 〔<プロパティ修飾子> <ピリオド>〕 <プロパティ名>
<プロパティ修飾子> ::= <相関名>     !! <相関名>による修飾
　　　　　　　　　　 ｜<クラス指定> !! <クラス指定>による修飾

!! <要素参照>の形式
<要素参照> ::= <一次子>
               <左角括弧> ANY <右角括弧>

!! <フィールド参照>の形式
<フィールド参照> ::= <要素参照> <ピリオド> <フィールド名>
<フィールド名> ::= <プロパティ名>

!! <ルーチンの起動>の形式
<ルーチンの起動> ::= <ルーチン名> <引数リスト>
<引数リスト> ::= <左括弧> 〔 <引数>
　　　　　　　　　　〔 { <コンマ> <引数> }... 〕 〕 <右括弧>
<引数> ::=  <値式>
　　　　　｜<値式> AS <データ型指定>
<ルーチン名> ::= <関数指定>

<データ型指定> ::= INT
　　　　　　　　 ｜INTEGER
　　　　　　　　 ｜BOOL
　　　　　　　　 ｜BOOLEAN
　　　　　　　　 ｜STRING <左括弧> <符号なし数値> <右括弧>
　　　　　　　　 ｜BINARY <左括弧> <バイナリ長> <右括弧>

<バイナリ長> ::=  <符号なし数値>
　　　　　　　　｜<バイナリ長トークン>

!! <数値関数>の形式
<数値関数> ::= <絶対値関数>
<絶対値関数> ::= ABS <左括弧> <値式> <右括弧>

!! <集合関数>の形式
<集合関数> ::= COUNT <左括弧> <アスタリスク> <右括弧>
　　　　　　 ｜<一般集合関数>
<一般集合関数> ::= <集合関数種別>
　　　　　　　　　 <左括弧> 〔 <集合指定子> 〕 <値式> <右括弧>
<集合関数種別> ::= COUNT
<集合指定子> ::= DISTINCT｜ALL

!! <値式>の形式
<値式> ::= <一次子>
　　　　　｜<符号> <一次子>
　　　　　｜<値式> <+符号> <値式>
　　　　　｜<値式> <-符号> <値式>
　　　　　｜<値式> <アスタリスク> <値式>
　　　　　｜<値式> <斜線> <値式>
　　　　　｜<値式> <文字列連結演算子> <値式>
<一次子> ::= <左括弧> <値式> <右括弧>
　　　　　 ｜<プロパティ指定>
　　　　　 ｜<符号なし値指定>
　　　　　 ｜<集合関数>
　　　　　 ｜<数値関数>
　　　　　 ｜<ルーチンの起動>
　　　　　 ｜<フィールド参照>
<符号なし値指定> ::= <符号なし数値リテラル>
　　　　　　　　　　｜<文字列リテラル>
　　　　　　　　　　｜<疑問符>
　　　　　　　　　　｜<論理リテラル>
<値指定> ::= 〔<符号>〕<符号なし数値リテラル>
　　　　　　｜<文字列リテラル>
　　　　　　｜<疑問符>
　　　　　　｜<論理リテラル>

＜この節の構成＞

2.7.1　<プロパティ指定>

2.7.2　<要素参照>

2.7.3　<フィールド参照>

2.7.4　<ルーチンの起動>

2.7.5　<数値関数>

2.7.6　<集合関数>

2.7.7　<値式>

2.7.1　<プロパティ指定>

ここでは，<プロパティ指定>の形式と規則について説明します。

＜この項の構成＞

(1)　<プロパティ指定>の形式

(2)　<プロパティ指定>についての規則

(3)　<プロパティ修飾子>についての規則

(1)　<プロパティ指定>の形式

<プロパティ指定> ::= 〔<プロパティ修飾子> <ピリオド>〕 <プロパティ名>
<プロパティ修飾子> ::= <相関名>     !! <相関名>による修飾
　　　　　　　　　　 ｜<クラス指定> !! <クラス指定>による修飾

(2)　<プロパティ指定>についての規則

同じ名称のプロパティを持つクラスを結合する場合など，<プロパティ名>だけではプロパティを一意に識別できなくなる場合は，<プロパティ修飾子>を指定して<プロパティ指定>が一意になるようにしてください。

(3)　<プロパティ修飾子>についての規則

<相関名>および<クラス指定>として指定できるのは，<FROM句>に指定したものだけです。

<プロパティ指定>の指定例を，次の表に示します。

表2-33　<プロパティ指定>の指定例

指定例 | 説　明
myProp_Foo | <識別子>によって<プロパティ名>だけを指定しています。
myClass_XX.myProp_Foo | <プロパティ名>を<クラス名>によって修飾して指定しています。
P0.myProp_Foo | <プロパティ名>を<相関名>によって修飾して指定しています。

2.7.2　<要素参照>

ここでは，<要素参照>の形式と規則について説明します。

<要素参照>には， VariableArray型のプロパティの要素を参照するための表現を指定します。

＜この項の構成＞

(1)　<要素参照>の形式

(2)　<要素参照>についての規則

(1)　<要素参照>の形式

<要素参照> ::= <一次子>
               <左角括弧> ANY <右角括弧>

(2)　<要素参照>についての規則

<要素参照>は，<WHERE句>だけで指定できます。

<要素参照>は，必ず<フィールド参照>とともに指定してください。

要素を指定する値には，「ANY」以外の要素は指定できません。

<一次子>には，<プロパティ指定>だけが指定できます。

2.7.3　<フィールド参照>

ここでは，<フィールド参照>の形式と規則について説明します。

<フィールド参照>では， VariableArray型のプロパティの要素を参照する場合の，フィールドの参照を表現します。

＜この項の構成＞

(1)　<フィールド参照>の形式

(2)　<フィールド参照>についての規則

(1)　<フィールド参照>の形式

<フィールド参照> ::= <要素参照> <ピリオド> <フィールド名>
<フィールド名> ::= <プロパティ名>

(2)　<フィールド参照>についての規則

<フィールド参照>は，VariableArray型のプロパティの要素を参照する場合だけ指定します。

<フィールド名>には，VariableArray型のプロパティの<プロパティ名>を指定します。
例えば，「VariableArray型のプロパティAuthorsの要素Ageが30である」という指定は，次のように記述します。

Authors[ANY].Age = 30

2.7.4　<ルーチンの起動>

ここでは，<ルーチンの起動>の形式と規則について説明します。

<ルーチンの起動>には，edmSQLで提供する関数を起動するための表現を指定します。

edmSQLで使用するルーチンは，関数だけです。

edmSQLによって起動する関数を次に示します。なお，これらの関数名はすべて，<予約されていないキーワード>として登録されています。

関数の種類

全文検索を実行するための関数

contains関数

contains_with_score関数

score関数

extracts関数

概念検索を実行するための関数

concept_with_score関数

score_concept関数

変換関数

oiidstr関数

objref関数

oiid関数

それぞれの関数の詳細については，「2.9　関数指定の構文規則」を参照してください。

＜この項の構成＞

(1)　<ルーチンの起動>の形式

(2)　<ルーチンの起動>についての規則

(3)　AS<データ型指定>についての規則

(1)　<ルーチンの起動>の形式

<ルーチンの起動> ::= <ルーチン名> <引数リスト>
<引数リスト> ::= <左括弧> 〔 <引数>
　　　　　　　　〔 { <コンマ> <引数> }... 〕 〕 <右括弧>
<引数> ::= <値式>
　　　　 ｜<値式> AS <データ型指定>
<ルーチン名> ::= <関数指定>

<データ型指定> ::= INT
　　　　　　　　 ｜INTEGER
　　　　　　　　 ｜BOOL
　　　　　　　　 ｜BOOLEAN
　　　　　　　　 ｜STRING <左括弧> <符号なし数値> <右括弧>
　　　　　　　　 ｜BINARY <左括弧> <バイナリ長> <右括弧>

<バイナリ長> ::= <符号なし数値>
　　　　　　　 ｜<バイナリ長トークン>

<バイナリ長トークン>については，「2.4.4　<トークン>」を参照してください。

(2)　<ルーチンの起動>についての規則

関数の<引数リスト>に指定できる引数の数は，<ルーチン名>に指定した，それぞれの関数の仕様に従います。

<引数>に指定できる<一次子>は，<ルーチン名>に指定した関数の仕様に従います。各引数は，関数に規定された順序で指定する必要があります。

<引数リスト>に<一次子>として<?パラメタ>を指定する場合は，AS<データ型指定>によって，データ型を明示してください。また，<?パラメタ>以外の<一次子>に対してAS<データ型指定>を指定することはできません。

(3)　AS<データ型指定>についての規則

AS<データ型指定>に指定できるデータ型について説明します。関数の仕様に従って，適切なデータ型を指定してください。また，文字列型およびバイナリ型を指定する場合には，定義長も指定してください。

AS<データ型指定>に指定できる値と指定例を，次の表に示します。

表2-34　AS<データ型指定>に指定できる値と指定例

引数のデータ型
指定する値
指定例

論理型の引数
BOOL
BOOLEAN
? AS BOOL
? AS BOOLEAN

整数型の引数
INT
INTEGER
? AS INT
? AS INTEGER

文字列型の引数
STRING(n※¹)
? AS STRING(3200)
定義長3200バイトの文字列型データ

バイナリ型の引数
BINARY(n※²)
? AS BINARY(256)
　定義長256バイトのバイナリ型データ
? AS BINARY(256k)
　定義長が256キロバイトのバイナリ型データ
? AS BINARY(256m)
　定義長が256メガバイトのバイナリ型データ
? AS BINARY(2g)
　定義長が2ギガバイトのバイナリ型データ

注※1　文字列型データの定義長を指定します。単位はバイトです。

注※2　バイナリ型データの定義長を指定します。次の単位が指定できます。

・（省略）：バイト

・k：キロバイト

・m：メガバイト

・g：ギガバイト

数字と単位の間に<区切り文字>を入れることはできません。

2.7.5　<数値関数>

ここでは，<数値関数>の形式と規則について説明します。

＜この項の構成＞

(1)　<数値関数>の形式

(2)　<数値関数>についての規則

(3)　<絶対値関数>の詳細

(1)　<数値関数>の形式

<数値関数> ::= <絶対値関数>
<絶対値関数> ::= ABS <左括弧> <値式> <右括弧>

(2)　<数値関数>についての規則

<数値関数>としては，絶対値関数（ABS関数）があります。<数値関数>は，<結合条件>には指定できません。また，<SELECT句>には指定できません。

(3)　<絶対値関数>の詳細

<絶対値関数>の詳細について示します。

関数名

ABS

形式

ABS <左括弧> <値式> <右括弧>

引数

<値式>

整数型の値を指定します。

機能

<値式>の値の絶対値を算出します。

被演算子のデータ型

整数型

評価値

整数値（整数型）

2.7.6　<集合関数>

ここでは，<集合関数>の形式と規則について説明します。

<集合関数>には，検索結果集合に対する演算を実行するための表現を指定します。

＜この項の構成＞

(1)　<集合関数>の形式

(2)　<集合関数>の種類

(3)　<集合指定子>についての規則

(4)　COUNT(*)関数の詳細

(5)　COUNT関数の詳細

(1)　<集合関数>の形式

<集合関数> ::= COUNT <左括弧> <アスタリスク> <右括弧>
　　　　　　｜<一般集合関数>
<一般集合関数> ::= <集合関数種別> <左括弧> 〔 <集合指定子> 〕
　　　　　　　　　 <値式> <右括弧>
<集合関数種別> ::= COUNT
<集合指定子> ::= DISTINCT｜ALL

(2)　<集合関数>の種類

<集合関数>には，次の2種類があります。

COUNT(*)
検索結果の個数を算出します。

COUNT
検索結果のプロパティのキー数を算出します。

(3)　<集合指定子>についての規則

<集合指定子>では，演算対象である集合の要素に対して，同じ要素がある場合に，重複排除を実施するかどうかを指定します。DISTINCTかALLを指定します。

DISTINCTを指定した場合，演算の対象である要素に対して，重複排除が実施されてから，演算が実行されます。

ALLを指定した場合，重複排除は実施されません。

<集合指定子>を省略した場合は，「ALL」が仮定されます。

「COUNT(*)」を指定した場合には，「DISTINCT」の指定は無視されます。

<集合指定子>に「DISTINCT」を指定した場合，集合関数を選択項目とする問い合わせ指定の<集合指定子>指定が，データベースによって制限されることがあります。

アクセス制御機能を使用している場合，主問い合わせの選択項目に集合関数は指定できません。

(4)　COUNT(*)関数の詳細

COUNT(*)関数の詳細について説明します。

関数名

COUNT(*)

形式

COUNT <左括弧> <アスタリスク> <右括弧>

引数

なし(アスタリスク)

機能

検索結果集合の要素の数を算出します。

評価値

整数値（整数型）

属性

この関数は，<SELECT句>に指定できます。

また，<ORDER BY句>のソートキーとして指定できます。

(5)　COUNT関数の詳細

COUNT関数の詳細について説明します。

関数名

COUNT

形式

COUNT <左括弧> 〔<集合指定子>〕 <値式> <右括弧>

引数

<値式>

整数型，文字列型，論理型の<プロパティ指定>だけが指定できます。

機能

検索結果集合から，<値式>に指定した要素の数を算出します。

評価値

整数値（整数型）

属性

この関数は，<SELECT句>に指定できます。

また，<ORDER BY句>のソートキーとして指定できます。

2.7.7　<値式>

ここでは，<値式>の形式と規則について説明します。

<値式>とは，評価として値を得ることができる式の定義です。

＜この項の構成＞

(1)　<値式>の形式

(2)　<値式>についての規則

(3)　演算子の詳細

(1)　<値式>の形式

<値式> ::= <一次子>
　　　　　｜<符号> <一次子>
　　　　　｜<値式> <+符号> <値式>
　　　　　｜<値式> <-符号> <値式>
　　　　　｜<値式> <アスタリスク> <値式>
　　　　　｜<値式> <斜線> <値式>
　　　　　｜<値式> <文字列連結演算子> <値式>
<一次子> ::= <左括弧> <値式> <右括弧>
　　　　　 ｜<プロパティ指定>
　　　　　 ｜<符号なし値指定>｜<集合関数>｜<数値関数>
　　　　　 ｜<要素参照>
　　　　　 ｜<ルーチンの起動>｜<フィールド参照>
<符号なし値指定> ::= <符号なし数値リテラル>
　　　　　　　　　｜<文字列リテラル>
　　　　　　　　　｜<疑問符>
　　　　　　　　　｜<論理リテラル>
<値指定> ::= 〔<符号>〕<符号なし数値リテラル>
　　　　　　｜<文字列リテラル>｜<疑問符>｜<論理リテラル>

(2)　<値式>についての規則

<値式>内の演算子は，次の順序で評価されます。
演算子の評価順序

括弧内

単項演算子<符号>の<+符号>または<-符号>

<アスタリスク>または<斜線>

二項演算子の<+符号>，<-符号>または<結合演算子>

演算子の両側に指定する<値式>には，同じデータ型のものを指定してください。

演算の途中でオーバーフローが発生したり，0で除算を実行したりした場合，null値が返却されるかエラーが発生するかについては，HiRDBの仕様に依存します。

指定できる演算子のネストの深さは，HiRDBの制限に従います。

<値指定>と<符号なし値指定>の違いは，符号が付けられるかどうかです。<値式>で指定できるのは，<符号なし値指定>です。符号を付ける場合は，<値式>を<符号>と<符号なし値指定>で構成してください。
<値指定>は，<In述語>などで使用します。

(3)　演算子の詳細

<値式>で指定する演算子の詳細を，次の表に示します。

表2-35　<値式>で指定する演算子の詳細

演算子
意味
被演算子の
データ型
評価値

<符号>
（単項演算子+）
値に正符号を付けます。評価値に変化はありません。
整数型
整数値（整数型）

<符号>
（単項演算子-）
値の符号を反転します。
整数型
整数値（整数型）

<+符号>
（+）
被演算子を加算します。
整数型
整数値（整数型）

<-符号>
（-）
左辺の被演算子から右辺の被演算子を減算します。
整数型
整数値（整数型）

<アスタリスク>
（*）
被演算子を乗算します。
整数型
整数値（整数型）

<斜線>
（/）
左辺の被演算子を右辺の被演算子で除算します。
整数型
整数値（整数型）

<文字列連結演算子>
（||）
文字列を連結します。
文字列型
文字列値（文字列型）

注　edmSQLの<+符号>および<アスタリスク>では多項演算は実行できません。このため，多項演算と同じ演算を実行したい場合は，2項演算を組み合わせてください。

2.8　述語の構文規則

ここでは，述語の構文について説明します。

FROM句のON条件やWHERE句に指定する検索条件は，述語によって表現します。述語では，次のような演算ができます。

比較演算

論理演算

Between演算

In演算

Like演算

Null演算

Exists演算

これらの演算では，評価が「真」，「偽」または「不定」として得られます。

形式

!! <検索条件>の形式
<検索条件> ::= <左括弧> <検索条件> <右括弧>
　　　　　　　｜<述語>
　　　　　　　｜NOT <検索条件>
　　　　　　　｜<検索条件> OR <検索条件>
　　　　　　　｜<検索条件> AND <検索条件>

!! <述語>の形式
<述語> ::= <比較述語>
　　　　　｜<論理述語>
　　　　　｜<Between述語>
　　　　　｜<In述語>
　　　　　｜<Like述語>
　　　　　｜<Null述語>
　　　　　｜<Exists述語>

!! <比較述語>の形式
<比較述語> ::= <値式> <比較演算子> <比較述語値式>
<比較述語値式> ::= <値式>｜<副問い合わせ>
<比較演算子> ::= <等号演算子>
　　　　　　　｜<不等号演算子>
　　　　　　　｜<小なり演算子>
　　　　　　　｜<大なり演算子>
　　　　　　　｜<小なり等号演算子>
　　　　　　　｜<大なり等号演算子>

!! <論理述語>の形式
<論理述語> ::= <値式> IS TRUE

!! <Between述語>の形式
<Between述語> ::= <値式>
　　　　　　　　　〔 NOT 〕 BETWEEN <値式> AND <値式>

!! <In述語>の形式
<In述語> ::= <値式> 〔 NOT 〕 IN <In述語値>
<In述語値> ::= <副問い合わせ>
　　　　　　  ｜<左括弧> <In項目リスト> <右括弧>
<In項目リスト> ::= <値指定> { <コンマ> <値指定> }...

!! <Like述語>の形式
<Like述語> ::= <文字列Like述語>
<文字列Like述語> ::= <値式>
　　　　　　　　　　〔 NOT 〕 <Like種別> <パターン文字列>
　　　　　　　　　　〔 ESCAPE <エスケープ文字> 〕
<Like種別> ::=  LIKE
　　　　　　　｜XLIKE
<パターン文字列> ::= <値指定>
<エスケープ文字> ::= <値指定>

!! <Null述語>の形式
<Null述語> ::= <値式> IS 〔 NOT 〕 NULL

!! <Exists述語>の形式
<Exists述語> ::= EXISTS <副問い合わせ>

＜この節の構成＞

2.8.1　<検索条件>

2.8.2　<述語>

2.8.3　<比較述語>

2.8.4　<論理述語>

2.8.5　<Between述語>

2.8.6　<In述語>

2.8.7　<Like述語>

2.8.8　<Null述語>

2.8.9　<Exists述語>

2.8.1　<検索条件>

ここでは，<検索条件>の形式と規則について説明します。

<検索条件>は，<FROM句>のON条件式<結合指定>や，<WHERE句>に指定します。<検索条件>では，複数の<検索条件>の論理演算を指定できます。

＜この項の構成＞

(1)　<検索条件>の形式

(2)　<検索条件>についての規則

(3)　論理演算子の詳細

(1)　<検索条件>の形式

<検索条件> ::= <左括弧> <検索条件> <右括弧>
　　　　　　　｜<述語>
　　　　　　　｜NOT <検索条件>
　　　　　　　｜<検索条件> OR <検索条件>
　　　　　　　｜<検索条件> AND <検索条件>

(2)　<検索条件>についての規則

<検索条件>の論理演算は，次の順序で評価されます。
論理演算の評価順序

括弧内

NOT

AND

OR

論理演算で指定できるネスト数については，HiRDBの制限に従います。

edmSQLで提供している論理演算子ANDおよびORは，2項演算子です。複数の被演算子を指定したい場合は，演算子を複数組み合わせて指定してください。
例えば，「a」，「b」，「c」および「d」のAND演算は，「a AND b AND c AND d」または「((a AND b) AND c) AND d」のように表記してください。

(3)　論理演算子の詳細

否定演算

演算子：NOT

形式：NOT <検索条件>

否定演算の演算結果を次の表に示します。

表2-36　否定演算の演算結果

NOT | 演算結果
真 | 偽
偽 | 真
不定 | 不定

論理和演算

演算子：OR

形式：<検索条件> OR <検索条件>

論理和演算の演算結果を次の表に示します。

表2-37　論理和演算の演算結果

OR | 真 | 偽 | 不定
真 | 真 | 真 | 真
偽 | 真 | 偽 | 不定
不定 | 真 | 不定 | 不定

論理積演算

演算子：AND

形式：<検索条件> AND <検索条件>

論理積演算の演算結果を次の表に示します。

表2-38　論理積演算の演算結果

AND | 真 | 偽 | 不定
真 | 真 | 偽 | 不定
偽 | 偽 | 偽 | 偽
不定 | 不定 | 偽 | 不定

2.8.2　<述語>

ここでは，<述語>の形式と規則について説明します。

<述語>では，edmSQLで提供されている述語の一覧が定義されています。

＜この項の構成＞

(1)　<述語>の形式

(1)　<述語>の形式

<述語> ::= <比較述語>
　　　　　｜<論理述語>
　　　　　｜<Between述語>
　　　　　｜<In述語>
　　　　　｜<Like述語>
　　　　　｜<Null述語>
　　　　　｜<Exists述語>

2.8.3　<比較述語>

ここでは，<比較述語>の形式と規則について説明します。

<比較述語>は，演算子の両辺の比較によって結果を返却します。

＜この項の構成＞

(1)　<比較述語>の形式

(2)　<比較述語>の評価

(3)　<比較述語>の規則

(4)　<比較述語>で使用する演算子の詳細

(1)　<比較述語>の形式

<比較述語> ::= <値式> <比較演算子> <比較述語値式>
<比較述語値式> ::= <値式>｜<副問い合わせ>
<比較演算子> ::= <等号演算子>｜<不等号演算子>｜<小なり演算子>
　　　　　　　　　　　　　　 ｜<大なり演算子>｜<小なり等号演算子>
　　　　　　　　　　　　　　 ｜<大なり等号演算子>

(2)　<比較述語>の評価

演算子が示す比較演算子が，両辺の被演算子の関係を満たす場合，「真」になります。

演算子の示す比較条件が，両辺の被演算子の関係を満たさない場合，「偽」になります。

指定した被演算子がnull値の場合，「不定」になります。

指定した被演算子が<副問い合わせ>であり，その検索結果集合が空の場合，「不定」になります。

(3)　<比較述語>の規則

<比較演算子>の両辺に指定する被演算子には，同じデータ型の値を指定してください。値がnull値である場合も，同じデータ型にしてください。

<比較演算子>によって比較できるのは，データ型が論理型，整数型，文字列型およびオブジェクト型の値です。ただし，演算子によって使用できるデータ型は異なります。

比較できるデータ型については，HiRDBの制限に従います。

<副問い合わせ>が指定できるのは，<比較演算子>の右辺だけです。

<副問い合わせ>を<比較演算子>の被演算子に指定する場合，<副問い合わせ>で指定できる<選択項目>は一つだけです。また，<副問い合わせ>の検索結果として得られる検索件数も，1件または0（空集合）になる必要があります。

<FROM句>に指定する<比較述語>には，<副問い合わせ>は指定できません。

VariableArray型のプロパティを指定する場合は，必ず<フィールド参照>（要素指定の添え字はANY）を指定して，比較できるデータ型のプロパティとして指定してください。また，VariableArray型のプロパティのフィールド参照同士の比較はできません。

(4)　<比較述語>で使用する演算子の詳細

演算子の詳細を，次の表に示します。

表2-39　<比較述語>で使用できる演算子の詳細

演算子
意味
比較可能なデータ型

<等号演算子>
（=）
値が等しい場合に「真」になります。

論理型

整数型

文字列型

オブジェクト型

<不等号演算子>
（<>）
値が等しくない場合に「真」になります。

論理型

整数型

文字列型

<小なり演算子>
（<）
左辺の値が右辺の値よりも小さい場合に「真」になります。

整数型

文字列型

<大なり演算子>
（>）
左辺の値が右辺の値よりも大きい場合に「真」になります。

整数型

文字列型

<小なり等号演算子>
（<=）
左辺の値が右辺の値よりも小さいか，等しい場合に「真」になります。

整数型

文字列型

<大なり等号演算子>
（>=）
左辺の値が右辺の値よりも大きいか，等しい場合に「真」になります。

整数型

文字列型

2.8.4　<論理述語>

ここでは，<論理述語>の形式と規則について説明します。

<論理述語>では，論理型の値を評価して結果を返却します。

＜この項の構成＞

(1)　<論理述語>の形式

(2)　<論理述語>の評価

(3)　<論理述語>の規則

(1)　<論理述語>の形式

<論理述語> ::= <値式> IS TRUE

(2)　<論理述語>の評価

<値式>の論理型の値が，真（TRUE）の場合に「真」になります。

<値式>の論理型の値が，真（TRUE）以外の場合，「偽」になります。

(3)　<論理述語>の規則

<値式>に指定できるのは，戻り値が論理型の<ルーチンの起動>だけです。なお，<論理述語>に指定する<ルーチンの起動>で呼び出せる関数は，HiRDB Text Search Plug-in，またはHiRDB XML Extensionと連携するための，次の関数だけです。

contains関数

contains_with_score関数

concept_with_score関数

例えば，WHERE句に，次のように指定できます。

　WHERE contains(edmProp_StIndex, '{"コンピュータ"}') IS TRUE

2.8.5　<Between述語>

ここでは，<Between述語>の形式と規則について説明します。

形式

<Between述語> ::= <値式>
　　　　　　　　　〔 NOT 〕 BETWEEN <値式> AND <値式>

＜この項の構成＞

(1)　<Between述語>の評価

(2)　<Between述語>の規則

(1)　<Between述語>の評価

第1の<値式>を「値式1」，第2の<値式>を「値式2」，第3の<値式>を「値式3」とした場合，「値式1」の値が，「値式2」と「値式3」の範囲内の値の場合，「真」になります。範囲外の場合，「偽」になります。

第1の<値式>を「値式1」，第2の<値式>を「値式2」，第3の<値式>を「値式3」とした場合，<Between述語>は，次の表記と同じ意味を表します。

〔NOT〕((値式2 <= 値式1) AND (値式1 <= 値式3))

(2)　<Between述語>の規則

指定順序が「Between 値式2 AND 値式3」の場合に，「値式2 ≦ 値式3」である必要はありません。

2.8.6　<In述語>

ここでは，<In述語>の形式と規則について説明します。

＜この項の構成＞

(1)　<In述語>の形式

(2)　<In述語>の評価

(3)　<In述語>の規則

(1)　<In述語>の形式

<In述語> ::= <値式> 〔 NOT 〕 IN <In述語値>
<In述語値> ::= <副問い合わせ>
　　　　　　  ｜<左括弧> <In項目リスト> <右括弧>
<In項目リスト> ::= <値指定> { <コンマ> <値指定> }...

(2)　<In述語>の評価

第1の<値式>が，<In述語値>の中の任意の値と一致する場合，<In述語>は「真」になります。
NOTを指定した場合は，第1の<値式>が<In述語値>の中の任意の値と一致するとき，「偽」になります。

第1の<値式>が，<In述語値>の中のすべての値と一致しない場合，<In述語>は「偽」になります。
NOTを指定した場合は，第1の<値式>が，<In述語値>の中のすべての値と一致しないとき，「真」になります。

(3)　<In述語>の規則

第1の<値式>のデータ型と，<In述語値>のデータ型は一致させてください。指定できるデータ型は，論理型，整数型，文字列型およびオブジェクト型です。

指定できるデータ型や<In項目リスト>に指定できる<値指定>については，HiRDBの制限に従います。

<In項目リスト>を指定する場合は，第1の<値式>に<値指定>は指定できません。

<In述語>で<副問い合わせ>の検索結果と比較する場合，<副問い合わせ>で指定できる<選択項目>は一つだけです。

<副問い合わせ>の検索結果集合が空集合の場合は，<In述語>は「偽」になります。
NOTを指定した場合に，<副問い合わせ>の検索結果集合が空集合のときは，「真」になります。

2.8.7　<Like述語>

ここでは，<Like述語>の形式と規則について説明します。

＜この項の構成＞

(1)　<Like述語>の形式

(2)　パターンの詳細

(3)　<Like述語>の評価

(4)　<Like述語>の規則

(5)　<Like種別>の規則

(1)　<Like述語>の形式

<Like述語> ::= <文字列Like述語>
<文字列Like述語> ::= <値式>
　　　　　　　　　　〔 NOT 〕 <Like種別> <パターン文字列>
　　　　　　　　　　〔 ESCAPE <エスケープ文字> 〕
<Like種別> ::= LIKE
　　　　　　　｜XLIKE
<パターン文字列> ::= <値指定>
<エスケープ文字> ::= <値指定>

(2)　パターンの詳細

<パターン文字列>

_：1文字の任意の文字を示します。

%：0文字以上の任意の文字数の文字列を示します。

<エスケープ文字>

<エスケープ文字>は，パターン文字列中に「_」や「%」を記述したい場合に指定する文字です。<エスケープ文字>には，任意の１文字を指定します。

(3)　<Like述語>の評価

<値式>の値が，<パターン文字列>で表すパターンと一致した場合，「真」になります。
NOTを指定した場合は，<値式>の値が，<パターン文字列>の表すパターンと一致したとき，「偽」になります。

<値式>の値が，<パターン文字列>の表すパターンと一致しない場合，「偽」になります。
NOTを指定した場合，<値式>の値が，<パターン文字列>の表すパターンと一致しないとき，「真」になります。

(4)　<Like述語>の規則

<値式>に指定できるのは，文字列型の値だけです。

<パターン文字列>に指定できるのは，文字列型の値だけです。

<エスケープ文字>に指定できるのは，文字列型の値だけです。

<Like述語>は，<FROM句>には指定できません。

<値式>，<パターン文字列>，<エスケープ文字>に指定できる値については，HiRDBの制限に従います。また，処理性能を上げるための指定方法については，HiRDBの使用方法に従ってください。

指定した文字の認識のされ方は，文字列型とのHiRDBのデータ型との対応に依存します。

(5)　<Like種別>の規則

<Like種別>がLIKEの場合，パターン文字列とのパターン一致で，大文字・小文字を区別して評価します。

<Like種別>がXLIKEの場合，パターン文字列とのパターン一致で，大文字・小文字を区別しないで評価します。

2.8.8　<Null述語>

ここでは，<Null述語>の形式と規則について説明します。

＜この項の構成＞

(1)　<Null述語>の形式

(2)　<Null述語>の評価

(3)　<Null述語>の規則

(1)　<Null述語>の形式

<Null述語> ::= <値式> IS 〔 NOT 〕 NULL

(2)　<Null述語>の評価

<値式>がnull値の場合に「真」になります。
NOTを指定した場合は，<値式>がnull値のとき，「偽」になります。

<値式>がnull値でない場合に「偽」になります。
NOTを指定した場合は，<値式>がnull値でないとき，「真」になります。

(3)　<Null述語>の規則

<値式>に使用できるのは，データ型がBoolean型，Integer32型，String型のプロパティ，およびオブジェクトリファレンスであるプロパティです。ただし，Boolean型のプロパティは，null値を取ることができません。

指定できるデータ型の制限はHiRDBに従います。

2.8.9　<Exists述語>

ここでは，<Exists述語>の形式と規則について説明します。

＜この項の構成＞

(1)　<Exists述語>の形式

(2)　<Exists述語>の評価

(3)　<Exists述語>の規則

(1)　<Exists述語>の形式

<Exists述語> ::= EXISTS <副問い合わせ>

(2)　<Exists述語>の評価

<副問い合わせ>の検索結果が，空集合でなければ「真」になります。

<副問い合わせ>の検索結果が，空集合の場合は「偽」になります。

(3)　<Exists述語>の規則

<副問い合わせ>の検索結果が空集合とは，検索結果の件数が0件であることです。つまり，検索結果の件数が1以上の場合に，<Exists述語>は「真」になります。

<Exists述語>の<副問い合わせ>では，SELECT句の<選択項目>には，<アスタリスク>が指定できます。これ以外の<選択項目>に，<アスタリスク>は指定できません。

2.9　関数指定の構文規則

edmSQLでは，基本的なSQLの文法で表現できないDocumentBrokerの拡張検索機能を，関数として提供します。

なお，この節で説明する<関数>には，SQLの基本機能として提供されている<集合関数>および<数値関数>は含みません。

＜この節の構成＞

2.9.1　edmSQLが提供する関数の概要

2.9.2　文書検索関数（DBMS関数）

2.9.3　変換関数（edmSQL関数）

2.9.1　edmSQLが提供する関数の概要

edmSQLが提供する関数には，HiRDBの拡張検索機能を使用するための関数と，edmSQLで独自に拡張した関数があります。

それぞれの関数について説明します。

HiRDBの拡張検索機能（HiRDB Text Search Plug-in，またはHiRDB XML ExtensionおよびHiRDB Text Search Plug-in Conceptual Extensionを使用した検索の機能）を使用するための関数（DBMS関数）
DBMS関数には，次の2種類があります。

全文検索関数（概念検索を含まない全文検索をするための関数）

概念検索関数

DBMS関数は，データベース上で，HiRDBの制限に従って実行されます。

edmSQLで独自に拡張した関数（edmSQL関数）
edmSQL関数として提供されているのは，変換関数です。

edmSQL関数は，データベースへのアクセスの前後で実行されます。

2.9.2　文書検索関数（DBMS関数）

ここでは，<文書検索関数>の形式と規則について説明します。

＜この項の構成＞

(1)　<文書検索関数>の形式

(2)　<文書検索関数>の概要

(3)　<文書検索関数>の規則

(4)　<全文検索関数>の概要

(5)　<contains関数>の詳細

(6)　<contains_with_score関数>の詳細

(7)　<score関数>の詳細

(8)　<extracts関数>の詳細

(9)　<概念検索関数>の概要

(10)　<concept_with_score関数>の詳細

(11)　<score_concept関数>の詳細

(1)　<文書検索関数>の形式

!! <文書検索関数>の形式
<文書検索関数> ::= <全文検索関数>
　　　　　　　　　｜<概念検索関数>

!! <全文検索関数>の形式
<全文検索関数> ::= <contains関数>
　　　　　　　　　｜<contains_with_score関数>
　　　　　　　　　｜<score関数>
　　　　　　　　　｜<extracts関数>

!! <contains関数>の形式
<contains関数> ::= contains <左括弧><プロパティ指定>
　　　　　　　　　　　　　　<コンマ><全文検索条件><右括弧>

!! <contains_with_score関数>の形式
<contains_with_score関数> ::= contains_with_score
　　　　　　　　　　　　　　　 <左括弧><プロパティ指定>
　　　　　　　　　　　　　　　 <コンマ><全文検索条件><右括弧>

!! <score関数>の形式
<score関数> ::= score <左括弧><プロパティ指定><右括弧>

!! <extracts関数>の形式
形式1
<extracts関数> ::= extracts <左括弧><プロパティ指定><コンマ>
　　　　　　　　　　　　　　<抽出対象構造文字列> <コンマ>
　　　　　　　　　　　　　　<全文検索条件> <コンマ>
　　　　　　　　　　　　　　<ハイライトタグ文字列>
　　　　　　　　　　　　　　[<コンマ><ドキュメントタイプ>]<右括弧>

形式2
<extracts関数> ::= extracts <左括弧><全文検索機能付き文字列型プロパティ>
　　　　　　　　　　　　　　<右括弧>

!! <概念検索関数>の形式
<概念検索関数> ::=  <concept_with_score関数>
　　　　　　　　　｜<score_concept関数>

!! <concept_with_score関数>の形式
<concept_with_score関数> ::= concept_with_score
　　　　　　　　　　　　　　　 <左括弧><プロパティ指定>
　　　　　　　　　　　　　　　 <コンマ><概念検索条件><右括弧>

!! <score_concept関数>の形式
<score_concept関数> ::= score_concept
　　　　　　　　　　　　　　　 <左括弧><プロパティ指定><右括弧>

!! <全文検索条件><概念検索条件><抽出構造文字列>および<ハイライトタグ文字列>の形式
<全文検索条件> ::= <文字列リテラル> | <?パラメタ>
<概念検索条件> :: = <?パラメタ>
<抽出対象構造文字列> ::= <文字列リテラル> | <?パラメタ>
<ハイライトタグ文字列> ::= <文字列リテラル> | <?パラメタ>

<全文検索条件>，<概念検索条件>，<抽出対象構造文字列>および<ハイライトタグ文字列>の指定方法については，マニュアル「HiRDB Text Search Plug-in」，またはマニュアル「HiRDB XML Extension」を参照してください。

(2)　<文書検索関数>の概要

<文書検索関数>には，次の機能があります。

全文検索機能（概念検索を含まない全文検索）

概念検索機能

<文書検索関数>では，次に示す関数が定義されています。なお，以降，関数の説明で使用する"<全文検索関数>"という表記は，概念検索の機能を持たない全文検索を実行するための関数を表します。

全文検索関数

contains関数

contains_with_score関数

score関数

extracts関数

概念検索関数

concept_with_score関数

score_concept関数

なお，全文検索関数を実行する場合は， HiRDB Text Search Plug-in，またはHiRDB XML Extensionが必要です。

また，概念検索関数を実行する場合は，HiRDB Text Search Plug-in，またはHiRDB XML Extensionのどちらかと，HiRDB Text Search Plug-in Conceptual Extensionが必要です。

(3)　<文書検索関数>の規則

<文書検索関数>は，HiRDB Text Search Plug-in，またはHiRDB XML Extensionの機能によって提供されている検索機能をedmSQLで使用するための関数です。
この関数で実行する検索の検索条件の指定方法については，マニュアル「HiRDB Text Search Plug-in」，またはマニュアル「HiRDB XML Extension」を参照してください。ただし，関数の第1引数には，列ではなくDocumentBrokerのプロパティを指定します。

第1引数の<プロパティ指定>に指定できるのは，その関数で指定できる<特殊なプロパティ>または全文検索機能付き文字型プロパティです。

<文書検索関数>は，<結合条件>には指定できません。

(4)　<全文検索関数>の概要

全文検索関数には，次の種類があります。なお，この関数で実行する全文検索に，概念検索は含まれません。

contains関数
全文検索を実行します。

contains_with_score関数
全文検索を実行すると同時に，スコア値を算出します。

score関数
contains_with_score関数で算出したスコア値を取得します。

extracts関数
文書からテキストデータを抽出します。抽出するデータは，構造を持つ文書の特定の構造にハイライトタグを埋め込んだデータです。

(5)　<contains関数>の詳細

contains関数の詳細について説明します。

関数名

contains

形式

contains <左括弧><プロパティ指定><コンマ><全文検索条件><右括弧>

引数

<プロパティ指定>（<特殊なプロパティまたは全文検索機能付き文字列型プロパティ>）

●特殊なプロパティの場合

検索対象の全文検索機能付き文書クラスが特定できる形式でプロパティを指定します。

指定できるのは，次の<特殊なプロパティ>です。

edmProp_TextIndexプロパティ

edmProp_ConceptTextIndexプロパティ

●全文検索機能付き文字列型プロパティの場合

全文検索機能付き文字列型プロパティを指定します。

<全文検索条件>（文字列型の値：STRING(32000)）

全文検索条件を指定します。

検索タームを含む文書が検索されます。

<全文検索条件>には，検索タームのほか，構造指定検索，同義語異表記展開検索，近傍条件検索などを実行するための検索条件を文字列で指定します。指定方法については，マニュアル「HiRDB Text Search Plug-in」，またはマニュアル「HiRDB XML Extension」を参照してください。

<全文検索条件>に<?パラメタ>を指定する場合は，次のようにAS<データ型指定>をします。

? AS STRING(32000)

機能

<プロパティ指定>で指定したプロパティに対応する文書のコンテンツに対して，<全文検索条件>で指定した条件で，全文検索を実行します。

評価値

論理型（評価）

属性

この関数は，<WHERE句>の<検索条件>に指定できます。

(6)　<contains_with_score関数>の詳細

contains_with_score関数の詳細について説明します。

関数名

contains_with_score

形式

contains_with_score <左括弧><プロパティ指定><コンマ><全文検索条件><右括弧>

引数

<プロパティ指定>（<特殊なプロパティ>）

検索対象の全文検索機能付き文書クラスが特定できる形式でプロパティを指定します。

指定できるのは，次の<特殊なプロパティ>です。

edmProp_TextIndexプロパティ

edmProp_ConceptTextIndexプロパティ

<全文検索条件>（文字列型の値：STRING(32000)）

全文検索条件を指定します。全文検索条件に指定した検索タームが含まれる文書が検索されます。定義長は32,000バイトです。

<全文検索条件>には，検索タームのほか，構造指定検索，同義語異表記展開検索，近傍条件検索などの検索を実行するための検索条件を文字列で指定します。指定方法については，マニュアル「HiRDB Text Search Plug-in」，またはマニュアル「HiRDB XML Extension」を参照してください。

<全文検索条件>に<?パラメタ>を指定する場合は，次のようにAS<データ型指定>をします。

? AS STRING(32000)

機能

<プロパティ指定>で指定したプロパティに対応する文書に対して，<全文検索条件>で指定した条件で，全文検索を実行します。

このとき，検索結果として取得した文書から，全文検索条件が含まれる割合を，スコアとして算出します。

算出したスコアの取得には，<score関数>を使用します。

評価値

論理型（評価）

属性

この関数は，<WHERE句>の<検索条件>に指定できます。

(7)　<score関数>の詳細

<score関数>の詳細について説明します。

関数名

score

形式

score <左括弧><プロパティ指定><右括弧>

引数

<プロパティ指定>（<特殊なプロパティ>）

スコアの値を取得する全文検索機能付き文書クラスが特定できる形式でプロパティを指定します。

指定できるのは，次の<特殊なプロパティ>です。

edmProp_TextIndexプロパティ

edmProp_ConceptTextIndexプロパティ

機能

<contains_with_score関数>で検索結果として取得した文書に対して，文書の検索条件に対するスコア値（全文検索条件が含まれる割合に応じた値）を返却します。

評価値

スコア値（整数型）

属性

この関数は，<SELECT句>の<選択項目>に指定できます。

(8)　<extracts関数>の詳細

<extracts関数>は，検索結果として取得する文書から，テキストデータを抽出する関数です。

<extracts関数>は，次の関数と組み合わせて使用することで，全文検索条件を満たした文書のテキストデータを抽出できます。

contains関数

contains_with_score関数

また，次の関数と組み合わせて使用することで，全文検索条件を満たした全文検索機能付き文字列型プロパティを抽出できます。

contains関数

<extracts関数>の詳細について説明します。

関数名

extracts

形式1

extracts <左括弧><プロパティ指定><コンマ><抽出対象構造文字列><コンマ><全文検索条件><コンマ><ハイライトタグ文字列><コンマ><ドキュメントタイプ><右括弧>

形式2

extracts <左括弧><全文検索機能付き文字列型プロパティ><右括弧>

引数

<プロパティ指定>（<特殊なプロパティ>）

抽出対象の全文検索機能付き文書クラスが特定できる形式でプロパティを指定します。

指定できるプロパティは，次の<特殊なプロパティ>です。

edmProp_TextIndexプロパティ

edmProp_ConceptTextIndexプロパティ

<全文検索機能付き文字列型プロパティ>

全文検索機能付き文字列型プロパティを指定します。

<抽出対象構造文字列>（文字列型の値：STRING(1024)）

抽出対象にする構造を表す文字列を指定します。

構造を指定しない場合は，「''」（空文字列）を指定してください。

<抽出対象構造文字列>に<?パラメタ>を指定する場合は，次のようにAS<データ型指定>をします。

? AS STRING(1024)

<全文検索条件>（文字列型の値：STRING(32000)）

ハイライト表示する検索タームを指定します。

条件を指定しない場合は，「''」（空文字列）を指定してください。この場合，ハイライトタグは挿入されません。

<全文検索条件>に<?パラメタ>を指定する場合は，次のようにAS<データ型指定>をします。

? AS STRING(32000)

<ハイライトタグ文字列>（文字列型の値：STRING(255)）

ハイライト表示に使用するタグを表す文字列を指定します。

ハイライトタグを指定しない場合は，「''」（空文字列）を指定してください。この場合，ハイライトタグは挿入されません。

<ハイライトタグ文字列>に<?パラメタ>を指定する場合は，次のようにAS<データ型指定>をします。

? AS STRING(255)

<ドキュメントタイプ>（'XML'）

XML形式で出力する場合に指定します。

省略するとSGML形式で出力します。

機能

<プロパティ指定>で指定したプロパティに対応する文書のコンテンツから，<抽出指定構造文字列>および<全文検索条件>で指定した文字列に<ハイライトタグ文字列>に指定したタグ（文字列）を埋め込んだ状態で抽出します。

HiRDB Text Search Plug-in，またはHiRDB XML Extensionの「SGML出力」に対応します。

また，<全文検索機能付き文字列型プロパティ>で指定した全文検索機能付き文字列型プロパティの値を抽出します。

評価値

抽出したテキストまたはプロパティの値（バイナリ型データ）

抽出するデータは，HiRDB Text Search Plug-in，またはHiRDB XML ExtensionのBLOB型で2ギガバイトまでのデータです。ただし，検索結果としては，APIで扱うことができるString型の値に変換したものを取得できます。

属性

この関数は，<SELECT句>の<選択項目>に指定できます。

ただし，この関数を<SELECT句>に指定した場合，<集合指定子>としてDISTINCTは指定できません。

(9)　<概念検索関数>の概要

概念検索関数には，次の種類があります。

concept_with_score関数
概念検索を実行すると同時に，スコア値を算出します。

score_concept関数
concept_with_score関数で算出したスコア値を取得します。

(10)　<concept_with_score関数>の詳細

<concept_with_score関数>の詳細について説明します。

関数名

concept_with_score

形式

concept_with_score <左括弧><プロパティ指定><コンマ><概念検索条件><右括弧>

引数

<プロパティ指定>（<特殊なプロパティ>）

検索対象の全文検索機能付き文書クラスが特定できる形式でプロパティを指定します。

指定できるプロパティは，次の<特殊なプロパティ>です。

edmProp_ConceptTextInde

<概念検索条件>（バイナリ型のデータ：BINARY(5m)）

概念検索条件を指定します。概念検索条件には，種文章を指定します。種文章を含む<概念検索条件>を指定する場合には，必ず<?パラメタ>を使用して指定してください。また，ここで指定する<?パラメタ>には，構造指定検索や同義語異表記検索などの検索を実行するための検索条件も指定します。指定方法については，マニュアル「HiRDB Text Search Plug-in」，またはマニュアル「HiRDB XML Extension」を参照してください。

<概念検索条件>を<?パラメタ>で指定する場合は，次のようにAS<データ型指定>をします。

? AS BINARY(5m)

AS<データ型指定>を含んだ，concept_with_score関数を呼び出す論理述語は，次のように指定します。

concept_with_score(edmProp_ConceptTextInde,
                   ? AS BINARY(5m)) IS TRUE

機能

<プロパティ指定>で指定したプロパティに対応する文書のコンテンツに対し，<概念検索条件>で指定した条件で，概念検索を実行します。

また，検索実行時に，検索結果として取得した文書から検索用特徴タームが含まれる割合をスコアとして算出します。

このスコアを取得する場合は，<score_concept関数>を使用します。

評価値

論理型（評価）

属性

この関数は，<WHERE句>の<検索条件>に指定できます。

(11)　<score_concept関数>の詳細

<score_concept関数>の詳細について説明します。

関数名

score_concept

形式

score_concept <左括弧><プロパティ指定><右括弧>

引数

<プロパティ指定>（<特殊なプロパティ>）

スコアの値を取得する全文検索機能付き文書クラスが特定できる形式でプロパティを指定します。

指定できるのは，次の<特殊なプロパティ>です。

edmProp_ConceptTextIndexプロパティ

機能

<concept_with_score関数>で検索結果として取得した文書に対して，文書の検索条件に対するスコア値（検索用特徴タームが含まれる割合に応じた値）を返却します。

評価値

スコア値（整数型）

属性

この関数は，<SELECT句>の<選択項目>に指定できます。

2.9.3　変換関数（edmSQL関数）

<変換関数>は，オブジェクト型の値を，DocumentBrokerクラスライブラリで扱えるデータ型に変換するための関数です。DocumentBrokerクラスライブラリでは，オブジェクト型のプロパティの値は，すべてOIID文字列として扱います。

<変換関数>には，<選択可能な変換関数>と<検索可能な変換関数>があります。

＜この項の構成＞

(1)　<変換関数>の形式

(2)　<変換関数>の概要

(3)　<oiidstr関数>の詳細

(4)　<objref関数>の詳細

(5)　<oiid関数>の詳細

(1)　<変換関数>の形式

!! <変換関数>の形式
<変換関数> ::= <選択可能な変換関数>
　　　　　　 ｜<検索可能な変換関数>

<選択可能な変換関数> ::= <oiidstr関数>

<検索可能な変換関数> ::= <objref関数>
　　　　　　　　　　　 ｜<oiid関数>

!! <oiidstr関数>の形式
<oiidstr関数> ::= oiidstr <左括弧> <プロパティ指定> <右括弧>

!! <objref関数>の形式
<objref関数> ::= objref<左括弧> <OIID文字列> <右括弧>

!! <oiid関数>の形式
<oiid関数> ::= oiid<左括弧> <OIID文字列> <右括弧>

<OIID文字列> ::= <文字列リテラル>

(2)　<変換関数>の概要

<変換関数>は，データベースで処理する関数ではなく，DocumentBrokerでedmSQLを発行した前後にデータの変換を実行する関数です。

<変換関数>には，<選択可能な変換関数>と<検索可能な変換関数>があります。<選択可能な変換関数>は，主問い合わせの<選択項目>だけに指定できます。<検索可能な変換関数>は，<検索条件>だけに指定できます。なお，<変換関数>は，<結合条件>には指定できません。

これら関数では，次の変換ができます。

オブジェクトリファレンス（オブジェクト型の値）からOIID文字列（文字列型の値）への変換

OIID文字列（文字列型の値）からオブジェクトリファレンス（オブジェクト型の値）への変換

OIID文字列からdmaProp_OIIDプロパティの値への変換

(3)　<oiidstr関数>の詳細

<oiidstr関数>の詳細について説明します。

関数名

oiidstr

形式

oiidstr <左括弧><プロパティ指定><右括弧>

引数

<プロパティ指定>（オブジェクト型の値）

機能

オブジェクト型の値であるオブジェクトリファレンスを，OIID文字列表記に変換します。

評価値

文字列型の値。

OIID文字列表記を，文字列型の値として返却します。

属性

<選択可能な変換関数>

この関数は，<SELECT句>の<選択項目>に指定できます。

(4)　<objref関数>の詳細

<objref関数>の詳細について説明します。

関数名

objref

形式

objref <左括弧> <OIID文字列><右括弧>

引数

<OIID文字列>（文字列型の値）

機能

<OIID文字列>（文字列型の値）を，オブジェクトリファレンス（オブジェクト型の値）に変換します。

評価値

オブジェクト型の値。

オブジェクトリファレンスを，オブジェクト型の値として返却します。

属性

<検索可能な変換関数>

この関数は，<WHERE句>の<検索条件>に指定できます。

(5)　<oiid関数>の詳細

<oiid関数>の詳細について説明します。

関数名

oiid

形式

oiid <左括弧><OIID文字列><右括弧>

引数

<OIID文字列>（文字列型の値）

評価値

文字列型の値。

実際にdmaProp_OIIDプロパティに格納されている形式（16バイトの値）の文字列型の値を返却します。

属性

<検索可能な変換関数>

この関数は，<WHERE句>の<検索条件>に指定できます。

2.10　データ操作の構文規則

ここでは，データ操作を表現する構文について説明します。edmSQLで実行できるデータ操作は，ORDER BY句による検索結果の並べ替えです。

形式

!! <ORDER BY句>の形式
<ORDER BY句> ::= ORDER BY <ソート指定リスト>
<ソート指定リスト> ::= <ソート指定> 〔 { <comma> <ソート指定> }... 〕
<ソート指定> ::= <ソートキー>  〔 <順序指定> 〕
<ソートキー> ::= <プロパティ指定>
　　　　　　　 ｜<符号なし整数>
<順序指定> ::= ASC｜DESC

＜この節の構成＞

2.10.1　<ORDER BY句>

2.10.1　<ORDER BY句>

ここでは，<ORDER BY句>の形式と規則について説明します。

<ORDER BY句>では，検索結果を昇順または降順に並べ替える場合の，ソート方法を指定します。<ORDER BY句>を省略した場合，検索結果の取得順序は不定になります。これは，検索結果が集合として管理されているためです。<ORDER BY句>では，この検索結果集合から要素を取り出す時のソート方法を指定します。

＜この項の構成＞

(1)　<ORDER BY句>の形式

(2)　<ソート指定リスト>についての規則

(3)　<ソートキー>についての規則

(4)　<順序指定>についての規則

(1)　<ORDER BY句>の形式

<ORDER BY句> ::= ORDER BY <ソート指定リスト>
<ソート指定リスト> ::= <ソート指定> 〔 { <コンマ> <ソート指定> }... 〕
<ソート指定> ::= <ソートキー>  〔 <順序指定> 〕
<ソートキー> ::= <プロパティ指定>
　　　　　　　 ｜<符号なし整数>
<順序指定> ::= ASC｜DESC

(2)　<ソート指定リスト>についての規則

<ソート指定リスト>に指定できる<ソート指定>の最大数は，HiRDBの制限に従います。

(3)　<ソートキー>についての規則

<ソートキー>に指定できるのは，<プロパティ指定>またはソート項目を指定する番号である<符号なし整数>です。ただし，指定できる<ソートキー>のデータ型については，HiRDBの制限に従います。

<ソートキー>を<プロパティ指定>で指定する場合，指定できるのは，最も外側のSELECT句（主問い合わせのSELECT句）の<選択項目>に指定したプロパティだけです。<副問い合わせ>のSELECT句で指定した<選択項目>のプロパティは，指定できません。

最も外側のSELECT句（主問い合わせのSELECT句）の<選択項目>が<ルーチンの起動>や<集合関数>の場合，<プロパティ指定>で<ソートキー>は指定できません。この場合は，ソート項目指定番号を指定してください。ソート項目指定番号とは，検索結果として指定した<選択項目>のうち，どの選択項目を<ソートキー>とするかを，<選択項目>の出現番号で表現したものです。したがって，SELECT句で先頭に指定した<選択項目>が「1」になります。

複数の<ソートキー>を指定した場合は，<ソートキー>を指定した順番（指定の左側からの順番）でソートします。

(4)　<順序指定>についての規則

<順序指定>では，<ソートキー>を並べる順序の方向を，昇順にするか，降順にするかを指定します。

ASCは<ソートキー>を昇順に並べる場合に指定します。

DESCは<ソートキー>を降順に並べる場合に指定します。

<順序指定>を省略した場合は，ASCが仮定されます。

2.11　edmSQLの指定例

この節では，edmSQLの指定例について説明します。

＜この節の構成＞

2.11.1　属性検索

2.11.2　全文検索（HiRDB Text Search Plug-in，またはHiRDB XML Extensionを利用した検索）

2.11.1　属性検索

ここでは，属性検索（プロパティを指定した検索）でのedmSQLの指定例を示します。

＜この項の構成＞

(1)　指定例で使用するクラスとプロパティ

(2)　一つのクラスに対して実行する属性検索

(3)　結合したクラスに対して実行する属性検索

(4)　副問い合わせを実行する属性検索

(5)　検索結果を取得する順序を指定した属性検索

(6)　VariableArray型のプロパティを指定した属性検索

(7)　集合関数を指定した属性検索

(1)　指定例で使用するクラスとプロパティ

この指定例で検索の対象になる文書は，次のようなクラスから作成された文書です。

文書X

Document Xクラスを基に作成された文書です。ユーザ定義プロパティとして，次の表に示すプロパティが設定されています。

表2-40　Document Xクラスのプロパティ

プロパティ名 | 内容
DocCode | 文書を管理するためのコード
Title | タイトル
Author | 著者
AuthorId | 著者ID
Abstract | 概要
CreateDate | 作成日

所有者一覧

OwnersListクラスを基に作成された文書です。ユーザ定義プロパティとして，次の表に示すプロパティが設定されています。

表2-41　OwnersListクラスのプロパティ

プロパティ名 | 内容
DocCode | 文書を管理するためのコード
Owner | 所有者

辞書Y

Dictionary Yクラスを基に作成された文書です。ユーザ定義プロパティとして，次の表に示すプロパティが設定されています。

表2-42　Dictionary Yクラスのプロパティ

プロパティ名 | 内容
Name | 名前
Birthday | 誕生日
EntryId | エントリーID

論文

myPaperクラスを基に作成された文書です。次の表に示すプロパティが設定されています。

表2-43　myPaperクラスのプロパティ

プロパティ名 | 内容
Title | タイトル
Authors※ | Name | 名前
Org | 所属

注※　VariableArray型のプロパティです。

(2)　一つのクラスに対して実行する属性検索

ここでは，一つのクラスに対して実行する属性検索の指定例を示します。

(a)　SELECT句とFROM句だけを指定する検索

<検索対象>としてDocument Xクラスを，<選択項目>としてTitleプロパティ，AuthorプロパティおよびAbstractプロパティを取得する例を示します。

指定例

SELECT Title,Author,Abstract
FROM   "Document X"

(b)　SELECT句，FROM句およびWHERE句を指定する検索

(a)に加えて，検索条件としてWHERE句に「Authorプロパティが『日立太郎』で，CreateDateプロパティが20000101以上」という条件を指定する例を示します。

指定例

SELECT Title,Author,Abstract
FROM "Document X"
WHERE Author = '日立太郎' AND CreateDate > '20000101'

(c)　重複排除を指定する検索

Document Xクラスから，Authorプロパティを，重複を排除して取得する例を示します。

指定例

SELECT DISTINCT Author
FROM "Document X"

(d)　検索条件としてOIIDを指定した検索

Document Xクラスから作成された文書から，OIIDを指定して，Titleプロパティ，AuthorプロパティおよびAbstractプロパティを取得する例を示します。なお，OIIDは，oiid関数を使用して指定します。

指定例

SELECT Title,Author,Abstract
FROM "Document X"
WHERE dmaProp_OIID = oiid('dma:///xxx/xxx/xxxxxxxxxx...xxx')

(3)　結合したクラスに対して実行する属性検索

ここでは，複数のクラスを結合した検索対象クラスに対して実行する属性検索の指定例を示します。

なお，edmSQLで実行できる結合の方法には，次の2種類があります。

内部結合

左外部結合

それぞれの場合の指定例を示します。

(a)　二つのクラスを内部結合した検索

Document XクラスとOwnersListクラスを内部結合して，Document Xクラスの文書のTitleプロパティ，Document XクラスのAuthorプロパティおよびOwnersListクラスのOwnerプロパティを取得する例を示します。ここでは，次の二つの方法の指定例を示します。

FROM句に<クラス指定>を並べて内部結合して，結合の条件をWHERE句に指定する方法

INNER JOINを使用して，二つのクラスの結合を指定する方法

結合では，Document XクラスのDocCodeプロパティとOwnersListクラスのDocCodeプロパティが一致することを条件とします。

なお，Document Xクラスの<相関名>としてDX，OwnersListクラスの<相関名>としてOLを使用します。

FROM句に<クラス指定>を並べて内部結合して，結合の条件をWHERE句に指定する方法

次のように指定します。

指定例

SELECT DX.Title,DX.Author,OL.Owner
FROM "Document X" DX, OwnersList OL
WHERE DX.DocCode = OL.DocCode

INNER JOINを使用して二つのクラスの結合を指定する検索

次のように指定します。

指定例

SELECT DX.Title,DX.Author,OL.Owner
FROM   "Document X" DX INNER JOIN OwnersList OL
          ON DX.DocCode = OL.DocCode

(b)　三つのクラスを内部結合した検索

Document Xクラス，OwnersListクラスおよびDictionary Yクラスを結合して，Document XクラスのTitleプロパティとDocument XクラスのAuthorプロパティ，Dictionary YクラスのBirthdayプロパティおよびOwnersListクラスのOwnerプロパティを取得する例を示します。ここでは，次の二つの方法の指定例を示します。

FROM句に<クラス指定>を並べて内部結合して，結合の条件をWHERE句に指定する方法

INNER JOINを使用して，三つのクラスの結合を指定する方法

結合では，Document XクラスのDocCodeプロパティとOwnersListクラスのDocCodeプロパティが一致することと，Document XクラスのAuthorIdプロパティとDictionary YクラスのEntryIdプロパティが一致することを条件とします。

FROM句に<クラス指定>を並べて内部結合して，結合の条件をWHERE句に指定する方法

次のように指定します。

指定例

SELECT DX.Title,DX.Author,DY.Birthday,OL.Owner
FROM  "Document X" DX,
            OwnersList OL,"Dictionary Y" DY
WHERE  DX.DocCode = OL.DocCode
AND DX.AuthorId = DY.EntryId

INNER JOINを使用して三つのクラスの結合を指定する検索

次のように指定します。

指定例

SELECT DX.Title,DX.Author,DY.Birthday,OL.Owner
FROM ("Document X" HD INNER JOIN OwnersList OL
ON DX.DocCode = OL.DocCode)
INNER JOIN "Dictionary Y" DY
 ON DX.AuthorId = DY.EntryId

(c)　二つのクラスを外部結合した検索

Document XクラスとOwnersListクラスを外部結合して，Document Xクラスの文書のTitleプロパティとDocument XクラスのAuthorプロパティおよびOwnersListクラスのTitleプロパティを取得する例を示します。

次のように指定します。

指定例

SELECT DX.Title,DX.Author,OL.Owner
FROM "Document X" DX LEFT OUTER JOIN OwnersList OL
       ON DX.DocCode = OL.DocCode

(d)　三つのクラスを外部結合した検索

Document Xクラス，OwnersListクラスおよびDictionary Yクラスを外部結合して，Document XクラスのTitleプロパティ，Document XクラスのAuthorプロパティ，Dictionary YクラスのBirthdayプロパティおよびOwnersListクラスのOwnerプロパティを取得する例を示します。

指定例

SELECT DX.Title,DX.Author,DY.Birthday,OL.Owner
FROM ("Document X" DX LEFT OUTER JOIN OwnersList OL
   ON DX.DocCode = OL.DocCode) LEFT OUTER JOIN
 "Dictionary Y" DY ON DX.AuthorId = DY.EntryId

(4)　副問い合わせを実行する属性検索

ここでは，副問い合わせを指定する場合の属性検索の指定例を示します。

(a)　比較述語を指定した副問い合わせ

OIIDがわかっているDocument XクラスのオブジェクトのCreateDateプロパティよりも，Birthdayプロパティが新しい（値が大きい）Dictionary Yクラスのオブジェクトの，NameプロパティとBirthdayプロパティを取得する例を示します。

指定例

SELECT Name, Birthday
FROM "Dictionary Y"
WHERE  Birthday > (SELECT CreateDate
       FROM "Document X"
       WHERE dmaProp_OIID =
              oiid( 'dma:///xxx/xxx/xxxxxxxxxx...xxx'))

(b)　In述語を指定した副問い合わせ

CreateDateプロパティが19990101よりも値が大きいDocument XクラスのオブジェクトのAuthorIdプロパティのどれかと，EntryIdプロパティの値が等しい，Document Xクラスの オブジェクトのNameプロパティとBirthdayプロパティを取得する例を示します。

指定例

SELECT Name, Birthday
FROM "Dictionary Y"
WHERE EntryId IN (SELECT AuthorId
                     FROM "Document X"
                     WHERE CreateDate < '19990101')

(c)　Exists述語を指定した副問い合わせ

DictionaryクラスのオブジェクトのNameプロパティとDocument XクラスのオブジェクトのAuthorプロパティが一致する文書が一つでもあれば，そのDictionary Yクラスの文書のNameプロパティとBirthdayプロパティを取得する例を示します。

指定例

SELECT Name, Birthday
FROM "Dictionary Y" DY
WHERE EXISTS (SELECT *
                  FROM "Document X" DX
                  WHERE DY.Name = DX.Author)

(5)　検索結果を取得する順序を指定した属性検索

ここでは，取得する検索結果の順序を指定する場合の属性検索の指定例を示します。

Document Xクラスの文書のうち，CreateDateプロパティの値が20000101よりも大きいオブジェクトを検索して，Titleプロパティ，Authorプロパティ，およびCreateDateプロパティを取得します。なお，この例では，Authorプロパティによって昇順に並べ替え，その中でCreateDateプロパティで降順に並べ替えて検索結果を取得します。まず，並べ替えのキーとしてソート項目指定番号を指定する例を示します。ソート項目番号は，AuthorプロパティはSELECT句で2番目に指定されているので「2」，CreateDateプロパティはSELECT句で3番目に指定されているので「3」になります。

指定例

SELECT Title,Author,CreateDate
FROM "Document X"
WHERE CreateDate > '20000101'
ORDER BY 2 ASC,3 DESC

これを，プロパティ名で指定すると，次のようになります。

指定例

SELECT Title,Author,CreateDate
FROM "Document X"
WHERE CreateDate > '20000101'
ORDER BY Author ASC,CreateDate DESC

(6)　VariableArray型のプロパティを指定した属性検索

ここでは，VariableArray型のプロパティの検索方法について説明します。

(a)　VariableArray型のプロパティを取得する検索

ここでは，myPaperクラスのVariableArray型のプロパティであるAuthorsプロパティを取得する例を示します。

指定例

SELECT Title,Authors
FROM myPaper
WHERE CreateDate > '20000101'

(b)　VariableArray型のプロパティの要素の値を指定した検索

ここでは，myPaperクラスのVariableArray型のプロパティであるAuthorsプロパティの，Orgプロパティが「日立製作所」であるオブジェクトのTitleプロパティとAuthorsプロパティを取得します。

指定例

SELECT Title,Authors
FROM myPaper
WHERE Authors[ANY].Org = '日立製作所'

(7)　集合関数を指定した属性検索

ここでは，COUNT(*)関数およびCOUNT関数を使用した検索の指定例を示します。

Document Xクラスの文書のうち，作成日が「2000年1月1日」よりも新しい（CreateDateプロパティの値が「20000101」よりも大きい）文書の数を取得します。

指定例

SELECT COUNT(*) FROM "Document X"
WHERE CreateDate > '20000101'

次に，Document Xクラスの文書のうち，作成日が「2000年1月1日」よりも新しい（CreateDateプロパティの値が「20000101」よりも大きい）文書のAuthorsプロパティの値の数を，重複排除して取得します。

指定例

SELECT COUNT(DISTINCT Authors) FROM "Document X"
WHERE CreateDate > '20000101'

2.11.2　全文検索（HiRDB Text Search Plug-in，またはHiRDB XML Extensionを利用した検索）

ここでは，HiRDB Text Search Plug-in，またはHiRDB XML Extensionを利用した全文検索実行時の，edmSQLの指定例を示します。

なお，<全文検索条件>および<概念検索条件>の指定方法については，マニュアル「HiRDB Text Search Plug-in」，またはマニュアル「HiRDB XML Extension」を参照してください。

＜この項の構成＞

(1)　指定例で使用するクラスとプロパティ

(1)　指定例で使用するクラスとプロパティ

この指定例で使用する文書は，次のようなクラスから作成された文書です。

文書X

Document Xクラスを基に作成された文書です。Document Xクラスは，全文検索機能付き文書クラスとして作成されています。また，ユーザ定義プロパティも設定されています。Document Xクラスの主なプロパティを次の表に示します。

表2-44　Document Xクラスのプロパティ

プロパティ識別子 | 内　容
Code | 文書を管理するためのコード
Title | タイトル
Author | 著者
Abstract | 概要
CreateDate | 作成日

2.12　留意事項

ここでは，edmSQLを使用して検索を実行する場合に，留意が必要な内容について説明します。

＜この節の構成＞

2.12.1　プロパティに関する制限事項

2.12.2　検索条件に指定する値の制限事項

2.12.3　複数のクラスを対象にした検索の制限事項

2.12.4　アクセス制御機能付き検索を実行する場合の制限事項

2.12.1　プロパティに関する制限事項

「dbrProp_」で始まるプロパティは，検索条件には指定できません。

2.12.2　検索条件に指定する値の制限事項

検索条件に設定できる値についての制限事項を示します。

なお，制限事項には，DocumentBrokerとしての制限のほか，データベースであるHiRDBの制限に基づくものもあります。指定する値のバイト数などについては， HiRDBの制限に従います。HiRDBの制限を超えた検索を実行した場合は，データベースエラーになります。HiRDBの制限事項の詳細については，マニュアル「HiRDB　SQLリファレンス」を参照してください。

この項では，FROM句，SELECT句，WHERE句およびORDER BY句に指定する内容に関する制限事項などについて説明します。

＜この項の構成＞

(1)　FROM句に関する制限事項

(2)　SELECT句に関する制限事項

(3)　WHERE句に関する制限事項

(4)　検索条件として指定できる値についての制限

(5)　オペレータに指定する値についての制限

(6)　?パラメタに関する制限事項

(7)　問い合わせ指定全体に関する制限事項

(1)　FROM句に関する制限事項

ロックを設定するインターフェースを使用した場合に，ロック種別にwriteロック（定数：DbjDef.LOCK_WRITE）を指定した場合に，次の条件で検索を実行すると，データベースエラーになります。

主問い合わせでFROM句に指定したクラスを，副問い合わせのFROM句に指定した条件

主問い合わせでクラスの結合を指定した条件

(2)　SELECT句に関する制限事項

ロックを取得するインターフェースを使用する場合に，ロックの種別にwriteロック（定数：DbjDef.LOCK_WRITE）を指定して，次の条件での検索を実行すると，データベースエラーになります。

主問い合わせに重複排除（DISTINCT）を指定した条件

主問い合わせにCOUNT関数を指定した条件

VariableArray型のプロパティのヒット件数をCOUNT関数で取得しようとすると，edmSQL構文解析エラーになります。

(3)　WHERE句に関する制限事項

WHERE句で指定する論理演算のネスト数は，255個以内で指定してください。255個を超えた場合は，データベースエラーになります。

(4)　検索条件として指定できる値についての制限

検索条件として指定するプロパティの値や，全文検索で指定できる文字については，制限があります。検索条件として指定できるクラスやプロパティについては，マニュアル「DocumentBroker Version 5　概説」の検索対象になる文書管理オブジェクトの説明を参照してください。また，edmSQL文に指定できる値については，「2.4　字句規則」を参照してください。

(5)　オペレータに指定する値についての制限

次のような演算を指定した場合は，データベースエラーになります。

比較演算の両辺に値を指定した検索は，データベースエラーになります。
例えば，<比較演算子>「=」の両辺に，<リテラル>または<?パラメタ>を指定した検索などはできません。

右辺に値を指定する副問い合わせの<In述語>の左辺に，値を指定した検索はデータベースエラーになります。
例えば，副問い合わせに使用する<In述語>の両辺に<文字列リテラル>を指定した検索などはできません。

/演算子の右辺（除数）として，0を指定すると，データベースエラーになります。

(6)　?パラメタに関する制限事項

<?パラメタ>に文字列を指定する場合は，32,000バイト以内の文字列を指定してください。制限を超えて指定した場合は，データベースエラーになります。

(7)　問い合わせ指定全体に関する制限事項

一つの問い合わせ指定内で，DISTINCTを2回以上指定することはできません。

2.12.3　複数のクラスを対象にした検索の制限事項

複数クラスを対象にした検索での制限は，HiRDBの制限に従います。また，複数クラスを対象にした全文検索での制限は，HiRDB Text Search Plug-inまたはHiRDB XML Extension，およびHiRDBの制限に従います。

それぞれの制限については，マニュアル「HiRDB　SQLリファレンス」，およびマニュアル「HiRDB Text Search Plug-in」またはマニュアル「HiRDB XML Extension」の，表の結合に関する規則の説明を参照してください。

2.12.4　アクセス制御機能付き検索を実行する場合の制限事項

アクセス制御機能付き検索は，必ずアクセス制御機能を使用している文書空間で実行してください。また，アクセス制御機能に対応していないユーザアプリケーションプログラムをアクセス制御機能を使用している文書空間で使用した場合，検索結果が不正になることがあります。文書空間の設定と，ユーザアプリケーションプログラムの機能は一致させてください。

アクセス制御機能付き検索では，検索結果の重複排除は指定できません。指定した場合は，edmSQL構文解析エラーになります。

検索結果の個数を取得する検索は実行できません。SELECT句にCOUNT関数を指定することはできません。指定した場合は，edmSQL構文解析エラーになります。
検索結果の個数は，検索結果を全件取得することで取得してください。

副問い合わせは実行できません。副問い合わせを実行した場合，副問い合わせの検索結果に対してアクセス制御がされません。
例えば，次のような検索の場合，検索結果が不正になる可能性があります。
［例］

SELECT S0.PropA
FROM ClassA As S0
WHERE S0,PropB In
(SELECT S1.PropC FROM ClassB AS S1 WHERE S1.PropD='mojiretsu')

この場合，斜体で記述した副問い合わせの結果に対してはアクセス制御されません。つまり，ユーザが参照権を持たないオブジェクトも検索結果として取得できます。このため，副問い合わせの結果として取得したオブジェクトには，ユーザのアクセス権では参照できないオブジェクトが含まれている可能性があります。
また，全文検索を含む副問い合わせの検索結果には，プロパティを参照する権利を持たないオブジェクトのほか，コンテンツを参照する権利がないオブジェクトが含まれる可能性があります。
アクセス制御機能付き検索で副問い合わせに相当する検索を実行したい場合は，複数のSELECT句に分けて，複数回DbjDocSpace#executeSearchメソッドをコールして検索を実行してください。

アクセス制御機能付き検索では，ユーザがSELECT句に指定したプロパティ以外にDocumentBrokerによってアクセス制御情報を表すプロパティが取得されています。このため，ユーザがSELECT句に指定できるプロパティ数が，通常の検索で指定できる数（データベースの制限値）よりも少なくなります。

3.　DocumentBrokerクラスライブラリのクラス，インターフェース，およびメソッド

この章では，DocumentBrokerクラスライブラリで使用するクラス，インターフェース，およびメソッドについて説明します。

＜この章の構成＞

3.1　ファクトリクラスのインターフェース，およびメソッド一覧

3.2　パラメタクラスのインターフェース，およびメソッド一覧

3.3　文書管理クラスのインターフェース，およびメソッド一覧

3.4　メタクラスのインターフェース，およびメソッド一覧

3.5　例外クラスのクラス一覧，スーパークラス，およびコンストラクタ

3.6　定数定義クラスのカテゴリ一覧

3.7　ライブラリ情報取得クラスのクラス，およびメソッド一覧

3.8　トレースクラスのクラス，およびメソッド一覧

3.9　クラス，インターフェースおよびメソッドの説明形式

3.1　ファクトリクラスのインターフェース，およびメソッド一覧

ファクトリクラスのクラス，およびメソッドを一覧形式で説明します。

＜この節の構成＞

3.1.1　ファクトリクラスのクラスおよびインターフェース

3.1.2　ファクトリクラスのメソッド一覧

3.1.1　ファクトリクラスのクラスおよびインターフェース

ファクトリクラスのクラスおよびインターフェースを次の表に示します。なお，それぞれのクラスおよびインターフェースの使用方法については，「1.6　ファクトリクラス」を参照してください。

表3-1　ファクトリクラスのクラスおよびインターフェース一覧

クラス・インターフェース | 説明
ファクトリインターフェースを取得するためのクラス
DbjFactory0200クラス | DocumentBrokerクラスライブラリのファクトリインターフェースを取得するためのクラス
ファクトリインターフェース
DbjFactoryインターフェース | DocumentBrokerクラスライブラリのオブジェクトを生成し，そのインターフェースを返却するファクトリインターフェース

3.1.2　ファクトリクラスのメソッド一覧

ファクトリクラスのクラス，およびインターフェースのメソッドの一覧を示します。

＜この項の構成＞

(1)　DbjFactory0200クラス（DocumentBrokerクラスライブラリのDbjFactoryインターフェースを取得するためのクラス）

(2)　DbjFactoryインターフェース（オブジェクトを生成するためのインターフェース）

(1)　DbjFactory0200クラス（DocumentBrokerクラスライブラリのDbjFactoryインターフェースを取得するためのクラス）

DbjFactory0200クラスのメソッド一覧を次の表に示します。

表3-2　DbjFactory0200クラスのメソッド一覧

メソッド | 機能
getFactory | ファクトリインターフェースの取得
getMetaManager | メタマネージャーインターフェースの取得

(2)　DbjFactoryインターフェース（オブジェクトを生成するためのインターフェース）

DbjFactoryインターフェースのメソッド一覧を次の表に示します。

表3-3　DbjFactoryインターフェースのメソッド一覧

メソッド | 機能
DocumentBrokerクラスライブラリ上のオブジェクトを作成するメソッド
createACE | ACEの作成
createBooleanQParam | BOOL型の?パラメタの作成
createConvertContentInfo | コンテンツ情報オブジェクトの作成
createFetchInfo | 検索結果取得情報オブジェクトの作成
createInteger32QParam | INT型の?パラメタの作成
createOIIDQParam | OIIDの?パラメタの作成
createObjQParam | Object型の?パラメタの作成
createPropSet | プロパティ値集合オブジェクトの作成
createPublicACLIdElm | パブリックACLのOIIDエレメントの作成
createReferencePathInfo | リファレンスファイル文書のパス情報オブジェクトの作成
createReferenceUploadInfo | リファレンスファイル文書のアップロード情報オブジェクトの作成
createSeedDocQParam | 種文章の?パラメタの作成
createSession | DocumentBrokerクラスライブラリのセッションオブジェクトの作成
createSetDCRLinkInfo | 直接型リンク設定情報の作成
createSetRelLinkInfo | 文書間リンク設定情報の作成
createSetRCRLinkInfo | 参照型リンク設定情報の作成
createStringQParam | STR型の?パラメタの作成
createUploadInfo | 文書のアップロード情報オブジェクトの作成
createVArray | 可変長配列オブジェクトの作成

3.2　パラメタクラスのインターフェース，およびメソッド一覧

パラメタクラスのインターフェース，およびメソッドを一覧形式で説明します。

＜この節の構成＞

3.2.1　パラメタクラスのインターフェース一覧

3.2.2　パラメタクラスのメソッド一覧

3.2.1　パラメタクラスのインターフェース一覧

パラメタクラスのインターフェースの一覧を次の表に示します。なお，それぞれのインターフェースの機能については，「1.7.1　パラメタクラスのインターフェースの機能」を参照してください。

表3-4　パラメタクラスのインターフェース一覧

インターフェース | 説明
?パラメタを扱うインターフェース
DbjBooleanQParamインターフェース | BOOL型を表す?パラメタを扱うインターフェース
DbjInteger32QParamインターフェース | INT型を表す?パラメタを扱うインターフェース
DbjObjQParamインターフェース | 文書管理オブジェクトを表す?パラメタを扱うインターフェース
DbjOIIDQParamインターフェース | OIID文字列を表す?パラメタを扱うインターフェース
DbjQParamインターフェース | 検索メソッドで指定する?パラメタリストの要素となるインターフェースのスーパーインターフェース
DbjSeedDocQParamインターフェース | 種文章を表す?パラメタを扱うインターフェース
DbjStringQParamインターフェース | STR型を表す?パラメタを扱うインターフェース
アクセス制御用プロパティを扱うインターフェース
DbjACEインターフェース | ACEの値を扱うインターフェース
DbjPublicACLIdElmインターフェース | 文書管理オブジェクトにバインドするパブリックACLのOIID文字列を扱うインターフェース
アップロード情報を扱うインターフェース
DbjUploadInfoインターフェース | 文書のアップロード情報を扱うインターフェース
DbjReferenceUploadInfoインターフェース | リファレンスファイル文書のアップロード情報を扱うインターフェース
可変長配列オブジェクトを扱うインターフェース
DbjVArrayインターフェース | VARRAY型プロパティの値である可変長配列オブジェクトを扱うインターフェース
検索結果集合を扱うインターフェース
DbjResultSetインターフェース | 検索結果集合を扱うインターフェース
検索結果取得情報を扱うインターフェース
DbjFetchInfoインターフェース | 検索結果取得情報を扱うインターフェース
チェックアウト情報を扱うインターフェース
DbjCheckOutInfoインターフェース | バージョン付きオブジェクトのチェックアウト情報を扱うインターフェース
プロパティ値集合を扱うインターフェース
DbjPropSetインターフェース | プロパティ値集合を扱うインターフェース
文書のコンテンツ情報を扱うインターフェース
DbjContentInfoインターフェース | 文書のコンテンツ情報を扱うインターフェース
DbjConvertContentInfoインターフェース | 文書のコンテンツ種別の変換時に使用する情報を扱うインターフェース
DbjReferenceContentInfoインターフェース | リファレンスファイル文書のコンテンツ情報を扱うインターフェース
文書のパス情報を扱うインターフェース
DbjReferencePathInfoインターフェース | リファレンスファイル文書のパス情報を扱うインターフェース
リンクの設定情報を扱うインターフェース
DbjSetDCRLinkInfoインターフェース | 直接型リンクの設定情報を扱うインターフェース
DbjSetLinkInfoインターフェース | リンクの設定情報を扱うインターフェース
DbjSetRCRLinkInfoインターフェース | 参照型リンクの設定情報を扱うインターフェース
DbjSetRelLinkInfoインターフェース | 文書間リンクの設定情報を扱うインターフェース
レンディション情報を扱うインターフェース
DbjRenditionInfoインターフェース | レンディション情報を扱うインターフェース
DbjRenditionListインターフェース | レンディション情報のリストを扱うインターフェース

DocumentBrokerクラスライブラリで提供しているこれらのインターフェースには継承関係があり，上位にあるインターフェースで定義したプロパティやメソッドは，下位のインターフェースに継承されます。インターフェースの継承関係を次の図に示します。

図3-1　パラメタクラスのインターフェースの継承関係

3.2.2　パラメタクラスのメソッド一覧

パラメタクラスの各インターフェースのメソッドの一覧を示します。

＜この項の構成＞

(1)　DbjACEインターフェース（ACEの値を扱うインターフェース）

(2)　DbjCheckOutInfoインターフェース（バージョン付きオブジェクトのチェックアウト情報を扱うインターフェース）

(3)　DbjContentInfoインターフェース（文書のコンテンツ情報を扱うインターフェース）

(4)　DbjConvertContentInfoインターフェース（文書のコンテンツ種別の変換時に使用する情報を扱うインターフェース）

(5)　DbjFetchInfoインターフェース（検索結果取得情報を扱うインターフェース）

(6)　DbjPropSetインターフェース（プロパティ値集合を扱うインターフェース）

(7)　DbjPublicACLIdElmインターフェース（パブリックACLのOIID文字列を扱うインターフェース）

(8)　DbjQParamインターフェース

(9)　DbjReferenceContentInfoインターフェース（リファレンスファイル文書のコンテンツ情報を扱うインターフェース）

(10)　DbjReferencePathInfoインターフェース（リファレンスファイル文書のパス情報を扱うインターフェース）

(11)　DbjReferenceUploadInfoインターフェース（リファレンスファイル文書のアップロード情報を扱うインターフェース）

(12)　DbjRenditionInfoインターフェース（レンディション情報を扱うインターフェース）

(13)　DbjRenditionListインターフェース（レンディション情報のリストを扱うインターフェース）

(14)　DbjResultSetインターフェース（検索結果集合を扱うインターフェース）

(15)　DbjSetLinkInfoインターフェース（リンクの設定情報を扱うインターフェース）

(16)　DbjUploadInfoインターフェース（文書のアップロード情報を扱うインターフェース）

(17)　DbjVArrayインターフェース（可変長配列オブジェクトを扱うインターフェース）

(1)　DbjACEインターフェース（ACEの値を扱うインターフェース）

DbjACEインターフェースのメソッド一覧を次の表に示します。

表3-5　DbjACEインターフェースのメソッド一覧

メソッド | 機能
ACEの値を取得するメソッド
getPermission | パーミッションの取得
getSubject | サブジェクトの取得
getSubjectType | サブジェクト種別の取得
propSet | ACEのプロパティ値集合の取得
ACEの値を設定するメソッド
setPermission | パーミッションの設定
setPropSet | ACEのプロパティ値集合の設定
setSubject | サブジェクトの設定
setSubjectType | サブジェクト種別の設定
ACEのサブジェクト種別を設定するメソッド
setGroupSubject | サブジェクトをグループサブジェクトとして設定
setSystemSubject | サブジェクトをシステムサブジェクトとして設定
setUserSubject | サブジェクトをユーザサブジェクトとして設定

(2)　DbjCheckOutInfoインターフェース（バージョン付きオブジェクトのチェックアウト情報を扱うインターフェース）

DbjCheckOutInfoインターフェースのメソッド一覧を次の表に示します。

表3-6　DbjCheckOutInfoインターフェースのメソッド一覧

メソッド | 機能
チェックアウト情報を取得するメソッド
getCheckOutUserId | チェックアウトしたユーザのユーザ識別子の取得
getCheckOutVersionId | 仮のバージョン識別子の取得
isCheckOut | チェックアウト中かどうかの判定

(3)　DbjContentInfoインターフェース（文書のコンテンツ情報を扱うインターフェース）

DbjContentInfoインターフェースのメソッド一覧を次の表に示します。

表3-7　DbjContentInfoインターフェースのメソッド一覧

メソッド | 機能
文書のコンテンツ情報を取得するメソッド
getRenditionType | コンテンツのレンディションタイプの取得
getRetrievalName | コンテンツのファイル名の取得

(4)　DbjConvertContentInfoインターフェース（文書のコンテンツ種別の変換時に使用する情報を扱うインターフェース）

DbjConvertContentInfoインターフェースのメソッド一覧を次の表に示します。

表3-8　DbjConvertContentInfoインターフェースのメソッド一覧

メソッド | 機能
文書のコンテンツ種別の変換情報を取得するメソッド
getConvertType | 変換先コンテンツ種別の取得
getExecuteMode | 変換元のレンディションを残すかどうかの実行モードの取得
getSourceScope | 変換対象レンディション範囲の取得
getRenditionType | レンディションタイプの取得
getInvestMode | コメント付与方式の取得
getRenditionComment | レンディションコメントの取得
getReferenceTargetPath | コンテント登録先ディレクトリパスの取得
isCangeMaster | マスタレンディション変換時の変換後レンディション種別の取得
isCheckRenditionStatus | レンディションステータスのチェックの取得
isInvestSourceComment | レンディションコメントの付与時期の取得
文書のコンテンツ種別の変換情報を設定するメソッド
setConvertType | 変換先コンテンツ種別の設定
setExecuteMode | 変換元のレンディションを残すかどうかの実行モードの設定
setSourceScope | 変換対象レンディション範囲の設定
setRenditionType | レンディションタイプの設定
setInvestMode | コメント付与方式の設定
setRenditionComment | レンディションコメントの設定
setReferenceTargetPath | コンテント登録先ディレクトリパスの設定
setCangeMaster | マスタレンディション変換時の変換後レンディション種別の設定
setCheckRenditionStatus | レンディションステータスのチェックの設定
setInvestSourceComment | レンディションコメントの付与時期の設定

(5)　DbjFetchInfoインターフェース（検索結果取得情報を扱うインターフェース）

DbjFetchInfoインターフェースのメソッド一覧を次の表に示します。

表3-9　DbjFetchInfoインターフェースのメソッド一覧

メソッド | 機能
検索結果取得情報を取得するメソッド
getCacheKey | キャッシュキーの取得
getCacheName | キャッシュ名の取得
getCacheTotal | 検索結果キャッシュの全件数の取得
getComparator | Comparatorインターフェースの取得
getFetchCount | 検索結果の取得件数の取得
getMaxFetchCount | 検索結果の最大取得件数の取得
getStartIndex | 検索結果の取得開始位置の取得
検索結果取得情報を設定するメソッド
setCacheKey | キャッシュキーの設定
setCacheName | キャッシュ名の設定
setCacheTotal | 検索結果キャッシュの全件数の設定
setComparator | Comparatorインターフェースの設定
setFetchCount | 検索結果の取得件数の設定
setMaxFetchCount | 検索結果の最大取得件数の設定
setStartIndex | 検索結果の取得開始位置の設定

(6)　DbjPropSetインターフェース（プロパティ値集合を扱うインターフェース）

DbjPropSetインターフェースのメソッド一覧を次の表に示します。

表3-10　DbjPropSetインターフェースのメソッド一覧

メソッド | 機能
プロパティ値を取得するメソッド
getIntegerVal | Integer型でのプロパティ値の取得
getIntVal | int型でのプロパティ値の取得
getListRef | List型でのプロパティ値の取得
getStringVal | String型でのプロパティ値の取得
getVArrayRef | VARRAY型でのプロパティ値の参照の取得
getVArrayVal | VARRAY型でのプロパティ値の取得
isNull | プロパティ値がNULL値かどうかの判定
プロパティ値を設定するメソッド
setNull | NULL値プロパティの設定
setPropRef | プロパティ値の参照の設定
setPropVal | プロパティ値の設定
プロパティ名を変更するメソッド
changePropName | プロパティ名の変更
changePropNames | プロパティ名の一括変更

(7)　DbjPublicACLIdElmインターフェース（パブリックACLのOIID文字列を扱うインターフェース）

DbjPublicACLIdElmインターフェースのメソッド一覧を次の表に示します。

表3-11　DbjPublicACLIdElmインターフェースのメソッド一覧

メソッド | 機能
パブリックACLのOIID文字列を取得するメソッド
getId | パブリックACLのOIID文字列の取得
propSet | パブリックACLのOIID文字列のプロパティ値集合の取得
パブリックACLのOIID文字列を設定するメソッド
setId | パブリックACLのOIID文字列の設定
setPropSet | パブリックACLのOIID文字列のプロパティ値集合の設定

(8)　DbjQParamインターフェース

DbjQParamインターフェースのメソッド一覧を次の表に示します。

表3-12　DbjQParamインターフェースのメソッド一覧

メソッド | 機能
?パラメタ値を取得するメソッド
getVal | ?パラメタ値の取得

(9)　DbjReferenceContentInfoインターフェース（リファレンスファイル文書のコンテンツ情報を扱うインターフェース）

DbjReferenceContentInfoインターフェースのメソッド一覧を次の表に示します。

表3-13　DbjReferenceContentInfoインターフェースのメソッド一覧

メソッド | 機能
リファレンスファイル文書のコンテンツ情報を取得するメソッド
getContentLocation | コンテンツロケーションの取得
getReferenceType | リファレンス種別の取得

(10)　DbjReferencePathInfoインターフェース（リファレンスファイル文書のパス情報を扱うインターフェース）

DbjReferencePathInfoインターフェースのメソッド一覧を次の表に示します。

表3-14　DbjReferencePathInfoインターフェースのメソッド一覧

メソッド | 機能
リファレンスファイル文書のパス情報を取得するメソッド
getContentOperateMode | コンテンツのパス操作モードの取得
getDeleteRootPath | 削除するディレクトリのルートパスの取得
getEntry | 登録するコンテンツのパスまたはダウンロード先のパスを取得
getTargetPath | コンテンツ格納先バスの取得
リファレンスファイル文書のパス情報を設定するメソッド
setContentOperateMode | コンテンツのパス操作モードの設定
setDeleteRootPath | 削除するディレクトリのルートパスの設定
setEntry | 登録するコンテンツのパスまたはダウンロード先のパスの設定
setTargetPath | コンテンツ格納先パスの設定

(11)　DbjReferenceUploadInfoインターフェース（リファレンスファイル文書のアップロード情報を扱うインターフェース）

DbjReferenceUploadInfoインターフェースのメソッド一覧を次の表に示します。

表3-15　DbjReferenceUploadInfoインターフェースのメソッド一覧

メソッド | 機能
リファレンスファイル文書のアップロード情報を取得するメソッド
getReferencePathInfo | リファレンスファイル文書のパス情報の取得
リファレンスファイル文書のアップロード情報を設定するメソッド
setReferencePathInfo | リファレンスファイル文書のパス情報の設定

(12)　DbjRenditionInfoインターフェース（レンディション情報を扱うインターフェース）

DbjRenditionInfoインターフェースのメソッド一覧を次の表に示します。

表3-16　DbjRenditionInfoインターフェースのメソッド一覧

メソッド | 機能
レンディションタイプを取得するメソッド
getRenditionType | レンディションタイプの取得
propSet | レンディションタイプのプロパティ値集合の取得

(13)　DbjRenditionListインターフェース（レンディション情報のリストを扱うインターフェース）

DbjRenditionListインターフェースのメソッド一覧を次の表に示します。

表3-17　DbjRenditionListインターフェースのメソッド一覧

メソッド | 機能
レンディションタイプのリストを取得するメソッド
getRenditionInfo | レンディション情報の取得
getRenditionTypeList | レンディションタイプのリストの取得

(14)　DbjResultSetインターフェース（検索結果集合を扱うインターフェース）

DbjResultSetインターフェースのメソッド一覧を次の表に示します。

表3-18　DbjResultSetインターフェースのメソッド一覧

メソッド | 機能
カーソルを操作するメソッド
absolute | カーソルの絶対指定行への移動
afterLast | カーソルの最終行の後ろへの移動
beforeFirst | カーソルの先頭行の前への移動
first | カーソルの先頭行への移動
getRow | カーソル行インデクスの取得
isAfterLast | カーソルが最終行の後ろかどうかの判定
isBeforeFirst | カーソルが先頭行の前かどうかの判定
isFirst | カーソルが先頭行かどうかの判定
isLast | カーソルが最終行かどうかの判定
last | カーソルの最終行への移動
next | カーソルの次の行への移動
previous | カーソルの前の行への移動
検索結果集合のメタ情報を扱うメソッド
findColumnName | 列インデクスの取得
getColumnMetaName | 列名の取得（表名を含む）
getColumnName | 列名の取得
getColumnType | 列のデータ型の取得
getTableName | 表名の取得
isNamed | 名前付き検索結果かどうかの判定
setColumnMetaName | 列名の設定
検索結果集合のサイズを扱うメソッド
getColumnCount | 列数の取得
getRowCount | 行数の取得
指定した行または列のデータを取得するメソッド
getColumnVals | 列データの取得
getIntegerVal | Integer型での列データの取得
getIntVal | int型での列データの取得
getObjectRef | データの参照の取得
getObjectVal | データの取得
getPropSet | 行データをプロパティ値集合として取得
getRowVals | 行データの取得
getStringVal | String型での列データの取得
getVArrayRef | VARRAY型でのデータの参照の取得
getVArrayVal | VARRAY型でのデータの取得
isNull | NULL値かどうかの判定
列を削除するメソッド
distinct | 列の重複の排除
reduct | 名前なし列の削除

(15)　DbjSetLinkInfoインターフェース（リンクの設定情報を扱うインターフェース）

DbjSetLinkInfoインターフェースのメソッド一覧を次の表に示します。

表3-19　DbjSetLinkInfoインターフェースのメソッド一覧

メソッド | 機能
リンク設定情報を取得するメソッド
getLinkType | リンク種別の取得
getTargetObj | リンク先オブジェクトの取得
propSet | リンクオブジェクトのプロパティ値集合の取得
リンク設定情報を設定するメソッド
setPropSet | リンクオブジェクトのプロパティ値集合の設定
setTargetObj | リンク先オブジェクトの設定

(16)　DbjUploadInfoインターフェース（文書のアップロード情報を扱うインターフェース）

DbjUploadInfoインターフェースのメソッド一覧を次の表に示します。

表3-20　DbjUploadInfoインターフェースのメソッド一覧

メソッド | 機能
文書のアップロード情報を取得するメソッド
getFilePath | 登録する文書のフルパスの取得
getIndexPath | 全文検索インデクス作成用ファイルのフルパスの取得
getRenditionType | 登録する文書のレンディションタイプの取得
getRetrievalName | 登録する文書のファイル名の取得
renditionPropSet | レンディションプロパティ値集合の取得
文書のアップロード情報を設定するメソッド
setFilePath | 登録する文書のフルパスの設定
setIndexPath | 全文検索インデクス作成用ファイルのフルパスの設定
setRenditionPropSet | レンディションプロパティ値集合の設定
setRenditionType | 登録する文書のレンディションタイプの設定
setRetrievalName | 登録する文書のファイル名の設定

(17)　DbjVArrayインターフェース（可変長配列オブジェクトを扱うインターフェース）

DbjVArrayインターフェースのメソッド一覧を次の表に示します。

表3-21　DbjVArrayインターフェースのメソッド一覧

メソッド | 機能
可変長配列オブジェクトのデータを取得するメソッド
getPropCount | メタプロパティ数の取得
getPropNameSet | メタプロパティの取得
getPropVals | 可変長配列オブジェクトのプロパティ値のリストの取得
propSet | プロパティ値集合の取得
可変長配列オブジェクトのデータを設定するメソッド
addPropSet | プロパティ値集合（行）の追加
addPropVals | プロパティ値（列）の追加
removeProp | プロパティの削除
可変長配列オブジェクトのプロパティ名を変更するメソッド
changePropName | 可変長配列オブジェクトのプロパティ名の変更
changePropNames | 可変長配列オブジェクトのプロパティ名の一括変更

3.3　文書管理クラスのインターフェース，およびメソッド一覧

文書管理クラスのインターフェース，およびメソッドを一覧形式で説明します。

＜この節の構成＞

3.3.1　文書管理クラスのインターフェース一覧

3.3.2　文書管理クラスのメソッド一覧

3.3.1　文書管理クラスのインターフェース一覧

文書管理クラスのインターフェースの一覧を次の表に示します。なお，それぞれのインターフェースの使用方法については，表の参照先欄に示す個所を参照してください。

表3-22　文書管理クラスのインターフェース一覧

インターフェース | 説明 | 参照先
文書管理セッションを扱うインターフェース
DbjSessionインターフェース | DocumentBrokerクラスライブラリのセッションを管理するインターフェース | 1.8　セッションとトランザクションの制御
文書空間操作を扱うインターフェース
DbjDocSpaceインターフェース | 文書空間へのアクセスを扱うインターフェース | 1.9　文書空間へのアクセス
文書管理オブジェクト操作を扱うインターフェース
DbjObjインターフェース | 一つの文書管理オブジェクトへのアクセスを扱うインターフェース | 1.10　文書管理オブジェクトの操作
DbjVerObjインターフェース | 一つの文書管理オブジェクトにアクセスするインターフェースに加えて，バージョンオブジェクトのバージョン識別子を扱うインターフェース | 1.10　文書管理オブジェクトの操作
複数の文書管理オブジェクト操作を扱うインターフェース
DbjObjListインターフェース | 複数の文書管理オブジェクトに一括してアクセスするインターフェース | 1.10　文書管理オブジェクトの操作
DbjVerObjListインターフェース | 複数の文書管理オブジェクトに一括してアクセスするインターフェースに加えて，リストの要素すべてのバージョン識別子を扱うインターフェース | 1.10　文書管理オブジェクトの操作
リンクオブジェクト操作を扱うインターフェース
DbjLinkObjインターフェース | 一つのリンクオブジェクトにアクセスするインターフェース | 1.10　文書管理オブジェクトの操作
複数のリンクオブジェクト操作を扱うインターフェース
DbjLinkObjListインターフェース | 複数のリンクオブジェクトに一括してアクセスするインターフェース | 1.10　文書管理オブジェクトの操作

DocumentBrokerクラスライブラリで提供しているこれらのインターフェースには継承関係があり，上位にあるインターフェースで定義したメソッドは，下位のインターフェースに継承されます。インターフェースの継承関係を次の図に示します。

図3-2　文書管理クラスのインターフェースの継承関係

3.3.2　文書管理クラスのメソッド一覧

文書管理クラスの各インターフェースのメソッドの一覧を示します。

＜この項の構成＞

(1)　DbjDocSpaceインターフェース（文書空間へのアクセスを扱うインターフェース）

(2)　DbjLinkObjインターフェース（一つのリンクオブジェクトにアクセスするインターフェース）

(3)　DbjLinkObjListインターフェース（DbjLinkObjインターフェースを要素とするリストインターフェースを扱うインターフェース）

(4)　DbjObjインターフェース（一つの文書管理オブジェクトのアクセスを扱うインターフェース）

(5)　DbjObjListインターフェース（複数の文書管理オブジェクトに一括してアクセスするためのインターフェース）

(6)　DbjSessionインターフェース（DocumentBrokerのセッションを管理するインターフェース）

(7)　DbjVerObjインターフェース（一つの文書管理オブジェクトにアクセスするインターフェースに加え，バージョンオブジェクトのバージョン識別子を扱うインターフェース）

(8)　DbjVerObjListインターフェース（DbjVerObjインターフェースを要素とするリストインターフェースを扱うインターフェース）

(1)　DbjDocSpaceインターフェース（文書空間へのアクセスを扱うインターフェース）

DbjDocSpaceインターフェースのメソッド一覧を次の表に示します。

表3-23　DbjDocSpaceインターフェースのメソッド一覧

メソッド | 機能
Proxyオブジェクトを生成するメソッド
createLinkObjList | 複数のリンクオブジェクトアクセスインターフェースの取得
createObjConnection | 文書管理オブジェクトアクセスインターフェースの取得
createObjList | 複数の文書管理オブジェクトアクセスインターフェースの取得
アクセス制御モードを取得するメソッド
isAccessControlMode | アクセス制御モードの取得
オブジェクトを削除するメソッド
removeObjects | 検索条件を指定したオブジェクトの削除
検索を扱うメソッド
changeSearchACLMode | 検索実行時のアクセス制御モードの変更
executeSearch | 検索の実行
getSearchACLMode | 検索実行時のアクセス制御モードの取得
メタ情報を取得するメソッド
getMeta | 文書空間のメタ情報の取得
文書管理オブジェクトを生成するメソッド
createDocument | バージョンなし文書の作成
createFolder | バージョンなしフォルダの作成
createIndependentData | 独立データの作成
createPublicACL | パブリックACLの作成
createVrDocument | バージョン付き文書の作成

(2)　DbjLinkObjインターフェース（一つのリンクオブジェクトにアクセスするインターフェース）

DbjLinkObjインターフェースのメソッド一覧を次の表に示します。

表3-24　DbjLinkObjインターフェースのメソッド一覧

メソッド | 機能
リンクProxyオブジェクトのプロパティを取得するメソッド
getLinkId | リンク識別子の取得
getLinkType | リンク種別の取得
getOwnerObj | リンク元オブジェクトの取得
getTargetObj | リンク先オブジェクトの取得
リンクProxyオブジェクトのプロパティ値集合を取得または設定するメソッド
propSet | リンクProxyオブジェクトのプロパティ値集合インターフェースの取得
setPropSet | リンクProxyオブジェクトのプロパティ値集合の設定
リンクオブジェクトのプロパティを取得または設定するメソッド
readProperties | リンクプロパティの取得
writeProperties | リンクプロパティ値の設定
リンクオブジェクトを削除するメソッド
removeObject | リンクオブジェクトの削除

(3)　DbjLinkObjListインターフェース（DbjLinkObjインターフェースを要素とするリストインターフェースを扱うインターフェース）

DbjLinkObjListインターフェースのメソッド一覧を次の表に示します。

表3-25　DbjLinkObjListインターフェースのメソッド一覧

メソッド | 機能
リンクProxyオブジェクトのプロパティを一括して取得するメソッド
getLinkIdList | ターゲットリンク識別子プロパティのリストの取得
getLinkObj | リスト要素のDbjLinkObjインターフェースの取得
getOwnerObjList | リンク元オブジェクトのリストの取得
getTargetObjList | リンク先オブジェクトのリストの取得
リンクオブジェクトのプロパティを一括して取得または設定するメソッド
readProperties | リンクプロパティ値の一括取得
writeProperties | リンクプロパティ値の一括設定
リンクオブジェクトを一括して削除するメソッド
removeObjects | リンクオブジェクトの一括削除

(4)　DbjObjインターフェース（一つの文書管理オブジェクトのアクセスを扱うインターフェース）

DbjObjインターフェースのメソッド一覧を次の表に示します。

表3-26　DbjObjインターフェースのメソッド一覧

メソッド | 機能
アクセス対象のターゲットバージョンを変更するメソッド
getTargetVersion | アクセス対象ターゲットバージョンのバージョン識別子の取得
setTargetVersion | アクセス対象ターゲットバージョンのバージョン識別子の変更
文書管理オブジェクトのプロパティを取得するメソッド
getClassName | アクセス対象文書管理オブジェクトを構成するDocumentBrokerクラス名の取得
getLockType | Proxyオブジェクトのアクセスロック種別の取得
getObjType | アクセス対象文書管理オブジェクトのオブジェクト種別の取得
getOiid | アクセス対象文書管理オブジェクトのOIIDの取得
コンテンツにアクセスするメソッド
downloadContents | 文書のコンテンツのダウンロード
uploadContents | 文書のコンテンツのアップロード
バージョンを扱うメソッド
cancelCheckOut | バージョン付きオブジェクトのチェックアウトの取り消し
checkIn | バージョン付きオブジェクトのチェックイン
checkOut | バージョン付きオブジェクトのチェックアウト
deleteVersion | バージョンの削除
getCheckOutStatus | バージョン付きオブジェクトのチェックアウト状態の取得
getVersionId | バージョンオブジェクトのバージョン識別子の取得
getVersioningInfo | バージョン付きオブジェクトのバージョニングオブジェクトの取得
getVersionObjList | バージョン付きオブジェクトのバージョン一覧の取得
パブリックACLを扱うメソッド
bindPublicACL | パブリックACLのバインド
getBindObjectList | パブリックACLにバインドしている文書管理オブジェクト一覧の取得
getPublicACLList | バインドしているパブリックACL一覧の取得
unbindPublicACL | パブリックACLのアンバインド
プロパティ値集合を取得または設定するメソッド
propSet | Proxyオブジェクトのプロパティ値集合インターフェースの取得
setPropSet | Proxyオブジェクトのプロパティ値集合の設定
プロパティ値を取得または設定するメソッド
readProperties | 文書管理オブジェクトのプロパティ値の読み込み
writeProperties | 文書管理オブジェクトのプロパティ値の設定
文書管理オブジェクトを削除するメソッド
removeObject | 文書管理オブジェクトの削除
リンクをたどって文書管理オブジェクトを取得するメソッド
getChildList | フォルダのリンク先オブジェクト（下位オブジェクト）の取得
getDCRParent | 直接型リンクによるリンク元オブジェクトの取得
getParentList | フォルダのリンク元オブジェクトの取得
getRelList | 文書間リンク一覧の取得
リンクおよびリンクを解除するメソッド
link | リンク先オブジェクトとのリンク
move | 直接型リンクが設定されている文書管理オブジェクトの移動
unlink | リンク先オブジェクトとのリンクの解除
unlinkByLinkId | リンク識別子の指定によるリンク先オブジェクトとのリンクの解除
レンディションを扱うメソッド
addRendition | レンディションの追加
changeMasterRendition | マスタレンディションの変更
deleteRendition | レンディションの削除
getRenditionList | レンディション情報一覧の取得
writeRenditionProperties | レンディションプロパティの設定
コンテンツ種別を変更するメソッド
convertContentType | コンテンツ種別の変換
アクセスロックが異なる文書管理オブジェクトインターフェースを取得するメソッド
lock | アクセスロック種別の異なる文書管理オブジェクトインターフェースの取得

(5)　DbjObjListインターフェース（複数の文書管理オブジェクトに一括してアクセスするためのインターフェース）

DbjObjListインターフェースのメソッド一覧を次の表に示します。

表3-27　DbjObjListインターフェースのメソッド一覧

メソッド | 機能
オブジェクトを一括して移動するメソッド
move | 直接型リンクが設定されている文書管理オブジェクトの一括移動
プロパティ値集合を一括して設定するメソッド
setPropSet | 要素のプロパティ値集合の設定
プロパティ値を一括して取得または設定するメソッド
readProperties | 複数の文書管理オブジェクトプロパティ値の一括取得
writeProperties | 複数の文書管理オブジェクトプロパティ値の一括設定
文書管理オブジェクトを一括して削除するメソッド
removeObjects | 文書管理オブジェクトの一括削除
要素を一括して取得するメソッド
getObj | リスト要素の取得
ロックを一括して指定するメソッド
lock | アクセスロック種別の異なる複数文書管理オブジェクトインターフェースの取得

(6)　DbjSessionインターフェース（DocumentBrokerのセッションを管理するインターフェース）

DbjSessionインターフェースのメソッド一覧を次の表に示します。

表3-28　DbjSessionインターフェースのメソッド一覧

メソッド | 機能
セッションを扱うメソッド
checkSession | セッションが有効かどうかのチェック
getLoginUserInfo | ユーザ情報の取得
login | ログイン
logout | ログアウト
トランザクションを扱うメソッド
begin | トランザクションの開始
commit | トランザクションの確定
rollback | トランザクションの取り消し
コンテンツ格納先ベースパスを扱うメソッド
getReferencePath | コンテンツ格納先ベースパスの取得
setReferencePath | コンテンツ格納先ベースパスの設定

(7)　DbjVerObjインターフェース（一つの文書管理オブジェクトにアクセスするインターフェースに加え，バージョンオブジェクトのバージョン識別子を扱うインターフェース）

DbjVerObjインターフェースのメソッド一覧を次の表に示します。

表3-29　DbjVerObjインターフェースのメソッド一覧

メソッド | 機能
バージョンオブジェクトのバージョン識別子を取得するメソッド
getVersionId | バージョンオブジェクトのバージョン識別子の取得

(8)　DbjVerObjListインターフェース（DbjVerObjインターフェースを要素とするリストインターフェースを扱うインターフェース）

DbjVerObjListインターフェースのメソッド一覧を次の表に示します。

表3-30　DbjVerObjListインターフェースのメソッド一覧

メソッド | 機能
要素のバージョンオブジェクトのバージョン識別子を一括して取得するメソッド
getVerObj | 要素のDbjVerObjインターフェースの取得
getVersionIdList | オブジェクトのバージョン識別子リストの取得

3.4　メタクラスのインターフェース，およびメソッド一覧

メタクラスのインターフェース，およびメソッドを一覧形式で説明します。

＜この節の構成＞

3.4.1　メタクラスのインターフェース一覧

3.4.2　メタクラスのメソッド一覧

3.4.1　メタクラスのインターフェース一覧

メタクラスのインターフェースの一覧を次の表に示します。なお，それぞれのインターフェースの使用方法については，「1.12　メタ情報の取得」を参照してください。

表3-31　メタクラスのインターフェース一覧

インターフェース | 説明
DbjClassDescインターフェース | 一つのクラスのクラスディスクリプションを扱うインターフェース
DbjMetaインターフェース | 一つの文書空間のメタ情報を扱うインターフェース
DbjMetaManagerインターフェース | 文書空間のメタ情報を管理するインターフェース
DbjPropDescインターフェース | 一つのプロパティのプロパティディスクリプションを扱うインターフェース

なお，DocumentBrokerで提供しているメタクラスのインターフェースには，継承関係がありません。

3.4.2　メタクラスのメソッド一覧

メタクラスの各インターフェースでのメソッドの一覧を示します。

＜この項の構成＞

(1)　DbjClassDescインターフェース（クラスディスクリプションを扱うインターフェース）

(2)　DbjMetaインターフェース（文書空間のメタ情報を扱うインターフェース）

(3)　DbjMetaManagerインターフェース（文書空間のメタ情報を管理するインターフェース）

(4)　DbjPropDescインターフェース（プロパティディスクリプションを扱うインターフェース）

(1)　DbjClassDescインターフェース（クラスディスクリプションを扱うインターフェース）

DbjClassDescインターフェースのメソッド一覧を次の表に示します。

表3-32　DbjClassDescインターフェースのメソッド一覧

メソッド | 機能
getName | クラス名の取得
getProperties | プロパティディスクリプションの取得
getSubClasses | サブクラスのクラスディスクリプションの取得
getSuperClass | スーパークラスのクラスディスクリプションの取得

(2)　DbjMetaインターフェース（文書空間のメタ情報を扱うインターフェース）

DbjMetaインターフェースのメソッド一覧を次の表に示します。

表3-33　DbjMetaインターフェースのメソッド一覧

メソッド | 機能
getClassDesc | 指定したクラスのクラスディスクリプションの取得
getDocSpaceId | 文書空間識別子の取得
getExtFromRenditionType | レンディションタイプに対応する拡張子の取得
getPropDataType | 指定したプロパティのデータ型の取得
getPropDesc | 指定したプロパティのプロパティディスクリプションの取得
getRenditionType | 拡張子に対応するレンディションタイプの取得

(3)　DbjMetaManagerインターフェース（文書空間のメタ情報を管理するインターフェース）

DbjMetaManagerインターフェースのメソッド一覧を次の表に示します。

表3-34　DbjMetaManagerインターフェースのメソッド一覧

メソッド | 機能
getMeta | メタ情報の取得

(4)　DbjPropDescインターフェース（プロパティディスクリプションを扱うインターフェース）

DbjPropDescインターフェースのメソッド一覧を次の表に示します。

表3-35　DbjPropDescインターフェースのメソッド一覧

メソッド | 機能
getDataType | プロパティのデータ型の取得
getName | プロパティ名の取得
getVArrayClass | VARRAY型プロパティを扱うクラスのクラスディスクリプションの取得

3.5　例外クラスのクラス一覧，スーパークラス，およびコンストラクタ

例外クラスのクラスの一覧，スーパークラス，およびコンストラクタについて説明します。

＜この節の構成＞

3.5.1　例外クラスのクラス一覧

3.5.2　例外クラスのスーパークラス

3.5.3　例外クラスのコンストラクタ

3.5.1　例外クラスのクラス一覧

例外クラスのクラス一覧を次の表に示します。なお，例外処理の方法については，「1.13　例外処理」を参照してください。

表3-36　例外クラスのクラス一覧

クラス | 説明
DbjAccessControlExceptionクラス | ユーザがメソッドを実行する際にその操作に対してアクセス権がなかった場合のエラーを表す例外クラス
DbjAccessControlNotSupportedExceptionクラス | 文書空間がアクセス制御機能対応していない場合のエラーを表す例外クラス
DbjACEOperationExceptionクラス | ACEの操作エラーを表すスーパークラス。特定のACE操作のエラーはサブクラスがスローされる例外クラス
DbjACLOutOfRangeExceptionクラス | 文書管理オブジェクトのACEの個数が制限値を超えた場合のエラーを表す例外クラス
DbjAlreadyCheckOutExceptionクラス | すでにチェックアウトされている場合のエラーを表す例外クラス
DbjCheckOutExceptionクラス | チェックアウトについてのエラーを表す例外クラスのスーパークラス
DbjContentNotRegisteredExceptionクラス | リファレンスファイル管理機能を使用したオブジェクトをローカルファイルにダウンロードする場合に，オブジェクトにコンテンツが登録されていないときのエラーを表す例外クラス
DbjContentTypeMismatchExceptionクラス | リファレンスファイル管理機能で，オブジェクトのコンテンツ種別とメソッドが要求するコンテンツ種別が一致しない場合のエラーを表す例外クラス
DbjConvertContentTargetNotFoundExceptionクラス | 変換対象のコンテンツが存在しない場合のエラーを表す例外クラス
DbjDBDeadLockExceptionクラス | DBのデッドロックエラーを表す例外クラス
DbjDBExceptionクラス | DBエラーを表す例外クラス
DbjDBLockTimeoutExceptionクラス | DBのロックタイムアウトエラーを表す例外クラス
DbjDisconnectedSessionExceptionクラス | 文書空間との接続が切断された場合のエラーを表す例外クラス
DbjErrorクラス | java.lang.Errorクラスを継承し，DocumentBrokerクラスライブラリ固有の致命的エラーを表す例外クラスのスーパークラス
DbjExceptionクラス | java.lang.Exceptionクラスを継承し，DocumentBrokerクラスライブラリ固有のエラーを表す例外クラスのスーパークラス
DbjFileAccessExceptionクラス | ファイルのアクセス権がない場合のエラーを表す例外クラス
DbjFileNotFoundExceptionクラス | 指定ファイルが存在しない場合のエラーを表す例外クラス
DbjFileReferenceCurrentContentNotfoundExceptionクラス | リファレンスファイル管理機能を使用したバージョン付き文書オブジェクトで，カレントバージョンにコンテンツが存在しない場合のエラーを表す例外クラス
DbjFileReferenceMismatchStatusExceptionクラス | リファレンスファイル管理機能を使用するサーバでのコンテンツ操作でエラーが発生し，オブジェクトとコンテンツが不整合な状態になった場合のエラーを表す例外クラス
DbjFileReferenceOperationFailedExceptionクラス | リファレンスファイル管理機能を使用するサーバでのコンテンツ操作が失敗した場合のエラーを表す例外クラス
DbjIllegalDocSpaceIdExceptionクラス | 不正な文書空間識別子が指定された場合のエラーを表す例外クラス
DbjIllegalObjectTypeExceptionクラス | メソッドによる操作に不適切な文書管理オブジェクトの種別が指定された場合のエラーを表す例外クラス
DbjIllegalPropValExceptionクラス | 指定プロパティ値の不正エラーを表す例外クラス
DbjInitializeErrorクラス | DocumentBrokerクラスライブラリ初期化時のエラーを表す例外クラス
DbjInternalErrorクラス | DocumentBrokerクラスライブラリの内部エラーを表す例外クラス
DbjIOExceptionクラス | DocumentBrokerクラスライブラリのIOエラーを表す例外クラスのスーパークラス
DbjIsMasterRenditionExceptionクラス | マスタレンディションが指定された場合のエラーを表す例外クラス
DbjLastVersionExceptionクラス | 操作対象となるバージョン付きオブジェクトの最後の一つのバージョンを削除しようとした場合のエラーを表す例外クラス
DbjMasterRenditionNotSetExceptionクラス | マスタレンディションのレンディションタイプが設定されていない場合のエラーを表す例外クラス
DbjNotAuthenticatedExceptionクラス | ユーザ認証エラーを表す例外クラス
DbjNotCheckOutExceptionクラス | チェックアウトされていない場合のエラーを表す例外クラス
DbjNotLoginExceptionクラス | 文書空間と接続（ログイン）されていない場合のエラーを表す例外クラス
DbjObjectNotFoundExceptionクラス | 操作対象となる文書管理オブジェクトが，メソッド実行時にすでに削除されていた場合，または存在しない場合のエラーを表す例外クラス
DbjOutOfMemoryErrorクラス | メモリ不足が発生したことを表す例外クラス
DbjPublicACLAlreadyBoundExceptionクラス | 指定したパブリックACLがすでにバインドされている場合のエラーを表す例外クラス
DbjPublicACLNotBoundExceptionクラス | 指定したパブリックACLがバインドされていない場合のエラーを表す例外クラス
DbjPublicACLNotFoundExceptionクラス | 指定したパブリックACLが存在しない場合のエラーを表す例外クラス
DbjPublicACLOperationExceptionクラス | パブリックACLの操作エラーを表すスーパークラス。特定のパブリックACL操作のエラーにはサブクラスがスローされる例外クラス
DbjPublicACLOutOfRangeExceptionクラス | オブジェクトに追加できるパブリックACLの数が制限値を超えた場合のエラーを表す例外クラス
DbjReferenceTypeMismatchExceptionクラス | リファレンスファイル管理機能で，オブジェクトのリファレンス種別とメソッドが要求するリファレンス種別が一致しない場合のエラーを表す例外クラス
DbjRenditionConversionErrorExistedExceptionクラス | 変換エラーのレンディションが存在した場合のエラーを表す例外クラス
DbjRenditionConversionRequiringExistedExceptionクラス | 変換要求中のレイディションが存在した場合のエラーを表す例外クラス
DbjRenditionCountOutOfRangeExceptionクラス | レンディション数が制限値を超えた場合のエラーを表す例外クラス
DbjRenditionIsEmptyExceptionクラス | レンディションが空の場合のエラーを表す例外クラス
DbjRenditionNotConvertedExceptionクラス | レンディションが更新処理されていない場合のエラーを表す例外クラス
DbjRenditionNotFoundExceptionクラス | 指定レンディションが存在しない場合のエラーを表す例外クラス
DbjRenditionTypeDuplicatedExceptionクラス | レンディションタイプが重複している場合のエラーを表す例外クラス
DbjSessionExceptionクラス | セッションについてのエラーを表す例外クラスのスーパークラス
DbjSessionNotConnectExceptionクラス | 文書空間との接続が行われていない場合のエラーを表す例外クラスのスーパークラス
DbjSubjectLengthOutOfRangeExceptionクラス | ACEのサブジェクト長が制限値を超えた場合のエラーを表す例外クラス
DbjTargetContentPathNotSetExceptionクラス | リファレンスファイル管理機能で，コンテンツ格納先ベースパスが設定されていない場合のエラーを表す例外クラス
DbjTargetContentPathInvalidExceptionクラス | リファレンスファイル管理機能でベースパスが不正な場合のエラーを表す例外クラス
DbjUnknownErrorクラス | DocumentBrokerクラスライブラリ内での未知のエラーの発生を表す例外クラス
DbjNotSupportedExceptionクラス | サポートされていない操作を表す例外クラス
DbjVersionObjectNotFoundExceptionクラス | バージョンオブジェクトが存在しない場合の例外クラス
DbjUnexpectedExceptionクラス | 内部矛盾が発生した場合の例外クラス

DocumentBrokerクラスライブラリで提供しているこれらのクラスには継承関係があり，上位にあるクラスで定義したメソッドは，下位のクラスに継承されます。クラスの継承関係を次の図に示します。

図3-3　例外クラスのインターフェースの継承関係

3.5.2　例外クラスのスーパークラス

DocumentBrokerクラスライブラリの例外クラスのスーパークラスについて次に説明します。

＜この項の構成＞

(1)　DbjErrorクラス

(2)　DbjExceptionクラス

(1)　DbjErrorクラス

DbjErrorクラスはjava.lang.Errorクラスを継承し，DocumentBrokerクラスライブラリ固有の致命的なエラーを表すスーパークラスです。メモリ不足，DocumentBrokerクラスライブラリの初期化エラー，DocumentBrokerクラスライブラリ内で予期しない内部エラーが発生した時のエラーなど，ユーザアプリケーションプログラムで対処できないエラーを表します。

(2)　DbjExceptionクラス

DbjExceptionクラスはjava.lang.Exceptionクラスを継承し，DocumentBrokerクラスライブラリ固有のエラーを表すスーパークラスです。

3.5.3　例外クラスのコンストラクタ

DbjErrorクラスおよびDbjExceptionクラスは，二つのpublic属性のコンストラクタを保持します。一つは，引数を取らないコンストラクタで，もう一つは，String型の引数を取るコンストラクタです。引数を取らないコンストラクタは，エラーメッセージにnullが関連付けられた例外クラスのオブジェクトを生成します。また，String型の引数を取るコンストラクタは，引数に指定されたエラーメッセージが関連付けられた例外クラスのオブジェクトを生成します。

3.6　定数定義クラスのカテゴリ一覧

定数定義クラスのカテゴリを次の表に示します。

表3-37　定数定義クラスのカテゴリ一覧

カテゴリ | 説明
DbjDefクラス
ACL | 検索実行時のアクセス制御モードを表す定数
DATATYPE | プロパティのデータ型を表す定数
DMA BOOLEAN | BOOL型を表す定数
INDEXTYPE | 全文検索インデクスの種別を表す定数
LINK | リンク種別を表す定数
LOCK | ロック種別を表す定数
OBJTYPE | オブジェクト種別を表す定数
OPERATEMODE | コンテンツのパス操作モードを表す定数
ORDER | バージョン情報の取得順序を表す定数
PERM | パーミッションを表す定数
PRIV | ユーザの特権を表す定数
REFERENCETYPE | リファレンス種別を表す定数
RELATIONEND | 文書間リンク設定情報一覧の取得条件を表す定数
RENDSTATUS | レンディションステータスを表す定数
SUBJECTTYPE | サブジェクト種別を表す定数
SYSSUBJECT | システムサブジェクトを表す定数
CONTENTTYPE | コンテンツ種別を表す定数
Others | そのほか（上記以外）の内容を表す定数
DbjTraceDefクラス
TRACELEVEL | トレースの出力レベルを表す定数
TRACEOUTPUT | トレースの出力先を表す定数

3.7　ライブラリ情報取得クラスのクラス，およびメソッド一覧

ライブラリ情報取得クラスのクラス，およびメソッドを一覧形式で説明します。

＜この節の構成＞

3.7.1　ライブラリ情報取得クラスのクラス

3.7.2　ライブラリ情報取得クラスのメソッド一覧

3.7.1　ライブラリ情報取得クラスのクラス

ライブラリ情報取得クラスのクラスを次の表に示します。なお，クラスの使用方法については，「1.14　ライブラリ情報の取得」を参照してください。

表3-38　ライブラリ情報取得クラスのクラス

クラス | 説明
ライブラリ情報を扱うクラス
DbjLibInfoクラス | DocumentBrokerのバージョン情報を扱うクラス

3.7.2　ライブラリ情報取得クラスのメソッド一覧

ライブラリ情報取得クラスのDbjLibInfoクラス（DocumentBrokerのバージョン情報を扱うクラス）のメソッドを次の表に示します。

表3-39　DbjLibInfoクラスのメソッド

メソッド | 機能
バージョンを取得するメソッド
getVersion | DocumentBrokerのバージョンの取得

3.8　トレースクラスのクラス，およびメソッド一覧

トレースクラスのクラス，およびメソッドを一覧形式で説明します。

＜この節の構成＞

3.8.1　トレースクラスのクラス

3.8.2　トレースクラスのメソッド一覧

3.8.1　トレースクラスのクラス

トレースクラスのクラスを次の表に示します。なお，クラスの使用方法については，「1.15　ユーザアプリケーションプログラムのトレース情報の出力」を参照してください。

表3-40　トレースクラスのクラス

クラス | 説明
トレース情報を扱うクラス
DbjTraceクラス | トレース情報を扱うクラス

3.8.2　トレースクラスのメソッド一覧

トレースクラスのDbjTraceクラス（トレース情報を扱うクラス）のメソッドを次の表に示します。

表3-41　DbjTraceクラスのメソッド

メソッド | 機能
トレース情報を出力するメソッド
arg | パラメタ情報の出力
call | 外部APIの呼び出し情報の出力
DbjTrace | コンストラクタ
enter | メソッドの入口情報の出力
error | エラー情報の出力
exit | メソッドの出口情報の出力
hint | 下位のメソッドのエラー情報の出力
init | トレースクラスの初期化
msg | メッセージの出力
returned | 外部APIからのリターン情報の出力

3.9　クラス，インターフェースおよびメソッドの説明形式

DocumentBrokerクラスライブラリのクラス，インターフェースおよびメソッドについての説明形式について示します。各クラスまたは各インターフェースの説明では，そのクラスまたはインターフェースに定義されるメソッドについてだけ説明しています。上位のクラスまたはインターフェースで定義されているメソッドについては，定義元のクラスまたはインターフェースを参照してください。

＜この節の構成＞

3.9.1　メソッドで説明する項目

3.9.2　パラメタクラスのインターフェースで説明する項目

3.9.3　文書管理オブジェクトのプロパティのデータ型

3.9.1　メソッドで説明する項目

クラスおよびインターフェースの説明に続けて，そのクラスおよびインターフェースのメソッドを説明しています。上位のインターフェースから継承されるメソッドの詳細については，継承元のインターフェースのメソッドの説明を参照してください。

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

メソッドの機能の詳細を説明しています。

(2)　形式

メソッドの形式を説明しています。複数の形式がある場合，「(a)　形式1」，「(b)　形式2」，「(c)　形式3」などと表記します。

(3)　引数

引数について次のように説明しています。

引数（入力）

指定する値について説明しています。

引数（入出力）

指定した領域に設定される値について説明しています。

引数は「形式」で記述した文字列です。

省略できることを明記していない引数は，すべて指定する必要があります。

（入力）は，値を指定することを示しています。

（入出力）は，メソッドによって出力値が設定されるオブジェクトを指定することを示しています。

(4)　戻り値

メソッドの戻り値を説明しています。戻り値を返却しないメソッドでは，「なし」と記述します。

(5)　例外

発生する例外について説明しています。

3.9.2　パラメタクラスのインターフェースで説明する項目

パラメタクラスのインターフェースの説明では，次の項目について説明しています。

＜この項の構成＞

(1)　直接のスーパーインターフェース

(2)　プロパティ一覧

(1)　直接のスーパーインターフェース

該当するインターフェースの，直接のスーパーインターフェース名を記述しています。

なお，パラメタクラスのインターフェースは，java.util.Collectionインターフェース，java.util.Listインターフェース，java.util.Mapインターフェース，およびjava.lang.Cloneableインターフェースなどを継承しています。

(2)　プロパティ一覧

クラスおよびインターフェースで定義されているプロパティ一覧を記述しています。プロパティ一覧の例を表1-44に示します。

表3-42　プロパティ一覧の例

プロパティ名 | データ型 | getterメソッド | setterメソッド
aaa | xxx型 | getAaa | setAaa
bbb | yyy型 | getBbb | setBbb

プロパティ名

プロパティの名称を記述しています。

データ型

プロパティの値のデータ型を記述しています。インターフェースを扱う場合は，インターフェース名を記述しています。

getterメソッド

プロパティを取得するメソッド名を記述しています。

setterメソッド

プロパティを設定するメソッド名を記述しています。

3.9.3　文書管理オブジェクトのプロパティのデータ型

メソッドの説明で使用する文書管理オブジェクトのプロパティのデータ型と，DocumentBrokerで扱うデータ型の対応を次の表に示します。

表3-43　文書管理オブジェクトのプロパティのデータ型とDocumentBrokerで扱うデータ型の対応

プロパティのデータ型 | DocumentBrokerで扱うデータ型
BOOL | Boolean型
INT | Integer32型
VARRAY | Object型
STR | String型
STRLIST | －

（凡例）

－：該当するデータ型がないことを示します。

DocumentBrokerで扱うデータ型については，マニュアル「DocumentBroker Version 5　システム導入・運用ガイド」を参照してください。

4.　ファクトリクラス詳細

この章では，ファクトリクラスのインターフェース，およびメソッドについて説明します。

＜この章の構成＞

4.1　DbjFactory0200クラス

4.2　DbjFactoryインターフェース

4.1　DbjFactory0200クラス

DbjFactory0200クラスは，DocumentBrokerクラスライブラリのファクトリインターフェース，およびメタマネージャーインターフェースを取得するクラスです。なお，このクラスはインスタンスを生成できません（コンストラクタは，private属性です）。

DocumentBrokerクラスライブラリは，このクラスのメソッドが実行される初回時に初期化されます。初期化によって，DocumentBrokerクラスライブラリは動作環境の定義に従った内容で設定されます。ただし，初期化の実行時にエラーがあると，例外クラスDbjInitializeErrorがスローされるおそれがあります。

以降，DbjFactory0200クラスのメソッドについて説明します。

＜この節の構成＞

4.1.1　getFactory（ファクトリインターフェースの取得）

4.1.2　getMetaManager（メタマネージャーインターフェースの取得）

4.1.1　getFactory（ファクトリインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ファクトリインターフェースを取得します。

(2)　形式

static DbjFactory getFactory()

(3)　引数

なし

(4)　戻り値

ファクトリインターフェース（DbjFactoryインターフェース）

(5)　例外

なし

4.1.2　getMetaManager（メタマネージャーインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

メタマネージャーインターフェースを取得します。

(2)　形式

static DbjMetaManager getMetaManager()

(3)　引数

なし

(4)　戻り値

メタマネージャーインターフェース（DbjMetaManagerインターフェース）

(5)　例外

なし

4.2　DbjFactoryインターフェース

DbjFactoryインターフェースは，DocumentBrokerクラスライブラリのオブジェクトを生成して，そのインターフェースを取得する機能を持つファクトリインターフェースです。DbjFactoryインターフェースは，次の表に示すオブジェクトを作成してインターフェースを取得するメソッドを提供します。ユーザアプリケーションプログラムは，DbjFactoryインターフェースを使用してDocumentBrokerクラスライブラリのセッションオブジェクトを生成して，そのインターフェースを取得したり，パラメタクラスのオブジェクトを生成して，そのインターフェースを取得したりできます。

DbjFactoryインターフェースで作成できるオブジェクト，そのオブジェクトを作成するメソッド，および取得するインターフェース名を次の表に示します。

表4-1　DbjFactoryインターフェースで作成できるオブジェクト，オブジェクトを作成するメソッド，および取得するインターフェース

オブジェクト | オブジェクトを作成するメソッド | 取得するインターフェース
?パラメタ（BOOL型）オブジェクト | createBooleanQParam | DbjBooleanQParam
?パラメタ（INT型）オブジェクト | createInteger32QParam | DbjInteger32QParam
?パラメタ（Object型）オブジェクト | createObjQParam | DbjObjQParam
?パラメタ（OIID）オブジェクト | createOIIDQParam | DbjOIIDQParam
?パラメタ（String型）オブジェクト | createStringQParam | DbjStringQParam
?パラメタ（概念検索種文章）オブジェクト | createSeedDocQParam | DbjSeedDocQParam
ACEオブジェクト | createACE | DbjACE
アップロード情報オブジェクト | createUploadInfo | DbjUploadInfo
入力ストリームを使用したアップロード情報オブジェクト | createUploadInfoByStream | DbjUploadInfo
可変長配列オブジェクト | createVArray | DbjVArray
DocumentBrokerのセッションオブジェクト | createSession | DbjSession
検索結果取得情報オブジェクト | createFetchInfo | DbjFetchInfo
参照型リンク設定情報オブジェクト | createSetRCRLinkInfo | DbjSetRCRLinkInfo
直接型リンク設定情報オブジェクト | createSetDCRLinkInfo | DbjSetDCRLinkInfo
パブリックACLのOIIDエレメントオブジェクト | createPublicACLIdElm | DbjPublicACLIdElm
プロパティ値集合オブジェクト | createPropSet | DbjPropSet
文書間リンク設定情報オブジェクト | createSetRelLinkInfo | DbjSetRelLinkInfo
リファレンスファイル文書のアップロード情報オブジェクト | createReferenceUploadInfo | DbjReferenceUploadInfo
入力ストリームを使用したリファレンスファイル文書のアップロード情報オブジェクト | createReferenceUploadInfoByStream | DbjReferenceUploadInfo
リファレンスファイル文書のパス情報オブジェクト | createReferencePathInfo | DbjReferencePathInfo
コンテンツ情報オブジェクト | createConvertContentInfo | DbjConvertContentInfo

以降，DbjFactoryインターフェースのメソッドについて説明します。

＜この節の構成＞

4.2.1　createACE（ACEの作成）

4.2.2　createBooleanQParam（BOOL型の?パラメタの作成）

4.2.3　createConvertContentInfo（コンテンツ情報オブジェクトの作成）

4.2.4　createFetchInfo（検索結果取得情報オブジェクトの作成）

4.2.5　createInteger32QParam（INT型の?パラメタの作成）

4.2.6　createOIIDQParam（OIIDの?パラメタの作成）

4.2.7　createObjQParam（Object型の?パラメタの作成）

4.2.8　createPropSet（プロパティ値集合オブジェクトの作成）

4.2.9　createPublicACLIdElm（パブリックACLのOIIDエレメントの作成）

4.2.10　createReferencePathInfo（リファレンスファイル文書のパス情報オブジェクトの作成）

4.2.11　createReferenceUploadInfo（リファレンスファイル文書のアップロード情報オブジェクトの作成）

4.2.12　createReferenceUploadInfoByStream（入力ストリームを使用したリファレンスファイル文書のアップロード情報オブジェクトの作成）

4.2.13　createSeedDocQParam（種文章の?パラメタの作成）

4.2.14　createSession（DocumentBrokerクラスライブラリのセッションオブジェクトの作成）

4.2.15　createSetDCRLinkInfo（直接型リンク設定情報の作成）

4.2.16　createSetRCRLinkInfo（参照型リンク設定情報の作成）

4.2.17　createSetRelLinkInfo（文書間リンク設定情報の作成）

4.2.18　createStringQParam（String型の?パラメタの作成）

4.2.19　createUploadInfo（文書のアップロード情報オブジェクトの作成）

4.2.20　createUploadInfoByStream（入力ストリームを使用した文書のアップロード情報オブジェクトの作成）

4.2.21　createVArray（可変長配列オブジェクトの作成）

4.2.1　createACE（ACEの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEを作成し，そのインターフェース（DbjACEインターフェース）を取得します。

形式1では，初期値状態のACEを作成します。形式2では，指定されたプロパティ値集合をACEとみなして作成してpropSetプロパティに設定します。この場合，値はコピーされません。形式3では，指定された引数を初期値としてACEを作成します。なお，形式2および形式3の引数に指定するプロパティ値集合の妥当性は，検証されません。

(2)　形式

(a)　形式1

DbjACE createACE()

(b)　形式2

DbjACE createACE(
    DbjPropSet  src
)

(c)　形式3

DbjACE createACE(
    String      subject,
    int         subjectType,
    int         permission
)

(3)　引数

src（入力）

ACEとして扱うプロパティ値集合を指定します。nullを指定すると例外がスローされます。

subject（入力）

ACEのサブジェクトを指定します。

subjectType（入力）

ACEのサブジェクト種別を指定します。

permission（入力）

ACEのパーミッションを指定します。

(4)　戻り値

ACEインターフェース（DbjACEインターフェース）

(5)　例外

NullPointerException

引数srcにnullを指定した場合

4.2.2　createBooleanQParam（BOOL型の?パラメタの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

BOOL型の?パラメタを作成し，そのインターフェース（DbjBooleanQParamインターフェース）を取得します。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

DbjBooleanQParam createBooleanQParam(
    int     param
)

(3)　引数

param（入力）

パラメタの値を指定します。次に示す値のどれかを指定できます。

DbjDef.DMA_TRUE

DbjDef.DMA_FALSE

DbjDef.DMA_UNKNOWN

(4)　戻り値

BOOL型の?パラメタインターフェース（DbjBooleanQParamインターフェース）

(5)　例外

なし

4.2.3　createConvertContentInfo（コンテンツ情報オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツ種別変換機能で使用するコンテンツ情報オブジェクトを作成し，そのインターフェース（DbjConvertContentInfo）を取得します。

形式1ではオブジェクトのメンバはデフォルト値が入ります。形式2では，初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.5　DbjConvertContentInfoインターフェース」を参照してください。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

(a)　形式1

DbjConvertContentInfo createConvertContentInfo()

(b)　形式2

DbjConvertContentInfo createConvertContentInfo(
           int         convertType,
           int         executeMode,
           int         sourceScope,
           boolean     changeMaster,
           String      renditionType,
           boolean     checkRenditionStatus,
           boolean     investSourceComment,
           int         investMode,
           String      renditionComment,
           String      referenceTargetPath )

(3)　引数

convertType（入力）

convertTypeプロパティの初期値を指定します。

executeMode（入力）

executeModeプロパティの初期値を指定します。

sourceScope（入力）

sourceScopeプロパティの初期値を指定します。

changeMaster（入力）

changeMasterプロパティの初期値を指定します。

renditionType（入力）

renditionTypeプロパティの初期値を指定します。

checkRenditionStatus（入力）

checkRenditionStatusプロパティの初期値を指定します。

investSourceComment（入力）

investSourceCommentプロパティの初期値を指定します。

investMode（入力）

investModeプロパティの初期値を指定します。

renditionComment（入力）

renditionCommentプロパティの初期値を指定します。

referenceTargetPath（入力）

referenceTargetPathプロパティの初期値を指定します。

(4)　戻り値

コンテンツ種別変換機能のコンテンツ情報インターフェース（DbjConvertContentInfoインターフェース）

(5)　例外

なし

4.2.4　createFetchInfo（検索結果取得情報オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果取得情報オブジェクトを作成し，そのインターフェース（DbjFetchInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，初期値を引数で指定できます。形式3では，形式2で指定できる初期値に加えて，キャッシュ検索実行時に取得した結果のソートを制御するための引数compを指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.6　DbjFetchInfoインターフェース」を参照してください。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

(a)　形式1

DbjFetchInfo createFetchInfo()

(b)　形式2

DbjFetchInfo createFetchInfo(
    int               startIndex,
    int               fetchCount,
    int               maxFetchCount,
    String            cacheName,
    int               cacheKey
)

(c)　形式3

DbjFetchInfo createFetchInfo(
    int               startIndex,
    int               fetchCount,
    int               maxFetchCount,
    Comparator        comp,
    String            cacheName,
    int               cacheKey
)

(3)　引数

startIndex（入力）

startIndexプロパティの初期値を指定します。

fetchCount（入力）

fetchCountプロパティの初期値を指定します。

maxFetchCount（入力）

maxFetchCountプロパティの初期値を指定します。

comp（入力）

comparatorプロパティの初期値を指定します。

cacheName（入力）

cacheNameプロパティの初期値を指定します。

cacheKey（入力）

cacheKeyプロパティの初期値を指定します。

(4)　戻り値

検索結果取得情報インターフェース（DbjFetchInfoインターフェース）

(5)　例外

なし

4.2.5　createInteger32QParam（INT型の?パラメタの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

INT型の?パラメタを作成し，そのインターフェース（DbjInteger32QParamインターフェース）を取得します。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

DbjInteger32QParam createInteger32QParam(
    int       param
)

(3)　引数

param（入力）

パラメタの値を指定します。

(4)　戻り値

INT型の?パラメタインターフェース（DbjInteger32QParamインターフェース）

(5)　例外

なし

4.2.6　createOIIDQParam（OIIDの?パラメタの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

OIIDの?パラメタを作成し，そのインターフェース（DbjOIIDQParamインターフェース）を取得します。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

DbjOIIDQParam createOIIDQParam(
    DbjObj     param
)

(3)　引数

param（入力）

パラメタの値を指定します。param.getOiid()の値が，？パラメタとして指定されます。

(4)　戻り値

OIIDの?パラメタインターフェース（DbjOIIDQParamインターフェース）

(5)　例外

なし

4.2.7　createObjQParam（Object型の?パラメタの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Object型の?パラメタを作成し，そのインターフェース（DbjObjQParamインターフェース）を取得します。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

DbjObjQParam createObjQParam(
    DbjObj     param
)

(3)　引数

param（入力）

パラメタの値を指定します。

(4)　戻り値

Object型の?パラメタインターフェース（DbjObjQParamインターフェース）

(5)　例外

なし

4.2.8　createPropSet（プロパティ値集合オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

プロパティ値集合オブジェクトを作成し，そのインターフェース（DbjPropSetインターフェース）を取得します。

形式1では，空のプロパティ値集合オブジェクトを作成します。形式2では，指定されたマップをプロパティ値集合オブジェクトにマッピングしてDbjPropSetインターフェースを取得します。

(2)　形式

(a)　形式1

DbjPropSet createPropSet()

(b)　形式2

DbjPropSet createPropSet(
    Map<String, Object>      src
)

(3)　引数

src（入力)

マッピングの元になるマップを指定します。要素キーにプロパティ名，要素の値にプロパティ値を設定しておきます。nullを指定すると，要素数0の空のオブジェクトが仮定されます。

(4)　戻り値

プロパティ値集合インターフェース（DbjPropSetインターフェース）

(5)　例外

なし

4.2.9　createPublicACLIdElm（パブリックACLのOIIDエレメントの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

パブリックACLのOIIDエレメントを作成し，そのインターフェース（DbjPublicACLIdElmインターフェース）を取得します。

形式1では，初期値状態のパブリックACLのOIIDエレメントを作成します。形式2では，指定されたプロパティ値集合をパブリックACLのOIIDエレメントとみなして取得してpropSetプロパティに設定します（値はコピーされません）。形式3では，初期値に指定されたパブリックACLのOIIDを取得します。なお，形式2および形式3の引数に指定するプロパティ値集合の妥当性は検証されません。

(2)　形式

(a)　形式1

DbjPublicACLIdElm createPublicACLIdElm()

(b)　形式2

DbjPublicACLIdElm createPublicACLIdElm(
    DbjPropSet      src
)

(c)　形式3

DbjPublicACLIdElm createPublicACLIdElm(
    String          publicACLId
)

(3)　引数

src（入力）

パブリックACLのOIIDエレメントとして扱うプロパティ値集合を指定します。nullを指定した場合は，例外がスローされます。

publicACLId（入力）

パブリックACLのOIIDを指定します。nullを指定した場合は，例外がスローされます。

(4)　戻り値

パブリックACLのOIIDエレメントインターフェース（DbjPublicACLIdElmインターフェース）

(5)　例外

NullPointerException

引数srcにnullを指定した場合

4.2.10　createReferencePathInfo（リファレンスファイル文書のパス情報オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンスファイル文書のパス情報オブジェクトを作成し，そのインターフェース（DbjReferencePathInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，オブジェクトの初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.14　DbjReferencePathInfoインターフェース」を参照してください。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

(a)　形式1

DbjReferencePathInfo createReferencePathInfo()

(b)　形式2

DbjReferencePathInfo createReferencePathInfo(
       int           contentOperateMode,
       String        entry,
       String        targetPath,
       String        deleteRootPath )

(3)　引数

contentOperateMode（入力）

contentOperateModeプロパティの初期値を指定します。

entry（入力）

entryプロパティの初期値を指定します。

targetPath（入力）

targetPathプロパティの初期値を指定します。なお，文書空間で使用する文字コード種別がUTF-8の場合に指定できる値は，印刷が可能なASCIIコードだけです。

deleteRootPath（入力）

deleteRootPathプロパティの初期値を指定します。なお，文書空間で使用する文字コード種別がUTF-8の場合に指定できる値は，印刷が可能なASCIIコードだけです。

(4)　戻り値

リファレンスファイル文書のパス情報インターフェース（DbjReferencePathInfoインターフェース）

(5)　例外

なし

4.2.11　createReferenceUploadInfo（リファレンスファイル文書のアップロード情報オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンスファイル文書のアップロード情報オブジェクトを作成し，そのインターフェース（DbjReferenceUploadInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，オブジェクトの初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.15　DbjReferenceUploadInfoインターフェース」を参照してください。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

(a)　形式1

DbjReferenceUploadInfo createReferenceUploadInfo()

(b)　形式2

DbjReferenceUploadInfo createReferenceUploadInfo(
     String                    filePath,
     String                    retrievalName,
     String                    renditionType,
     DbjPropSet                renditionPropSet,
     String                    indexPath,
     DbjReferencePathInfo      referencePathInfo )

(3)　引数

filePath（入力）

filePathプロパティの初期値を指定します。

retrievalName（入力）

retirievalNameプロパティの初期値を指定します。

renditionType（入力）

renditionTypeプロパティの初期値を指定します。

renditionPropSet（入力）

renditionPropSetプロパティの初期値を指定します。

indexPath（入力）

indexPathプロパティの初期値を指定します。

referencePathInfo（入力）

referencePathInfoプロパティの初期値を指定します。

(4)　戻り値

リファレンスファイル文書のアップロード情報インターフェース（DbjReferenceUploadInfoインターフェース）

(5)　例外

なし

4.2.12　createReferenceUploadInfoByStream（入力ストリームを使用したリファレンスファイル文書のアップロード情報オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

入力ストリームを使用してリファレンスファイル文書のアップロード情報オブジェクトを作成し，そのインターフェース（DbjReferenceUploadInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，オブジェクトの初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.15　DbjReferenceUploadInfoインターフェース」を参照してください。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

(a)　形式1

DbjReferenceUploadInfo createReferenceUploadInfoByStream()

(b)　形式2

DbjReferenceUploadInfo createReferenceUploadInfoByStream(
     java.io.InputStream       fileStream,
     String                    retrievalName,
     String                    renditionType,
     DbjPropSet                renditionPropSet,
     java.io.InputStream       indexStream,
     DbjReferencePathInfo      referencePathInfo )

(3)　引数

fileStream（入力）

fileStreamプロパティの初期値を指定します。

retrievalName（入力）

retirievalNameプロパティの初期値を指定します。

renditionType（入力）

renditionTypeプロパティの初期値を指定します。

renditionPropSet（入力）

renditionPropSetプロパティの初期値を指定します。

indexStream（入力）

indexStreamプロパティの初期値を指定します。

referencePathInfo（入力）

referencePathInfoプロパティの初期値を指定します。

(4)　戻り値

リファレンスファイル文書のアップロード情報インターフェース（DbjReferenceUploadInfoインターフェース）

(5)　例外

なし

4.2.13　createSeedDocQParam（種文章の?パラメタの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

概念検索で指定する種文章の?パラメタを作成し，そのインターフェース（DbjSeedDocQParamインターフェース）を取得します。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

DbjSeedDocQParam createSeedDocQParam(
    String     param
)

(3)　引数

param（入力）

パラメタの値を指定します。

(4)　戻り値

概念検索の種文章の?パラメタインターフェース（DbjSeedDocQParamインターフェース）

(5)　例外

なし

4.2.14　createSession（DocumentBrokerクラスライブラリのセッションオブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定した文書空間に対するDocumentBrokerクラスライブラリのセッションオブジェクトを作成し，そのインターフェース（DbjSessionインターフェース）を取得します。ただし，DbjSessionインターフェースを取得した時点では文書空間にアクセスしません。

形式1では，セッションを開始する文書空間の文書空間識別子を指定します。形式2では，動作環境定義ファイルに指定したデフォルト文書空間（コンフィギュレーションキーはDefaultDocSpaceId）に接続するためのセッションオブジェクトを作成し，そのインターフェース（DbjSessionインターフェース）を取得します。

(2)　形式

(a)　形式1

DbjSession createSession(
    String     docspaceId
)

(b)　形式2

DbjSession createSession()

(3)　引数

docspaceId（入力）

文書空間識別子をGUID文字列で指定します。GUID文字列は，16進数「X」によって，「XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX（8けた-4けた-4けた-4けた-12けた）」の形式で表されます。「X」は，0～9，a～f（小文字），およびA～F（大文字）のどれかです。nullを指定した場合は，例外がスローされます。

(4)　戻り値

DocumentBrokerクラスライブラリのセッションインターフェース（DbjSessionインターフェース）

(5)　例外

NullPointerException

引数docspaceIdにnullを指定した場合

4.2.15　createSetDCRLinkInfo（直接型リンク設定情報の作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

直接型リンク設定情報オブジェクトを作成し，そのインターフェース（DbjSetDCRLinkInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，オブジェクトの初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメLINKID=C18">タの詳細については，「5.20　DbjSetDCRLinkInfoインターフェース」を参照してください。

(2)　形式

(a)　形式1

DbjSetDCRLinkInfo createSetDCRLinkInfo()

(b)　形式2

DbjSetDCRLinkInfo createSetDCRLinkInfo(
    DbjObj               obj,
    DbjPropSet           linkProps
)

(3)　引数

obj（入力）

リンク対象の文書管理オブジェクトを指定します。文書管理オブジェクトを未設定にする場合は，nullを指定できます。初期値のデフォルト値はnullです。

linkProps（入力）

リンクオブジェクトに設定するプロパティのプロパティ値集合を指定します。プロパティを未設定にする場合は，nullを指定できます。初期値のデフォルト値はnullです。

(4)　戻り値

直接型リンク設定情報インターフェース（DbjSetDCRLinkInfoインターフェース）

(5)　例外

なし

4.2.16　createSetRCRLinkInfo（参照型リンク設定情報の作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

参照型リンク設定情報オブジェクトを作成し，そのインターフェース（DbjSetRCRLinkInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，オブジェクトの初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.22　DbjSetRCRLinkInfoインターフェース」を参照してください。

(2)　形式

(a)　形式1

DbjSetRCRLinkInfo createSetRCRLinkInfo()

(b)　形式2

DbjSetRCRLinkInfo createSetRCRLinkInfo(
    DbjObj           obj,
    DbjPropSet       linkProps
)

(3)　引数

obj（入力）

リンク対象の文書管理オブジェクトを指定します。文書管理オブジェクトを未設定にする場合は，nullを指定できます。初期値のデフォルト値はnullです。

linkProps（入力）

リンクオブジェクトに設定するプロパティのプロパティ値集合を指定します。プロパティを未設定にする場合は，nullを指定できます。初期値のデフォルト値はnullです。

(4)　戻り値

参照型リンク設定情報インターフェース（DbjSetRCRLinkInfoインターフェース）

(5)　例外

なし

4.2.17　createSetRelLinkInfo（文書間リンク設定情報の作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書間リンク設定情報オブジェクトを作成し，そのインターフェース（DbjSetRelLinkInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，オブジェクトの初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.23　DbjSetRelLinkInfoインターフェース」を参照してください。

(2)　形式

(a)　形式1

DbjSetRelLinkInfo createSetRelLinkInfo()

(b)　形式2

DbjSetRelLinkInfo createSetRelLinkInfo (
    DbjObj           obj,
    DbjPropSet       linkProps
)

(3)　引数

obj（入力）

リンク対象の文書管理オブジェクト（バージョン付きオブジェクト）を指定します。文書管理オブジェクトを未設定にする場合は，nullを指定できます。初期値のデフォルト値はnullです。

linkProps（入力）

リンクオブジェクトに設定するプロパティのプロパティ値集合を指定します。プロパティを未設定にする場合は，nullを指定できます。初期値のデフォルト値はnullです。

(4)　戻り値

文書間リンク設定情報インターフェース（DbjSetRelLinkInfoインターフェース）

(5)　例外

なし

4.2.18　createStringQParam（String型の?パラメタの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

String型の?パラメタを作成し，そのインターフェース（DbjStringQParamインターフェース）を取得します。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

DbjStringQParam createStringQParam(
    String     param
)

(3)　引数

param（入力）

?パラメタの値を指定します。

(4)　戻り値

String型の?パラメタ（DbjStringQParamインターフェース）

(5)　例外

なし

4.2.19　createUploadInfo（文書のアップロード情報オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書アップロード情報オブジェクトを作成し，そのインターフェース（DbjUploadInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，オブジェクトの初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.25　DbjUploadInfoインターフェース」を参照してください。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

(a)　形式1

DbjUploadInfo createUploadInfo()

(b)　形式2

DbjUploadInfo createUploadInfo(
    String          filePath,
    String          retrievalName,
    String          renditionType,
    DbjPropSet      renditionPropSet,
    String          indexPath
)

(3)　引数

filePath（入力）

filePathプロパティの初期値を指定します。

retrievalName（入力）

retrievalNameプロパティの初期値を指定します。

renditionType（入力）

renditionTypeプロパティの初期値を指定します。

renditionPropSet（入力）

renditionPropSetプロパティの初期値を指定します。

indexPath（入力）

indexPathプロパティの初期値を指定します。

(4)　戻り値

アップロード情報インターフェース（DbjUploadInfoインターフェース）

(5)　例外

なし

4.2.20　createUploadInfoByStream（入力ストリームを使用した文書のアップロード情報オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

入力ストリームを使用した文書のアップロード情報オブジェクトを作成し，そのインターフェース（DbjUploadInfoインターフェース）を取得します。

形式1では，オブジェクトのメンバにデフォルト値が入ります。形式2では，オブジェクトの初期値を引数で指定できます。オブジェクトの初期値として設定できるパラメタの詳細については，「5.25　DbjUploadInfoインターフェース」を参照してください。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

(a)　形式1

DbjUploadInfo createUploadInfoByStream()

(b)　形式2

DbjUploadInfo createUploadInfoByStream(
    java.io.InputStream      fileStream,
    String                   retrievalName,
    String                   renditionType,
    DbjPropSet               renditionPropSet,
    java.io.InputStream      indexStream
)

(3)　引数

fileStream（入力）

fileStreamプロパティの初期値を指定します。

retrievalName（入力）

retrievalNameプロパティの初期値を指定します。

renditionType（入力）

renditionTypeプロパティの初期値を指定します。

renditionPropSet（入力）

renditionPropSetプロパティの初期値を指定します。

indexStream（入力）

indexStreamプロパティの初期値を指定します。

(4)　戻り値

アップロード情報インターフェース（DbjUploadInfoインターフェース）

(5)　例外

なし

4.2.21　createVArray（可変長配列オブジェクトの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

可変長配列オブジェクトを作成し，そのインターフェース（DbjVArrayインターフェース）を取得します。引数に指定されたメタプロパティを保持する要素数０の空の可変長配列オブジェクトを作成します。

(2)　形式

DbjVArray createVArray(
    Collection<String>     propDefs
)

(3)　引数

propDefs（入力）

各要素は，String型のプロパティになります。可変長配列のメタプロパティのコレクションを指定します。指定を省略する場合は，各要素にnullを指定できます。この場合，要素数0の空のオブジェクトが仮定されます。

(4)　戻り値

可変長配列インターフェース（DbjVArrayインターフェース）

(5)　例外

なし

5.　パラメタクラス詳細

この章では，パラメタクラスのインターフェース，およびメソッドについて説明します。

＜この章の構成＞

5.1　DbjACEインターフェース

5.2　DbjBooleanQParamインターフェース

5.3　DbjCheckOutInfoインターフェース

5.4　DbjContentInfoインターフェース

5.5　DbjConvertContentInfoインターフェース

5.6　DbjFetchInfoインターフェース

5.7　DbjInteger32QParamインターフェース

5.8　DbjObjQParamインターフェース

5.9　DbjOIIDQParamインターフェース

5.10　DbjPropSetインターフェース

5.11　DbjPublicACLIdElmインターフェース

5.12　DbjQParamインターフェース

5.13　DbjReferenceContentInfoインターフェース

5.14　DbjReferencePathInfoインターフェース

5.15　DbjReferenceUploadInfoインターフェース

5.16　DbjRenditionInfoインターフェース

5.17　DbjRenditionListインターフェース

5.18　DbjResultSetインターフェース

5.19　DbjSeedDocQParamインターフェース

5.20　DbjSetDCRLinkInfoインターフェース

5.21　DbjSetLinkInfoインターフェース

5.22　DbjSetRCRLinkInfoインターフェース

5.23　DbjSetRelLinkInfoインターフェース

5.24　DbjStringQParamインターフェース

5.25　DbjUploadInfoインターフェース

5.26　DbjVArrayインターフェース

5.1　DbjACEインターフェース

DbjACEインターフェースは，ACEの値を扱うインターフェースです。ACEの値を取得，または設定するメソッドを提供します。また，サブジェクトと同時にサブジェクト種別を設定するメソッドも提供します。

なお，DocumentBrokerクラスライブラリでは，ACLを可変長配列として扱い，ACEを可変長配列の要素として扱います。このため，ACLはDbjVArrayインターフェースでも操作でき，ACEはDbjPropSetインターフェースでも操作できます。

プロパティ一覧

DbjACEインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドおよびsetterメソッドを次の表に示します。

表5-1　DbjACEインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド | setterメソッド
permission | int型 | getPermission | setPermission
propSet | DbjPropSet | propSet | setPropSet
subject | String型 | getSubject | setSubject
subjectType | int型 | getSubjectType | setSubjectType

プロパティ詳細

permissionプロパティ
ACEのパーミッションを表します。
このプロパティに対する操作は，プロパティ値集合のdbrProp_Permissionプロパティに反映されます。
初期値はDbjDef.PERM_NONE（アクセス権なし）です。

propSetプロパティ
DbjACEインターフェースで扱うプロパティ値の集合です。
このプロパティ値集合に対する操作は，集合に含まれる各プロパティ値に反映されます。また，各プロパティ値に対する操作もこのプロパティ値集合に反映されます。

subjectプロパティ
ACEのサブジェクトを表します。
このプロパティに対する操作は，プロパティ値集合のdbrProp_Subjectプロパティに反映されます。
初期値はnullです。

subjectTypeプロパティ
ACEのサブジェクト種別を表します。
このプロパティに対する操作は，プロパティ値集合のdbrProp_SubjectTypeプロパティに反映されます。
初期値は0です。

以降，DbjACEインターフェースのメソッドについて説明します。

＜この節の構成＞

5.1.1　getPermission（パーミッションの取得）

5.1.2　getSubject（サブジェクトの取得）

5.1.3　getSubjectType（サブジェクト種別の取得）

5.1.4　propSet（ACEのプロパティ値集合の取得）

5.1.5　setGroupSubject（サブジェクトをグループサブジェクトとして設定）

5.1.6　setPermission（パーミッションの設定）

5.1.7　setPropSet（ACEのプロパティ値集合の設定）

5.1.8　setSubject（サブジェクトの設定）

5.1.9　setSubjectType（サブジェクト種別の設定）

5.1.10　setSystemSubject（サブジェクトをシステムサブジェクトとして設定）

5.1.11　setUserSubject（サブジェクトをユーザサブジェクトとして設定）

5.1.1　getPermission（パーミッションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEのパーミッションを取得します。

permissionプロパティに値が設定されていない場合は，0が返却されます。

(2)　形式

int getPermission()

(3)　引数

なし

(4)　戻り値

ACEのパーミッションが，次に示す定数で返却されます。

DbjDef.PERM_NONE
アクセス権なし

DbjDef.PERM_PRIM_READ_PROPS
基本プロパティ参照権

DbjDef.PERM_PRIM_WRITE_PROPS
基本プロパティ更新権

DbjDef.PERM_PRIM_READ_CONTENTS
基本コンテンツ参照権

DbjDef.PERM_PRIM_WRITE_CONTENTS
基本コンテンツ更新権

DbjDef.PERM_PRIM_LINK
基本リンク権

DbjDef.PERM_PRIM_VERSION
基本バージョン管理権

DbjDef.PERM_PRIM_DELETE
基本削除権

DbjDef.PERM_CHANGE_PERM
アクセス制御情報変更権

DbjDef.PERM_CREATE
オブジェクト作成権

DbjDef.PERM_READ_PROPS
プロパティ参照権

DbjDef.PERM_READ
参照権

DbjDef.PERM_WRITE_PROPS
プロパティ更新権

DbjDef.PERM_READ_WRITE
参照更新権

DbjDef.PERM_DELETE
削除権

DbjDef.PERM_LINK
リンク権

DbjDef.PERM_VERSION
バージョン権

DbjDef.PERM_FULL_CONTROL
フルコントロール

(5)　例外

なし

5.1.2　getSubject（サブジェクトの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEのサブジェクトを取得します。

subjectプロパティに値が設定されていない場合は，nullが返却されます。

(2)　形式

String getSubject()

(3)　引数

なし

(4)　戻り値

subjectプロパティ

ACEのサブジェクトが返却されます。

(5)　例外

なし

5.1.3　getSubjectType（サブジェクト種別の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEのサブジェクト種別を取得します。

subjectTypeプロパティに値が設定されていない場合は，0が返却されます。

(2)　形式

int getSubjectType()

(3)　引数

なし

(4)　戻り値

ACEのサブジェクト種別が，次に示す定数で返却されます。

DbjDef.SUBJECTTYPE_USR
ユーザサブジェクト

DbjDef.SUBJECTTYPE_GRP
グループサブジェクト

DbjDef.SUBJECTTYPE_SYS
システムサブジェクト

(5)　例外

なし

5.1.4　propSet（ACEのプロパティ値集合の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEの値を要素としたプロパティ値集合を取得します。

取得するプロパティ値集合の各要素は，プロパティ値の参照です。なお，値が設定されていなくても，nullは返却されません。

(2)　形式

DbjPropSet propSet()

(3)　引数

なし

(4)　戻り値

propSetプロパティ（DbjPropSetインターフェース）

(5)　例外

なし

5.1.5　setGroupSubject（サブジェクトをグループサブジェクトとして設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したサブジェクトをグループサブジェクトとして設定します。subjectTypeプロパティに，DbjDef.SUBJECTTYPE_GRP（グループサブジェクト）が自動的に設定されます。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setGroupSubject(
    String     grpSubject
)

(3)　引数

grpSubject（入力）

グループサブジェクトとして設定するサブジェクトを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.1.6　setPermission（パーミッションの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEのパーミッションを設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setPermission(
    int      permission
)

(3)　引数

permission（入力）

ACEのパーミッションを指定します。次に示す定数のどれかを指定できます。

DbjDef.PERM_NONE
アクセス権なし

DbjDef.PERM_PRIM_READ_PROPS
基本プロパティ参照権

DbjDef.PERM_PRIM_WRITE_PROPS
基本プロパティ更新権

DbjDef.PERM_PRIM_READ_CONTENTS
基本コンテンツ参照権

DbjDef.PERM_PRIM_WRITE_CONTENTS
基本コンテンツ更新権

DbjDef.PERM_PRIM_LINK
基本リンク権

DbjDef.PERM_PRIM_VERSION
基本バージョン管理権

DbjDef.PERM_PRIM_DELETE
基本削除権

DbjDef.PERM_CHANGE_PERM
アクセス制御情報変更権

DbjDef.PERM_CREATE
オブジェクト作成権

DbjDef.PERM_READ_PROPS
プロパティ参照権

DbjDef.PERM_READ
参照権

DbjDef.PERM_WRITE_PROPS
プロパティ更新権

DbjDef.PERM_READ_WRITE
参照更新権

DbjDef.PERM_DELETE
削除権

DbjDef.PERM_LINK
リンク権

DbjDef.PERM_VERSION
バージョン権

DbjDef.PERM_FULL_CONTROL
フルコントロール

(4)　戻り値

なし

(5)　例外

なし

5.1.7　setPropSet（ACEのプロパティ値集合の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEの値に，指定したプロパティ値集合の内容をコピーして設定します。

(2)　形式

void setPropSet(
    DbjPropSet  propSet
)

(3)　引数

propSet（入力）

設定するプロパティ値集合を指定します。

(4)　戻り値

なし

(5)　例外

NullPointerException

引数propSetにnullを指定した場合

5.1.8　setSubject（サブジェクトの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEのサブジェクトを設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setSubject(
    String     subject
)

(3)　引数

subject（入力）

ACEのサブジェクトを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.1.9　setSubjectType（サブジェクト種別の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ACEのサブジェクト種別を設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setSubjectType(
    int      subjectType
)

(3)　引数

subjectType（入力）

ACEのサブジェクト種別を指定します。次に示す定数のどれかを指定できます。

DbjDef.SUBJECTTYPE_USR
ユーザサブジェクト

DbjDef.SUBJECTTYPE_GRP
グループサブジェクト

DbjDef.SUBJECTTYPE_SYS
システムサブジェクト

(4)　戻り値

なし

(5)　例外

なし

5.1.10　setSystemSubject（サブジェクトをシステムサブジェクトとして設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したサブジェクトをシステムサブジェクトとして設定します。subjectTypeプロパティに，DbjDef.SUBJECTTYPE_SYSが自動的に設定されます。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setSystemSubject(
    String      sysSubject
)

(3)　引数

sysSubject（入力）

システムサブジェクトとして設定するサブジェクトを指定します。次に示す定数のどちらかを指定できます。

DbjDef.SYSSUBJECT_SELF
対象オブジェクトの所有者

DbjDef.SYSSUBJECT_EVERYONE
すべてのユーザ

(4)　戻り値

なし

(5)　例外

なし

5.1.11　setUserSubject（サブジェクトをユーザサブジェクトとして設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したサブジェクトをユーザサブジェクトとして設定します。subjectTypeプロパティに，DbjDef.SUBJECTTYPE_USRが自動的に設定されます。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setUserSubject(
    String      usrSubject
)

(3)　引数

usrSubject（入力）

ユーザサブジェクトとして設定するサブジェクトを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.2　DbjBooleanQParamインターフェース

DbjBooleanQParamインターフェースは，BOOL型を表す?パラメタを扱うインターフェースです。

直接のスーパーインターフェース

DbjQParam

5.3　DbjCheckOutInfoインターフェース

DbjCheckOutInfoインターフェースは，バージョン付きオブジェクトのチェックアウト情報を扱うインターフェースです。バージョン付きオブジェクトのチェックアウト情報を取得するメソッドを提供します。チェックアウト中の場合は，チェックアウトしたユーザのユーザ識別子および仮のバージョン識別子を取得できます。

プロパティ一覧

DbjCheckOutInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドを次の表に示します。

表5-2　DbjCheckOutInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド
checkOut | boolean型 | isCheckOut
checkOutUserId | String型 | getCheckOutUserId
checkOutVersionId | String型 | getCheckOutVersionId

プロパティ詳細

checkOutプロパティ
バージョン付きオブジェクトがチェックアウト中かどうかを表します。
チェックアウト中の場合はtrueとなり，チェックアウトしていない場合はfalseとなります。

checkOutUserIdプロパティ
チェックアウトしたユーザのユーザ識別子を表します。
チェックアウト中の場合にだけ有効です。チェックアウトしていない場合はnullとなります。

checkOutVersionIdプロパティ
チェックアウト中の仮のバージョン識別子を表します。
チェックアウト中の場合にだけ有効です。チェックアウトしていない場合はnullとなります。

以降，DbjCheckOutInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.3.1　getCheckOutUserId（チェックアウトしたユーザのユーザ識別子の取得）

5.3.2　getCheckOutVersionId（仮のバージョン識別子の取得）

5.3.3　isCheckOut（チェックアウト中かどうかの判定）

5.3.1　getCheckOutUserId（チェックアウトしたユーザのユーザ識別子の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

チェックアウトしたユーザのユーザ識別子を取得します。

チェックアウトしていない場合は，nullが返却されます。

(2)　形式

String getCheckOutUserId()

(3)　引数

なし

(4)　戻り値

checkOutUserIdプロパティ

(5)　例外

なし

5.3.2　getCheckOutVersionId（仮のバージョン識別子の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

チェックアウト中の仮のバージョン識別子を取得します。

チェックアウトしていない場合は，nullが返却されます。

(2)　形式

String getCheckOutVersionId()

(3)　引数

なし

(4)　戻り値

checkOutVersionIdプロパティ

(5)　例外

なし

5.3.3　isCheckOut（チェックアウト中かどうかの判定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

チェックアウト中かどうかを判定します。

(2)　形式

boolean isCheckOut()

(3)　引数

なし

(4)　戻り値

true

チェックアウト中です。

false

チェックアウトしていません。

(5)　例外

なし

5.4　DbjContentInfoインターフェース

DbjContentInfoインターフェースは，文書のコンテンツ情報を扱うインターフェースです。コンテンツのレンディションタイプ，ファイル名および入力ストリームを取得するメソッドを提供します。

プロパティ一覧

DbjContentInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドを次の表に示します。

表5-3　DbjContentInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド
renditionType | String型 | getRenditionType
retrievalName | String型 | getRetrievalName
InputStream | java.io.InputStream | getInputStream

プロパティ詳細

renditionTypeプロパティ
コンテンツのレンディションタイプを表します。文書オブジェクトのdbrProp_RenditionTypeプロパティと同じ値です。

retrievalNameプロパティ
コンテンツのファイル名を表します。文書オブジェクトのdbrProp_RetrievalNameプロパティと同じ値です。

InputStreamプロパティ
コンテンツの入力ストリームを表します。

以降，DbjContentInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.4.1　getRenditionType（コンテンツのレンディションタイプの取得）

5.4.2　getRetrievalName（コンテンツのファイル名の取得）

5.4.3　getInputStream（コンテンツの入力ストリームの取得）

5.4.4　getReferenceContentInfo（DbjReferenceContentInfoのgetter）

5.4.5　close（コンテンツ情報のクローズ）

5.4.1　getRenditionType（コンテンツのレンディションタイプの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツのレンディションタイプを取得します。

(2)　形式

String getRenditionType()

(3)　引数

なし

(4)　戻り値

renditionTypeプロパティ

(5)　例外

なし

5.4.2　getRetrievalName（コンテンツのファイル名の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツのファイル名を取得します。

(2)　形式

String getRetrievalName()

(3)　引数

なし

(4)　戻り値

retrievalNameプロパティ

(5)　例外

なし

5.4.3　getInputStream（コンテンツの入力ストリームの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツを読み込むための入力ストリームを取得します。取得した入力ストリームが不要になった時点で，必ずDbjContentInfo#close()メソッドを実行してください。

(2)　形式

java.io.InputStream getInputStream()

(3)　引数

なし

(4)　戻り値

文書のコンテンツを読み込むための入力ストリーム

(5)　例外

DbjIOException

DocumentBrokerクラスライブラリ固有のIOエラーの場合

5.4.4　getReferenceContentInfo（DbjReferenceContentInfoのgetter）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

DbjObj#downloadContentsの形式3を実行した結果，リファレンスファイル文書であった場合，リファレンスファイル文書のコンテンツ情報を取得します。リファレンスファイル文書以外の文書に対してこのメソッドを実行した場合は，nullを返却します。

(2)　形式

DbjReferenceContentInfo getReferenceContentInfo()

(3)　引数

なし

(4)　戻り値

リファレンスファイル文書のコンテンツ情報（DbjReferenceContentInfoインタフェース）

(5)　例外

なし

5.4.5　close（コンテンツ情報のクローズ）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツ情報が保持している入力ストリームをクローズします。また，DbjObj#downloadContentsの形式3を実行したときに作成された一時ファイルを削除します。

(2)　形式

void close()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

なし

5.5　DbjConvertContentInfoインターフェース

DbjConvertContentInfoインターフェースは，コンテンツ変換機能を使用した文書のコンテンツ種別の変換時に使用するコンテンツ情報を扱うインターフェースです。

プロパティ一覧

DbjConvertContentInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドおよびsetterメソッドを次の表に示します。

表5-4　DbjConvertContentInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド | setterメソッド
convertType | int型 | getConvertType | setConvertType
executeMode | int型 | getExecuteMode | setExecuteMode
sourceScope | int型 | getSourceScope | setSourceScope
renditionType | String型 | getRenditionType | setRenditionType
investMode | int型 | getInvestMode | setInvestMode
renditionComment | String型 | getRenditionComment | setRenditionComment
referenceTargetPath | String型 | getReferenceTargetPath | setReferenceTargetPath
changeMaster | boolean型 | isChangeMaster | setChangeMaster
checkRenditionStatus | boolean型 | isCheckRenditionStatus | setCheckRenditionStatus
investSourceComment | boolean型 | isInvestSourceComment | setInvestSourceComment

プロパティ詳細

convertTypeプロパティ
変換する文書の変換先コンテンツ種別を設定します。
初期値はDbjDef.CONTENTTYPE_REFERENCE（シングルファイル文書をリファレンス文書に変換する）です。

executeModeプロパティ
変換する文書の変換元レンディションを残すかどうかの変換モードを設定します。
初期値はDbjConvertDef.EXECUTEMODE_REPLACE（変換元のレンディションを残さない）です。

sourceScopeプロパティ
変換対象とするレンディションの範囲を設定します。
初期値はDbjConvertDef.SOURCESCOPE_ALL（すべてのレンディションを変換対象とする）です。

changeMasterプロパティ
executeModeプロパティにDbjConvertDef.EXECUTE_VERBOSE（変換する文書の変換元レンディションを残す）を指定した場合で，マスタレンディションを変換するときに，変換後のレンディションをマスタレンディションに変更するかどうかを設定します。
初期値はtrue（変換後のレンディションをマスタレンディションに変更する）です。

renditionTypeプロパティ
sourceScopeプロパティにDbjConvertDef.SOURCESCOPE_SEPARATE（renditionTypeプロパティで指定したレンディションを変換対象とする）を指定した場合に，変換の対象とするレンディションタイプを設定します。
sourceScopeプロパティにDbjConvertDef.SOURCESCOPE_SEPARATE以外が指定された場合は，このプロパティの指定は無視されます。
初期値はnull（マスタレンディション）です。

checkRenditionStatusプロパティ
変換対象のレンディションのステータスをチェックするかどうかを設定します。
初期値はfalse（レンディションステータスをチェックしません）です。

investSourceCommentプロパティ
renditionCommentプロパティで指定するレンディションコメントを変換前のレンディションに付与するか，変換後のレンディションに付与するかを設定します。初期値はfalse（変換後のレンディションにコメントを付与する）です。

investModeプロパティ
コメントの付与方式を設定します。
初期値はDbjConvertDef.INVESTMODE_REPLACE（コメント部分を指定したコメントで置き換える）です。

renditionCommentプロパティ
レンディションに付与するレンディションコメントを設定します。

referenceTargetPathプロパティ
コンテンツの登録先となるサーバマシン上のディレクトリのパスを設定します。
初期値はnullです。

＜この節の構成＞

5.5.1　getConvertType（変換先コンテンツ種別の取得）

5.5.2　getExecuteMode（変換モードの取得）

5.5.3　getSourceScope（変換対象レンディション範囲の取得）

5.5.4　getRenditionType（変換対象レンディションタイプの取得）

5.5.5　getInvestMode（コメント付与方式の取得）

5.5.6　getRenditionComment（レンディションコメントの取得）

5.5.7　getReferenceTargetPath（コンテンツ登録先ディレクトリパスの取得）

5.5.8　isChangeMaster（変換後のレンディション種別取得）

5.5.9　isCheckRenditionStatus（レンディションステータスのチェックの取得）

5.5.10　isInvestSourceComment（レンディションコメントの付与箇所の取得）

5.5.11　setConvertType（変換先コンテンツ種別の設定）

5.5.12　setExecuteMode（変換モードの設定）

5.5.13　setSourceScope（変換対象レンディション範囲の設定）

5.5.14　setRenditionType（変換対象レンディションタイプの設定）

5.5.15　setInvestMode（コメント付与方式の設定）

5.5.16　setRenditionComment（レンディションコメントの設定）

5.5.17　setReferenceTargetPath（コンテンツ登録先ディレクトリパスの設定）

5.5.18　setChangeMaster（変換後のレンディション種別設定）

5.5.19　setCheckRenditionStatus（レンディションステータスのチェックの設定）

5.5.20　setInvestSourceComment（レンディションコメントの付与箇所の設定）

5.5.1　getConvertType（変換先コンテンツ種別の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

変換先のコンテンツ種別を取得します。

(2)　形式

int getConvertType ()

(3)　引数

なし

(4)　戻り値

convertTypeプロパティ

変換先のコンテンツ種別が，次に示す定数で返却されます。

DbjDef.CONTENTTYPE_REFERENCE
シングル文書をリファレンスファイル文書に変換する

DbjDef.CONTENTTYPE_CONTENT
リファレンス文書をシングルファイル文書に変換する

(5)　例外

なし

5.5.2　getExecuteMode（変換モードの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

変換する文書の変換元レンディションを残すかどうかの変換モードを取得します。

(2)　形式

int getExecuteMode ()

(3)　引数

なし

(4)　戻り値

executeModeプロパティ

変換する文書の変換元レンディションを残すかどうかの変換モードが，次に示す定数で返却されます。

DbjConvertDef.EXECUTE_REPLACE
変換元のレンディションを残さない

DbjConvertDef.EXECUTE_VERBOSE
変換元のレンディションを残す

(5)　例外

なし

5.5.3　getSourceScope（変換対象レンディション範囲の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

変換対象とするレンディションの範囲を取得します。

(2)　形式

int getSourceScope ()

(3)　引数

なし

(4)　戻り値

sourceScopeプロパティ

変換元レンディションを残すかどうかの変換モードが，次に示す定数で返却されます。

DbjConvertDef.SOURCESCOPE_ALL
すべてのレンディションを変換対象とする

DbjConvertDef.SOURCESCOPE_SEPARATE
renditionTypeプロパティで指定したレンディションを変換対象とする

(5)　例外

なし

5.5.4　getRenditionType（変換対象レンディションタイプの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

sourceScopeプロパティにDbjConvertDef.SOURCESCOPE_SEPARATE（renditionTypeプロパティで指定したレンディションを変換対象とする）を設定している場合に，変換対象のレンディションタイプを取得します。

(2)　形式

String getRenditionType ()

(3)　引数

なし

(4)　戻り値

renditionTypeプロパティ

変換対象のレンディションタイプが返却されます。

(5)　例外

なし

5.5.5　getInvestMode（コメント付与方式の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コメントの付与方式を取得します。

(2)　形式

int getInvestMode ()

(3)　引数

なし

(4)　戻り値

investModeプロパティ

コメントの付与方式が，次に示す定数で返却されます。

DbjConvertDef.INVESTMODE_APPEND
レンディションタイプの末尾にコメントを追加する

DbjConvertDef.INVESTMODE_REPLACE
レンディションタイプの末尾に存在するコメントを指定したコメントで置き換える（複数のコメントが存在する場合は，末尾のコメントを置き換えます。コメントがない場合は，レンディションタイプの末尾にコメントを追加します。）

(5)　例外

なし

5.5.6　getRenditionComment（レンディションコメントの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディションに付与されたコメントを取得します。

(2)　形式

String getRenditionComment ()

(3)　引数

なし

(4)　戻り値

renditionCommentプロパティ

レンディションに付与されたコメントが返却されます。

(5)　例外

なし

5.5.7　getReferenceTargetPath（コンテンツ登録先ディレクトリパスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツ登録先のサーバマシン上のディレクトリパスを取得します。

(2)　形式

String getReferenceTargetPath ()

(3)　引数

なし

(4)　戻り値

referenceTargetPathプロパティ

コンテンツ登録先のサーバマシン上のディレクトリパスが返却されます。

(5)　例外

なし

5.5.8　isChangeMaster（変換後のレンディション種別取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

executeModeプロパティにDbjConvertDef.EXECUTE_VERBOSE（変換元のレンディションを残す）を設定してマスタレンディションを変換する場合に，変換後のレンディションをマスタレンディションに変更するかどうかを取得します。

(2)　形式

boolean isChangeMaster ()

(3)　引数

なし

(4)　戻り値

true

変換後のレンディションをマスタレンディションに変更する

false

変換後のレンディションをマスタレンディションに変更しない

(5)　例外

なし

5.5.9　isCheckRenditionStatus（レンディションステータスのチェックの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

変換対象のレンディションステータスをチェックするかどうかを取得します。

(2)　形式

boolean isCheckRenditionStatus ()

(3)　引数

なし

(4)　戻り値

true

変換対象のレンディションステータスをチェックする

false

変換対象のレンディションステータスをチェックしない

(5)　例外

なし

5.5.10　isInvestSourceComment（レンディションコメントの付与箇所の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディションコメントを変換前のレンディションに付与するか，変換後のレンディションに付与するかを取得します。

(2)　形式

boolean isInvestSourceComment ()

(3)　引数

なし

(4)　戻り値

true

変換前のレンディションにコメントを付与する

false

変換後のレンディションにコメントを付与する

(5)　例外

なし

5.5.11　setConvertType（変換先コンテンツ種別の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

変換先のコンテンツ種別を設定します。

(2)　形式

void setConvertType (
    int      convertType
)

(3)　引数

convertType（入力）

変換先のコンテンツ種別を指定します。次に示す定数のどちらかを指定できます。

DbjDef.CONTENTTYPE_REFERENCE
シングルファイル文書をリファレンスファイル文書に変換する

DbjDef.CONTENTTYPE_CONTENT
リファレンスファイル文書をシングルファイル文書に変換する

(4)　戻り値

なし

(5)　例外

なし

5.5.12　setExecuteMode（変換モードの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

変換する文書の変換元レンディションを残すかどうかの変換モードを設定します。

(2)　形式

void setExecuteMode(
    int      executeMode
)

(3)　引数

executeMode（入力）

変換する文書の変換元レンディションを残すかどうかの変換モードを指定します。次に示す定数のどちらかを指定できます。

DbjConvertDef.EXECUTE_REPLACE
変換元のレンディションを残さない

DbjConvertDef.EXECUTE_VERBOSE
変換元のレンディションを残す

(4)　戻り値

なし

(5)　例外

なし

5.5.13　setSourceScope（変換対象レンディション範囲の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

変換対象とするレンディションの範囲を設定します。

(2)　形式

void setsourceScope (
    int      sourceScope
)

(3)　引数

sourceScope（入力）

変換対象とするレンディションの範囲を指定します。次に示す定数のどちらかを指定できます。

DbjConvertDef.SOURCESCOPE_ALL
すべてのレンディションを変換対象とする

DbjConvertDef.SOURCESCOPE_SEPARATE
renditionTypeで指定したレンディションを変換対象とする

(4)　戻り値

なし

(5)　例外

なし

5.5.14　setRenditionType（変換対象レンディションタイプの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

sourceScopeプロパティにDbjConvertDef.SOURCESCOPE_SEPARATE（renditionTypeプロパティで指定したレンディションを変換対象とする）を設定した場合，このプロパティに変換の対象とするレンディションタイプを設定します。

(2)　形式

void setRenditionType (
    String      renditionType
)

(3)　引数

renditionType（入力）

変換対象のレンディションタイプを指定します。レンディションタイプにマスタレンディションを指定する場合は，nullを指定します。

空文字列（""）や存在しないレンディションタイプを指定した場合は，エラーとなります。

(4)　戻り値

なし

(5)　例外

なし

5.5.15　setInvestMode（コメント付与方式の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コメントの付与方式を設定します。

(2)　形式

void setInvestMode(
    int      investMode
)

(3)　引数

investMode（入力）

コメントの付与方式を指定します。次に示す定数のどちらかを指定できます。

DbjConvertDef.INVESTMODE_APPEND
レンディションタイプの末尾にコメントを追加する

DbjConvertDef.INVESTMODE_REPLACE
レンディションタイプの末尾に存在するコメントを指定したコメントで置き換える（複数のコメントが存在する場合は，末尾のコメントを置き換えます。コメントがない場合は，レンディションタイプの末尾にコメントを追加します。）

(4)　戻り値

なし

(5)　例外

なし

5.5.16　setRenditionComment（レンディションコメントの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディションに付与するコメントを設定します。

コメントの指定には，コンテンツタイプを表す文字列を指定することを推奨します。レンディションタイプとコメントの間には１バイトのスペースが設定されます。

(2)　形式

void setRenditionComment (
    String      renditionComment
)

(3)　引数

renditionComment（入力）

レンディションに付与するコメントを指定します。

nullを指定した場合は，DocumentBrokerが自動的にコメント（"edms-cnv"）を付与します。空文字列（""）は指定できません。

指定するコメントは，変換するレンディションのレンディションタイプの文字列長とレンディションコメントの文字列長を合わせて255バイト以内で指定してください。255バイトを超えた場合は，エラーとなります。

なお，レンディションコメントには，印刷可能なASCIIコードで記述できる値を指定してください。

(4)　戻り値

なし

(5)　例外

なし

5.5.17　setReferenceTargetPath（コンテンツ登録先ディレクトリパスの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツの登録先となるサーバマシン上のディレクトリパスを設定します。

(2)　形式

void setReferenceTargetPath (
    String      referenceTargetPath
)

(3)　引数

referenceTargetPath（入力）

コンテンツの登録先となるサーバマシン上のディレクトリパスを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.5.18　setChangeMaster（変換後のレンディション種別設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

executeModeプロパティにDbjConvertDef.EXECUTE_VERBOSE（変換元のレンディションを残す）を設定してマスタレンディションを変換する場合に，変換後のレンディションをマスタレンディションに変更するかどうかを設定できます。

(2)　形式

void setChangeMaster (
    boolean      changeMaster
)

(3)　引数

changeMaster（入力）

変換後のレンディションをマスタレンディションに変更するかどうかを指定します。次に示すboolean型の定数のどちらかを指定できます。

true
変換後のレンディションをマスタレンディションに変更する

false
変換後のレンディションをマスタレンディションに変更しない

(4)　戻り値

なし

(5)　例外

なし

5.5.19　setCheckRenditionStatus（レンディションステータスのチェックの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

変換対象のレンディションステータスをチェックするかどうかを設定します。

(2)　形式

void setCheckRenditionStatus (
     boolean      checkRenditionStatus
)

(3)　引数

checkRenditionStatus（入力）

変換対象のレンディションステータスをチェックするかどうかを指定します。次に示すboolean型の定数のどちらかを指定できます。

true
変換対象のレンディションステータスをチェックする

false
変換対象のレンディションステータスをチェックしない

(4)　戻り値

なし

(5)　例外

なし

5.5.20　setInvestSourceComment（レンディションコメントの付与箇所の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

setrenditionCommentで設定するレンディションコメントを変換前のレンディションに付与するか，変換後のレンディションに付与するかを設定します。

(2)　形式

void setInvestSourceComment (
     boolean      investSourceComment
)

(3)　引数

investSourceComment（入力）

レンディションコメントを変換前のレンディションに付与するか，変換後のレンディションに付与するかを指定します。次に示すboolean型の定数のどちらかを指定できます。

true
変換前のレンディションにコメントを付与する

false
変換後のレンディションにコメントを付与する

(4)　戻り値

なし

(5)　例外

なし

5.6　DbjFetchInfoインターフェース

DbjFetchInfoインターフェースは，検索結果取得情報を扱うインターフェースです。検索結果の取得開始位置，取得件数および最大取得件数などを取得，設定するメソッドを提供します。また，キャッシュ検索の実行時に使用するキャッシュ名およびキャッシュキーを取得，設定できます。

キャッシュ検索を実行すると検索結果がキャッシュされ，以降の検索では検索結果キャッシュから検索結果を取得できます。検索結果キャッシュは，同一セッションの同一キャッシュ名に対して有効です。

直接のスーパーインターフェース

java.lang.Cloneable
DbjFetchInfoインターフェースのcloneメソッドは，ディープコピーを実行します。

プロパティ一覧

DbjFetchInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドおよびsetterメソッドを次の表に示します。

表5-5　DbjFetchInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド | setterメソッド
cacheKey | int型 | getCacheKey | setCacheKey
cacheName | String型 | getCacheName | setCacheName
cacheTotal | int型 | getCacheTotal | setCacheTotal
comparator | Comparator | getComparator | setComparator
fetchCount | int型 | getFetchCount | setFetchCount
maxFetchCount | int型 | getMaxFetchCount | setMaxFetchCount
startIndex | int型 | getStartIndex | setStartIndex

プロパティ詳細

cacheKeyプロパティ
キャッシュ検索の実行時に，検索結果キャッシュの整合性をチェックするためのキーです。キャッシュキーはINT型の値で，再検索を実行して検索結果キャッシュが更新されるごとにインクリメントされます。キャッシュ検索を実行しない時，またはキャッシュ検索の初回実行時は無効です。
指定したキャッシュキーと検索結果キャッシュに保持されているキーが一致した場合は，データベースへはアクセスしないで，検索結果キャッシュから検索結果を取得します。キャッシュキーが不一致の場合は，データベースを再検索して検索結果を取得します。このとき，検索結果キャッシュは更新されます。
キャッシュ検索を実行しない場合（データベースを再検索する場合）は，キャッシュキーにDbjDef.INITIAL_KEYを指定してください。
初期値はDbjDef.INITIAL_KEYです。

cacheNameプロパティ
検索結果のキャッシュ名を表します。キャッシュ検索を実行する場合に指定します。nullまたは「""」（空文字列）を指定すると，キャッシュ検索を実行しません（検索結果はキャッシュされません）。
初期値はnullです。

cacheTotalプロパティ
キャッシュ検索の実行時に設定される検索結果キャッシュの全件数を表します。
初期値は0です。

comparatorプロパティ
検索結果取得時に検索結果キャッシュの内容をソートする場合に使用する，java.util.Comparatorインターフェースを表します。nullを指定すると，検索結果キャッシュの内容はソートされません。
初期値はnullです。
検索結果キャッシュの内容をソートする際には，java.util.Comparator#compareメソッドを実装して，検索結果の要素を比較する必要があります。また，java.util.Comparator#equalsメソッドを実装して，検索結果キャッシュに保持されているコンパレータと，今回の検索結果のコンパレータが等しいかどうかを判定する必要があります。コンパレータが等しいかどうかを判定する対象には，異なるインスタンスのコンパレータを指定してください。
コンパレータが等しいかどうかを判定した結果，等しい場合は，検索結果キャッシュはソートされません。等しくない場合は，検索結果キャッシュがソートされます。なお，キャッシュキーが一致している場合で，コンパレータが等しくないときは，データベースへの再検索は実行されないで，検索結果キャッシュのソートだけが実行されます。

fetchCountプロパティ
検索結果の取得件数（検索結果を実際に何件取得するか）を表します。最大件数を取得したい場合は，DbjDef.MAX_NUMを指定します。
キャッシュ検索では，検索結果キャッシュに保持している件数以上は取得できません。
初期値はDbjDef.MAX_NUMです。

maxFetchCountプロパティ
検索結果の最大取得件数（検索結果を最大で何件まで取得するか）を表します。全件取得したい場合は，DbjDef.MAX_NUMを指定します。
キャッシュ検索では，検索結果キャッシュに保持する最大件数を表します。
初期値はDbjDef.MAX_NUMです。

startIndexプロパティ
検索結果の取得開始位置を表します。開始位置は0から始まるインデクスで指定します。
キャッシュ検索では，検索結果キャッシュ上の開始位置を表します。
初期値は0です。

以降，DbjFetchInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.6.1　getCacheKey（キャッシュキーの取得）

5.6.2　getCacheName（キャッシュ名の取得）

5.6.3　getCacheTotal（検索結果キャッシュの全件数の取得）

5.6.4　getComparator（Comparatorインターフェースの取得）

5.6.5　getFetchCount（検索結果の取得件数の取得）

5.6.6　getMaxFetchCount（検索結果の最大取得件数の取得）

5.6.7　getStartIndex（検索結果の取得開始位置の取得）

5.6.8　setCacheKey（キャッシュキーの設定）

5.6.9　setCacheName（キャッシュ名の設定）

5.6.10　setCacheTotal（検索結果キャッシュの全件数の設定）

5.6.11　setComparator（Comparatorインターフェースの設定）

5.6.12　setFetchCount（検索結果の取得件数の設定）

5.6.13　setMaxFetchCount（検索結果の最大取得件数の設定）

5.6.14　setStartIndex（検索結果の取得開始位置の設定）

5.6.1　getCacheKey（キャッシュキーの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

キャッシュキーを取得します。

(2)　形式

int getCacheKey()

(3)　引数

なし

(4)　戻り値

cacheKeyプロパティ

(5)　例外

なし

5.6.2　getCacheName（キャッシュ名の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

キャッシュ名を取得します。

(2)　形式

String getCacheName()

(3)　引数

なし

(4)　戻り値

cacheNameプロパティ

(5)　例外

なし

5.6.3　getCacheTotal（検索結果キャッシュの全件数の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果キャッシュの全件数を取得します。

(2)　形式

int getCacheTotal()

(3)　引数

なし

(4)　戻り値

cacheTotalプロパティ

(5)　例外

なし

5.6.4　getComparator（Comparatorインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

java.util.Comparatorインターフェースを取得します。

(2)　形式

Comparator getComparator()

(3)　引数

なし

(4)　戻り値

java.util.Comparatorインターフェース

(5)　例外

なし

5.6.5　getFetchCount（検索結果の取得件数の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果の取得件数（検索結果を実際に何件取得するか）を取得します。

(2)　形式

int getFetchCount()

(3)　引数

なし

(4)　戻り値

fetchCountプロパティ

(5)　例外

なし

5.6.6　getMaxFetchCount（検索結果の最大取得件数の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果の最大取得件数（検索結果を最大で何件まで取得するか）を取得します。

(2)　形式

int getMaxFetchCount()

(3)　引数

なし

(4)　戻り値

maxFetchCountプロパティ

(5)　例外

なし

5.6.7　getStartIndex（検索結果の取得開始位置の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果の取得開始位置を取得します。

(2)　形式

int getStartIndex()

(3)　引数

なし

(4)　戻り値

startIndexプロパティ

(5)　例外

なし

5.6.8　setCacheKey（キャッシュキーの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

キャッシュキーを設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setCacheKey(
    int      cacheKey
)

(3)　引数

cacheKey（入力）

キャッシュキーを指定します。

キャッシュ検索を実行しない場合は，DbjDef.INITIAL_KEYを指定してください。

(4)　戻り値

なし

(5)　例外

なし

5.6.9　setCacheName（キャッシュ名の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

キャッシュ名を設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setCacheName(
    String      cacheName
)

(3)　引数

cacheName（入力）

キャッシュ名を指定します。

キャッシュ検索を実行しない場合は，nullまたは「""」（空文字列）を指定してください。

(4)　戻り値

なし

(5)　例外

なし

5.6.10　setCacheTotal（検索結果キャッシュの全件数の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果キャッシュの全件数を表すcacheTotalプロパティを設定します。

(2)　形式

void setCacheTotal(
    int             cacheTotal
)

(3)　引数

cacheTotal（入力）

cacheTotalプロパティに設定する値を指定します。

(4)　戻り値

なし

(5)　例外

なし

5.6.11　setComparator（Comparatorインターフェースの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

java.util.Comparatorインターフェースを設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setComparator(
    Comparator      comp
)

(3)　引数

comp（入力）

java.util.Comparatorインターフェースを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.6.12　setFetchCount（検索結果の取得件数の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果の取得件数（検索結果を実際に何件取得するか）を設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setFetchCount(
    int      fetchCount
)

(3)　引数

fetchCount（入力）

検索結果の取得件数を指定します。

最大件数取得したい場合は，DbjDef.MAX_NUMを指定してください。

(4)　戻り値

なし

(5)　例外

なし

5.6.13　setMaxFetchCount（検索結果の最大取得件数の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果の最大取得件数（検索結果を最大で何件まで取得するか）を設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setMaxFetchCount(
    int      maxFetchCount
)

(3)　引数

maxFetchCount（入力）

検索結果の最大取得件数を指定します。

全件取得したい場合は，DbjDef.MAX_NUMを指定してください。

(4)　戻り値

なし

(5)　例外

なし

5.6.14　setStartIndex（検索結果の取得開始位置の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果の取得を開始する位置を設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setStartIndex(
    int      startIndex
)

(3)　引数

startIndex（入力）

検索結果の取得開始位置を指定します。

0から始まるインデクスで指定してください。

(4)　戻り値

なし

(5)　例外

なし

5.7　DbjInteger32QParamインターフェース

DbjInteger32QParamインターフェースは，INT型を表す?パラメタを扱うインターフェースです。

直接のスーパーインターフェース

DbjQParam

5.8　DbjObjQParamインターフェース

DbjObjQParamインターフェースは，文書管理オブジェクトを表す?パラメタを扱うインターフェースです。

直接のスーパーインターフェース

DbjQParam

5.9　DbjOIIDQParamインターフェース

DbjOIIDQParamインターフェースは，OIID文字列を表す?パラメタを扱うインターフェースです。

直接のスーパーインターフェース

DbjQParam

5.10　DbjPropSetインターフェース

DbjPropSetインターフェースは，プロパティ値集合を扱うインターフェースです。プロパティ値を取得，設定するメソッド，およびプロパティ名を変更するメソッドを提供します。

プロパティ値集合とは，文書管理オブジェクトのプロパティ名とそのプロパティ値を一組にした要素の集合オブジェクトです。要素のキーを文書管理オブジェクトのプロパティ名とし，要素の値をそのプロパティ値とするマップで表します。

直接のスーパーインターフェース

java.lang.Cloneable
DbjPropSetインターフェースのcloneメソッドは，ディープコピーを実行します。

java.util.Map
DbjPropSetインターフェースは，java.util.Mapインターフェースを継承します。したがって，プロパティ値集合にプロパティ間（要素間）の順序性はなく，プロパティ名（要素のキー）は重複しません。また，マップに対する一般的な操作を使用して，プロパティ値集合を操作することもできます。

コーディング例

// ユーザアプリケーションプログラムのコーディング例
// mdmProp_Nameプロパティ（STR型），
// mdmProp_Numberプロパティ（INT型）について，
// name，numberで与えられた値でプロパティ値集合を作成します。

DbjPropSet MakeProps(String name, int number)
{
// ファクトリから空プロパティ値集合を取得
 DbjPropSet propset = DbjFactory0200.getFactory().createPropSet();

// mdmProp_Nameプロパティの設定
 propset.setPropVal("mdmProp_Name", name);

// mdmProp_Numberプロパティの設定
 propset.setPropVal("mdmProp_Number", number);

 return propset;
}

以降，DbjPropSetインターフェースのメソッドについて説明します。

＜この節の構成＞

5.10.1　changePropName（プロパティ名の変更）

5.10.2　changePropNames（プロパティ名の一括変更）

5.10.3　getIntegerVal（Integer型でのプロパティ値の取得）

5.10.4　getIntVal（int型でのプロパティ値の取得）

5.10.5　getListRef（List型でのプロパティ値の取得）

5.10.6　getStringVal（String型でのプロパティ値の取得）

5.10.7　getVArrayRef（VARRAY型でのプロパティ値の参照の取得）

5.10.8　getVArrayVal（VARRAY型でのプロパティ値の取得）

5.10.9　isNull（プロパティ値がNULL値かどうかの判定）

5.10.10　setNull（NULL値プロパティの設定）

5.10.11　setPropRef（プロパティ値の参照の設定）

5.10.12　setPropVal（プロパティ値の設定）

5.10.1　changePropName（プロパティ名の変更）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティのプロパティ名を変更します。

変更後のプロパティ名がすでに存在していても，例外はスローされません。ただし，プロパティ名が変更前，変更後のどちらになるかは保証できません。

なお，指定したプロパティ名がプロパティ値集合にない場合は，falseが返却されます。

(2)　形式

boolean changePropName(
    String      oldName,
    String      newName
)

(3)　引数

oldName（入力）

変更前のプロパティ名を指定します。

nullを指定した場合は，例外がスローされます。

newName（入力）

変更後のプロパティ名を指定します。

nullを指定した場合は，例外がスローされます。

(4)　戻り値

true

変更されました。

false

変更されませんでした。

(5)　例外

NullPointerException

引数oldNameまたはnewNameにnullを指定した場合

5.10.2　changePropNames（プロパティ名の一括変更）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したマップの内容に従って，プロパティ名を一括変更します。マップは，要素のキーに変更前のプロパティ名を，要素の値に変更後のプロパティ名を設定します。

変更後のプロパティ名がすでに存在していても，例外はスローされません。ただし，プロパティ名が変更前，変更後のどちらになるかは保証できません。

なお，変更前として指定したプロパティ名がプロパティ値集合にない場合は，falseが返却されます。

(2)　形式

boolean changePropNames(
    Map<String, String>      changeMap
)

(3)　引数

changeMap（入力）

変更前と変更後のプロパティ名を設定したマップを指定します。

(4)　戻り値

true

一つ以上変更されました。

false

変更されませんでした。

(5)　例外

NullPointerException

指定したマップの任意のキーまたは値にnullを指定した場合

5.10.3　getIntegerVal（Integer型でのプロパティ値の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティの値をInteger型で取得します。

指定したプロパティがない場合，またはプロパティの値がNULL値の場合は，nullが返却されます。プロパティの値がINT型でない場合は，例外がスローされます。

(2)　形式

Integer getIntegerVal(
    String      propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

プロパティ値（Integer型）

(5)　例外

ClassCastException

プロパティ値がINT型でなかった場合

NullPointerException

引数propNameにnullを指定した場合

5.10.4　getIntVal（int型でのプロパティ値の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティの値をint型で取得します。

指定したプロパティがない場合，またはプロパティの値がNULL値の場合は，0が返却されます。プロパティの値がINT型でない場合は，java.lang.Object#toStringメソッドの実行結果がさらにint型の値に変換されて返却されます。

(2)　形式

int getIntVal(
    String     propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

プロパティ値（int型）

(5)　例外

NullPointerException

引数propNameにnullを指定した場合

NumberFormatException

数値変換に失敗した場合

5.10.5　getListRef（List型でのプロパティ値の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティの値をList型で取得します。このメソッドは，ログインユーザのユーザ情報（dbrProp_GroupListプロパティ）の参照を取得するのに使用します。

指定したプロパティがない場合，またはプロパティの値がNULL値の場合は，nullが返却されます。プロパティの値がSTRLIST型でない場合は，例外がスローされます。

(2)　形式

List<?> getListRef(
    String      propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

プロパティ値のリスト（Listインターフェース）

(5)　例外

ClassCastException

プロパティ値がSTRLIST型でなかった場合

NullPointerException

引数propNameにnullを指定した場合

5.10.6　getStringVal（String型でのプロパティ値の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティの値をString型で取得します。

指定したプロパティがない場合，またはプロパティの値がNULL値の場合は，nullが返却されます。プロパティの値がSTR型でない場合は，java.lang.Object#toStringメソッドを実行した結果が返却されます。

(2)　形式

String getStringVal(
    String      propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

プロパティ値（String型）

(5)　例外

NullPointerException

引数propNameにnullを指定した場合

5.10.7　getVArrayRef（VARRAY型でのプロパティ値の参照の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したVARRAY型プロパティの値の参照を取得します。

指定したプロパティがない場合，またはプロパティの値がNULL値の場合は，nullが返却されます。プロパティの値がVARRAY型でない場合は，例外がスローされます。

(2)　形式

DbjVArray getVArrayRef(
    String      propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

VARRAY型プロパティ値の参照（DbjVArrayインターフェース）

(5)　例外

ClassCastException

プロパティ値がVARRAY型でなかった場合

NullPointerException

引数propNameにnullを指定した場合

5.10.8　getVArrayVal（VARRAY型でのプロパティ値の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したVARRAY型プロパティの値のコピーを取得します。

指定したプロパティがない場合，またはプロパティの値がNULL値の場合は，nullが返却されます。プロパティの値がVARRAY型でない場合は，例外がスローされます。

なお，取得するプロパティ値は，次に示すメソッドの実行結果と同じです。ただし，getVArrayValメソッドでは，プロパティ値がNULL値の場合にnullが返却されます。

DbjVArray getVArrayRef(propName).clone()

(2)　形式

DbjVArray getVArrayVal(
    String     propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

VARRAY型プロパティ値（DbjVArrayインターフェース）

(5)　例外

ClassCastException

プロパティ値がVARRAY型でなかった場合

NullPointerException

引数propNameにnullを指定した場合

5.10.9　isNull（プロパティ値がNULL値かどうかの判定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティの値がNULL値かどうかを判定します。

指定したプロパティがない場合は，trueが返却されます。

(2)　形式

boolean isNull(
    String     propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

true

NULL値です。または指定したプロパティがありません。

false

NULL値以外です。

(5)　例外

NullPointerException

引数propNameにnullを指定した場合

5.10.10　setNull（NULL値プロパティの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティの値にNULL値を設定します。

同一プロパティがある場合は上書きします。

(2)　形式

void setNull(
    String    propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

なし

(5)　例外

NullPointerException

引数propNameにnullを指定した場合

5.10.11　setPropRef（プロパティ値の参照の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティの値の参照を設定します。

同一プロパティがある場合は上書きします。

(2)　形式

void setPropRef(
    String      propName,
    DbjVArray   ref
)

(3)　引数

propName（入力）

プロパティ名を指定します。

ref（入力）

プロパティ値を指定します。nullを指定できます。

(4)　戻り値

なし

(5)　例外

NullPointerException

引数propNameにnullを指定した場合

5.10.12　setPropVal（プロパティ値の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティの値を設定します。

同一プロパティがある場合は上書きします。

形式2では，プロパティ値がINT型のオブジェクトにラップされて設定されます。

形式4では，指定したVARRAY型の値がコピーされて設定されます。実行結果は次に示すメソッドの実行結果と同じです。

setVArrayRef(propName,(DbjVArray)val.clone())

ただし，setPropValメソッドの形式4では，valにnullを指定した場合，次に示すメソッドの実行結果と同じになります。

setVArrayRef(propName,null)

(2)　形式

(a)　形式1

void setPropVal(
    String     propName,
    String     val
)

(b)　形式2

void setPropVal(
    String     propName,
    int        val
)

(c)　形式3

void setPropVal(
    String     propName,
    Integer    val
)

(d)　形式4

void setPropVal(
    String      propName,
    DbjVArray   val
)

(3)　引数

propName（入力）

プロパティ名を指定します。

val（入力）

プロパティ値を指定します。形式1，形式3または形式4の場合は，nullを指定するとプロパティにNULL値を設定できます。

(4)　戻り値

なし

(5)　例外

NullPointerException

引数propNameにnullを指定した場合

5.11　DbjPublicACLIdElmインターフェース

DbjPublicACLIdElmインターフェースは，文書管理オブジェクトにバインドするパブリックACLのOIID文字列を扱うインターフェースです。パブリックACLのOIID文字列を取得，設定するメソッドを提供します。

なお，DocumentBrokerクラスライブラリでは，文書管理オブジェクトにバインドするパブリックACLのOIID文字列のリストを，DbjVArrayインターフェースで操作できます。また，その要素であるパブリックACLのOIID文字列はDbjPropSetインターフェースでも操作できます。

プロパティ一覧

DbjPublicACLIdElmインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドおよびsetterメソッドを次の表に示します。

表5-6　表 55DbjPublicACLIdElmインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド | setterメソッド
Id | String型 | getId | setId
propSet | DbjPropSet | propSet | setPropSet

プロパティ詳細

Idプロパティ
パブリックACLのOIID文字列を表します。
このプロパティへのアクセスは，プロパティ値集合のdbrProp_PublicACLIdElemプロパティに反映されます。
初期値はnullです。

propSetプロパティ
DbjPublicACLIdElmインターフェースで扱うプロパティ値の集合です。
このプロパティ値集合に対する操作は，集合に含まれる各プロパティ値に反映されます。また，各プロパティ値に対する操作もこのプロパティ値集合に反映されます。

以降，DbjPublicACLIdElmインターフェースのメソッドについて説明します。

＜この節の構成＞

5.11.1　getId（パブリックACLのOIID文字列の取得）

5.11.2　propSet（パブリックACLのOIID文字列のプロパティ値集合の取得）

5.11.3　setId（パブリックACLのOIID文字列の設定）

5.11.4　setPropSet（パブリックACLのOIID文字列のプロパティ値集合の設定）

5.11.1　getId（パブリックACLのOIID文字列の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

パブリックACLのOIID文字列を取得します。

idプロパティに値が設定されていない場合は，nullが返却されます。

(2)　形式

String getId()

(3)　引数

なし

(4)　戻り値

Idプロパティ

(5)　例外

なし

5.11.2　propSet（パブリックACLのOIID文字列のプロパティ値集合の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

パブリックACLのOIID文字列を要素としたプロパティ値集合を取得します。

取得するプロパティ値集合の各要素は，プロパティ値の参照です。なお，値が設定されていなくても，nullは返却されません。

(2)　形式

DbjPropSet propSet()

(3)　引数

なし

(4)　戻り値

propSetプロパティ（DbjPropSetインターフェース）

(5)　例外

なし

5.11.3　setId（パブリックACLのOIID文字列の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

パブリックACLのOIID文字列を設定します。

(2)　形式

void setId(
    String     id
)

(3)　引数

id（入力）

パブリックACLのOIID文字列を指定します。nullを指定できます。

(4)　戻り値

なし

(5)　例外

なし

5.11.4　setPropSet（パブリックACLのOIID文字列のプロパティ値集合の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

パブリックACLのOIID文字列を要素としたプロパティ値集合に，指定したプロパティ値集合の内容をコピーして設定します。

(2)　形式

void setPropSet(
    DbjPropSet     propSet
)

(3)　引数

propSet（入力）

パブリックACLのOIID文字列のプロパティ値集合を指定します。

(4)　戻り値

なし

(5)　例外

NullPointerException

引数propSetにnullを指定した場合

5.12　DbjQParamインターフェース

DbjQParamインターフェースは，検索メソッドで指定する?パラメタリストの要素となるインターフェースのスーパーインターフェースです。

直接のスーパーインターフェース

java.lang.Cloneable

＜この節の構成＞

5.12.1　getVal（?パラメタ値の取得）

5.12.1　getVal（?パラメタ値の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

オブジェクトに設定されている?パラメタの値をObject型で取得します。

?パラメタの値がINT型の場合は，INT型オブジェクトの値が返却されます。値が設定されていない場合，またはNULL値の場合は，nullが返却されます。

(2)　形式

Object getVal()

(3)　引数

なし

(4)　戻り値

?パラメタ値（Object型）

(5)　例外

なし

5.13　DbjReferenceContentInfoインターフェース

DbjReferenceContentInfoインターフェースは，リファレンスファイル文書のコンテンツ情報を扱うインターフェースです。リファレンスファイル文書のコンテンツロケーションおよびリファレンス種別を取得するメソッドを提供します。

直接のスーパーインターフェース

DbjContentInfo

プロパティ一覧

DbjReferenceContentInfoインターフェースで扱うプロパティ一覧と，各プロパティに対するgetterメソッドを次の表に示します。

表5-7　DbjReferenceContentInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド
contentLocation | String型 | getContentLocation
referenceType | int型 | getReferenceType

プロパティ詳細

contentLocationプロパティ
コンテンツロケーションを表します。
文書オブジェクトのdbrProp_ContentLocationプロパティと同じ値です。

referenceTypeプロパティ
コンテンツのリファレンス種別を表します。
文書オブジェクトのdbrProp_ReferenceTypeプロパティと同じ値です。

以降，DbjReferenceContentInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.13.1　getContentLocation（コンテンツロケーションの取得）

5.13.2　getReferenceType（リファレンス種別の取得）

5.13.1　getContentLocation（コンテンツロケーションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツロケーションを取得します。

(2)　形式

String getContentLocation()

(3)　引数

なし

(4)　戻り値

contentLocationプロパティ

(5)　例外

なし

5.13.2　getReferenceType（リファレンス種別の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンス種別を取得します。

(2)　形式

int getReferenceType()

(3)　引数

なし

(4)　戻り値

referenceTypeプロパティ

(5)　例外

なし

5.14　DbjReferencePathInfoインターフェース

DbjReferencePathInfoインターフェースは，リファレンスファイル文書のパス情報を扱うインターフェースです。リファレンスファイル文書のパス情報を取得，設定するメソッドを提供します。

プロパティ一覧

DbjReferencePathInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドおよびsetterメソッドを次の表に示します。

表5-8　DbjReferencePathInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド | setterメソッド
contentOperateMode | int型 | getContentOperateMode | setContentOperateMode
deleteRootPath | String型 | getDeleteRootPath | setDeleteRootPath
entry | String型 | getEntry | setEntry
targetPath | String型 | getTargetPath | setTargetPath

プロパティ詳細

contentOperateModeプロパティ
コンテンツのパス操作モードを設定します。
初期値はDbjDef.OPERATEMODE_NONE（コンテンツがないオブジェクトを作成する）です。

deleteRootPathプロパティ
リファレンスファイル文書を削除する場合に，コンテンツの削除と同時にコンテンツを格納したディレクトリを削除するときの，削除するディレクトリのルートパスを設定します。
初期値はnull（登録されているコンテンツ，およびDocumentBrokerがコンテンツを管理するためのディレクトリを削除する）です。
なお，deleteRootPathプロパティの指定は，コンテンツが登録されているオブジェクトに対してだけ有効になります。
また，deleteRootPathプロパティに指定できるのは，DbjSession#setReferencePathメソッドで指定したコンテンツ格納先ベースパスから，コンテンツ格納先ベースパスとtargetPathプロパティで示されるコンテンツ格納先パスの間のパスです。コンテンツ格納先ベースパスより上位のパス，およびDocumentBrokerがコンテンツを管理するためのディレクトリのパスは指定できません。

entryプロパティ
登録するコンテンツのパスまたはダウンロード先のパスを設定します。
初期値はnullです。
コンテンツをストリーム形式でアップロードする場合は，DbjUploadInfoのfileStreamプロパティに設定してください。なお，このプロパティに値が設定されている場合は，DbjUploadInfoのfileStreamプロパティの値は無視されます。

targetPathプロパティ
サーバ上のコンテンツの格納先となるディレクトリのパス（コンテンツ格納先パス）を設定します。
初期値はnullです。
なお，コンテンツロケーション（dbrProp_ContentLocationプロパティ）には，targetPathプロパティで指定したパス，DocumentBrokerがコンテンツを管理するためのディレクトリのパス，およびentryプロパティで指定したファイル名を結合した値が格納されます。このとき，区切り文字には半角の「/」が設定されます。

以降，DbjReferencePathInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.14.1　getContentOperateMode（コンテンツのパス操作モードの取得）

5.14.2　getDeleteRootPath（削除するディレクトリのルートパスの取得）

5.14.3　getEntry（登録するコンテンツのパスまたはダウンロード先のパスの取得）

5.14.4　getTargetPath（コンテンツ格納先パスの取得）

5.14.5　setContentOperateMode（コンテンツのパス操作モードの設定）

5.14.6　setDeleteRootPath（削除するディレクトリのルートパスの設定）

5.14.7　setEntry（登録するコンテンツのパスまたはダウンロード先のパスの設定）

5.14.8　setTargetPath（コンテンツ格納先パスの設定）

5.14.1　getContentOperateMode（コンテンツのパス操作モードの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツのパス操作モードを取得します。

(2)　形式

int getContentOperateMode()

(3)　引数

なし

(4)　戻り値

contentOperateModeプロパティ

コンテンツのパス操作モードが，次に示す定数で返却されます。

DbjDef.OPERATEMODE_USER_RELATIVE_CONTENT
コンテンツロケーションをコンテンツの相対パスで管理する

DbjDef.OPERATEMODE_NONE
コンテンツがないオブジェクトを作成する

(5)　例外

なし

5.14.2　getDeleteRootPath（削除するディレクトリのルートパスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンスファイル文書を削除する場合に，コンテンツの削除と同時にコンテンツを格納したディレクトリを削除するときの，削除するディレクトリのルートパスを取得します。

(2)　形式

String getDeleteRootPath()

(3)　引数

なし

(4)　戻り値

deleteRootPathプロパティ

削除するディレクトリのルートパスが返却されます。

(5)　例外

なし

5.14.3　getEntry（登録するコンテンツのパスまたはダウンロード先のパスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録するコンテンツのパスまたはダウンロード先のパスを取得します。

(2)　形式

String getEntry()

(3)　引数

なし

(4)　戻り値

entryプロパティ

登録するコンテンツのパスまたはダウンロード先のパスが返却されます。

(5)　例外

なし

5.14.4　getTargetPath（コンテンツ格納先パスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツ格納先パスを取得します。

(2)　形式

String getTargetPath()

(3)　引数

なし

(4)　戻り値

targetPathプロパティ

コンテンツ格納先パスが返却されます。

(5)　例外

なし

5.14.5　setContentOperateMode（コンテンツのパス操作モードの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツのパス操作モードを設定します。なお，指定した値の妥当性は，検証されません。

(2)　形式

void setContentOperateMode(
               int     contentOperateMode
)

(3)　引数

contentOperateMode（入力）

コンテンツのパス操作モードを指定します。次に示す定数のどちらかを指定できます。

DbjDef.OPERATEMODE_NONE
コンテンツロケーションをコンテンツの相対パスで管理する

DbjDef.OPERATEMODE_USER_RELATIVE_CONTENT
コンテンツロケーションがないオブジェクトを作成する

(4)　戻り値

なし

(5)　例外

なし

5.14.6　setDeleteRootPath（削除するディレクトリのルートパスの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンスファイル文書を削除する場合に，コンテンツの削除と同時にコンテンツを格納したディレクトリを削除するときの，削除するディレクトリのルートパスを設定します。なお，指定した値の妥当性は，検証されません。

(2)　形式

void setDeleteRootPath(
               String  deleteRootPath
)

(3)　引数

deleteRootPath（入力）

リファレンスファイル文書を削除する場合に，コンテンツの削除と同時にコンテンツを格納したディレクトリを削除するときの，削除するディレクトリのルートパスを指定します。

削除の対象となるディレクトリは，コンテンツロケーション（dbrProp_ContentLocationプロパティ）で示されるパス上の格納ディレクトリから，deleteRootPathプロパティで指定したディレクトリの下位までの間にあるディレクトリです。最下位層のディレクトリから順に削除し，エラーとなった時点で処理を終了します。

deleteRootPathプロパティに指定したパスがコンテンツロケーションのパスと一致していない場合はエラーになります。

nullを指定した場合，登録されているコンテンツ，およびDocumentBrokerがコンテンツを管理するためのディレクトリが削除されます。

なお，deleteRootPathプロパティの指定は，コンテンツが登録されているオブジェクトに対してだけ有効になります。

また，deleteRootPathプロパティに指定できるのは，DbjSession#setReferencePathメソッドで指定したコンテンツ格納先ベースパスから，コンテンツ格納先ベースパスとtargetPathプロパティで示されるコンテンツ格納先パスの間のパスです。コンテンツ格納先ベースパスより上位のパス，およびDocumentBrokerがコンテンツを管理するためのディレクトリのパスは指定できません。

(4)　戻り値

なし

(5)　例外

なし

5.14.7　setEntry（登録するコンテンツのパスまたはダウンロード先のパスの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録するコンテンツのパスまたはダウンロード先のパスを設定します。なお，指定した値の妥当性は，検証されません。

(2)　形式

void setEntry (
              String  entry
)

(3)　引数

entry（入力）

登録するコンテンツのパスまたはダウンロード先のパスを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.14.8　setTargetPath（コンテンツ格納先パスの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

コンテンツ格納先パスを設定します。なお，指定した値の妥当性は，検証されません。

(2)　形式

void setTargetPath(
               String  targetPath
)

(3)　引数

targetPath（入力）

コンテンツ格納先パスを指定します。

コンテンツロケーション（dbrProp_ContentLocationプロパティ）には，targetPathプロパティで指定したパス，DocumentBrokerがコンテンツを管理するためのディレクトリのパス，およびentryプロパティで指定したファイル名を結合した値が格納されます。このとき，区切り文字には半角の「/」が設定されます。

(4)　戻り値

なし

(5)　例外

なし

5.15　DbjReferenceUploadInfoインターフェース

DbjReferenceUploadInfoインターフェースは，リファレンスファイル文書のアップロード情報を扱うインターフェースです。リファレンスファイル文書のアップロード情報を取得，設定するメソッドを提供します。

直接のスーパーインターフェース

DbjUploadInfo

プロパティ一覧

DbjReferenceUploadInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドおよびsetterメソッドを次の表に示します。

表5-9　DbjReferenceUploadInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド | setterメソッド
referencePathInfo | DbjReferencePathInfo | getReferencePathInfo | setReferencePathInfo

プロパティ詳細

referencePathInfoプロパティ
リファレンスファイル文書のパス情報を設定します。

DbjUploadInfoインターフェースから継承するプロパティ詳細

filePathプロパティ
このインターフェースでは使用しません。設定した場合，設定値は無視されます。

indexPathプロパティ
登録するリファレンスファイル文書の全文検索インデクスを作成するファイルのフルパスを表します。

renditionPropSetプロパティ
登録するリファレンスファイル文書のレンディションプロパティ値集合です。

renditionTypeプロパティ
登録するリファレンスファイル文書のレンディションタイプを表します。

retrievalNameプロパティ
登録するリファレンスファイル文書のクライアント側でのローカルファイル名を表します。

fileStreamプロパティ
登録する文書のjava.ioパッケージで提供された入力ストリームを表します。

indexStreamプロパティ
登録する文書の全文検索インデクスのjava.ioパッケージで提供された入力ストリームを表します。

以降，DbjReferenceUploadInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.15.1　getReferencePathInfo（リファレンスファイル文書のパス情報の取得）

5.15.2　setReferencePathInfo（リファレンスファイル文書のパス情報の設定）

5.15.1　getReferencePathInfo（リファレンスファイル文書のパス情報の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンスファイル文書のパス情報を取得します。

(2)　形式

DbjReferencePathInfo getReferencePathInfo()

(3)　引数

なし

(4)　戻り値

referencePathInfoプロパティ

リファレンスファイル文書のパス情報が返却されます。

(5)　例外

なし

5.15.2　setReferencePathInfo（リファレンスファイル文書のパス情報の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンスファイル文書のパス情報を設定します。なお，指定した値の妥当性は，検証されません。

(2)　形式

void setReferencePathInfo(
                       DbjReferencePathInfo referencePathInfo
)

(3)　引数

referencePathInfo（入力）

リファレンスファイル文書のパス情報を指定します。

(4)　戻り値

なし

(5)　例外

なし

5.16　DbjRenditionInfoインターフェース

DbjRenditionInfoインターフェースは，レンディション情報を扱うインターフェースです。レンディションタイプを取得するメソッドを提供します。

プロパティ一覧

DbjRenditionInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドを次の表に示します。

表5-10　DbjRenditionInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド
propSet | DbjPropSet | propSet
renditionType | String型 | getRenditionType

プロパティ詳細

propSetプロパティ
オブジェクトに設定されているレンディションのプロパティ値集合です。

renditionTypeプロパティ
レンディションタイプを表します。

以降，DbjRenditionInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.16.1　getRenditionType（レンディションタイプの取得）

5.16.2　propSet（レンディションのプロパティ値集合の取得）

5.16.1　getRenditionType（レンディションタイプの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディションタイプを取得します。

(2)　形式

String getRenditionType()

(3)　引数

なし

(4)　戻り値

renditionTypeプロパティ

レンディションタイプが返却されます。

(5)　例外

なし

5.16.2　propSet（レンディションのプロパティ値集合の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディションのプロパティ値集合を取得します。

取得するプロパティ値集合の各要素は，プロパティ値の参照です。

(2)　形式

DbjPropSet propSet()

(3)　引数

なし

(4)　戻り値

propSetプロパティ（DbjPropSetインターフェース）

レンディションのプロパティ値集合が返却されます。

(5)　例外

なし

5.17　DbjRenditionListインターフェース

DbjRenditionListインターフェースは，レンディション情報のリストを扱うインターフェースです。リストの要素であるレンディション情報（DbjRenditionInfoインターフェース）を取得するメソッドを提供します。また，各レンディション情報からレンディションタイプのリストを取得するメソッドも提供します。

直接のスーパーインターフェース

java.util.List
DbjRenditionListインターフェースはjava.util.Listインターフェースを継承します。リスト中の各要素はDbjRenditionInfoインターフェースです。

以降，DbjRenditionListインターフェースのメソッドについて説明します。

＜この節の構成＞

5.17.1　getRenditionInfo（レンディション情報の取得）

5.17.2　getRenditionTypeList（レンディションタイプのリストの取得）

5.17.1　getRenditionInfo（レンディション情報の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定した要素のDbjRenditionInfoインターフェースを取得します。

指定した要素はjava.util.List#getメソッドでも取得できますが，このgetRenditionInfoメソッドでは，ユーザアプリケーションプログラムがダウンキャストしないで要素を取得できます。

(2)　形式

DbjRenditionInfo getRenditionInfo(
    int     index
)

(3)　引数

index（入力）

レンディション情報を取得する要素のインデクスを指定します。

0から始まるインデクスで指定してください。

(4)　戻り値

指定した要素のレンディション情報（DbjRenditionInfoインターフェース）

(5)　例外

ClassCastException

要素がDbjRenditionInfoインターフェースでなかった場合

IndexOutOfBoundsException

インデクスが不正の場合

5.17.2　getRenditionTypeList（レンディションタイプのリストの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

オブジェクトが保持するすべての要素のレンディションタイプをList型で取得します。

リストが空の場合は，空リストが返却されます。

(2)　形式

List<String> getRenditionTypeList()

(3)　引数

なし

(4)　戻り値

レンディションタイプのリスト（List型（各要素はString型））

(5)　例外

なし

5.18　DbjResultSetインターフェース

DbjResultSetインターフェースは，検索結果集合を扱うインターフェースです。検索結果集合の情報を扱うメソッド，指定した行または列のデータを取得するメソッド，カーソルを操作するメソッドなどを提供します。

検索結果集合とは，要素にプロパティ値を保持する行と列の2次元データに，メタデータを付けたものです。メタデータとは，列のプロパティ値のデータ型と列名の集合のことです。DbjResultSetインターフェースは，検索結果集合の2次元データを，各行を要素とするリストとして扱います。また，この各行データを，各列の値を要素とするリストとして扱います。

列名をメタデータに含む検索結果集合を名前付き検索結果といい，列名をメタデータに含まない検索結果集合を名前なし検索結果といいます。ユーザアプリケーションプログラムで実行する検索メソッドの形式によって，取得する検索結果集合が名前付きか名前なしかが決まります。名前付き検索結果は，検索結果集合をプロパティ値集合にマッピングする際に利用できます。また，列名を指定して名前が重複する列を削除したり，列名の付いていない列だけを削除したりできます。

検索結果集合に対するデータのアクセスには，カーソルを使用します。このカーソルの初期位置は，検索結果集合の先頭行の前です。したがって，ある行のデータを取得する際には，まずDbjResultSet#nextメソッドなどを実行して，カーソルを移動する必要があります。

直接のスーパーインターフェース

java.util.List

以降，DbjResultSetインターフェースのメソッドについて説明します。

＜この節の構成＞

5.18.1　absolute（カーソルの絶対指定行への移動）

5.18.2　afterLast（カーソルの最終行の後ろへの移動）

5.18.3　beforeFirst（カーソルの先頭行の前への移動）

5.18.4　distinct（列の重複の排除）

5.18.5　findColumnName（列インデクスの取得）

5.18.6　first（カーソルの先頭行への移動）

5.18.7　getColumnCount（列数の取得）

5.18.8　getColumnMetaName（列名の取得（表名を含む））

5.18.9　getColumnName（列名の取得）

5.18.10　getColumnType（列のデータ型の取得）

5.18.11　getColumnVals（列データの取得）

5.18.12　getIntegerVal（Integer型での列データの取得）

5.18.13　getIntVal（int型での列データの取得）

5.18.14　getObjectRef（データの参照の取得）

5.18.15　getObjectVal（データの取得）

5.18.16　getPropSet（行データをプロパティ値集合として取得）

5.18.17　getRow（カーソル行インデクスの取得）

5.18.18　getRowCount（行数の取得）

5.18.19　getRowVals（行データの取得）

5.18.20　getStringVal（String型での列データの取得）

5.18.21　getTableName（表名の取得）

5.18.22　getVArrayRef（VARRAY型でのデータの参照の取得）

5.18.23　getVArrayVal（VARRAY型でのデータの取得）

5.18.24　isAfterLast（カーソルが最終行の後ろかどうかの判定）

5.18.25　isBeforeFirst（カーソルが先頭行の前かどうかの判定）

5.18.26　isFirst（カーソルが先頭行かどうかの判定）

5.18.27　isLast（カーソルが最終行かどうかの判定）

5.18.28　isNamed（名前付き検索結果かどうかの判定）

5.18.29　isNull（NULL値かどうかの判定）

5.18.30　last（カーソルの最終行への移動）

5.18.31　next（カーソルの次の行への移動）

5.18.32　previous（カーソルの前の行への移動）

5.18.33　reduct（名前なし列の削除）

5.18.34　setColumnMetaName（列名の設定）

5.18.1　absolute（カーソルの絶対指定行への移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルを絶対指定行に移動します。

(2)　形式

boolean absolute(
    int     rowIndex
)

(3)　引数

rowIndex（入力）

カーソルの移動先を行インデクスで指定します。

指定できる範囲は，-1～n（nは行数）です。-1は先頭行の前を表し，nは最終行の後ろを表します。つまり，行インデクスは次のように表せます。

-1：先頭行の前

0：先頭行

n-1：最終行

n：最終行の後ろ

(4)　戻り値

true

移動後が有効行です。

false

移動後が有効行ではありません。カーソルは移動していません。

(5)　例外

IndexOutOfBoundsException

行インデクスが範囲を超えた場合

5.18.2　afterLast（カーソルの最終行の後ろへの移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルを最終行の後ろに移動します。

(2)　形式

void afterLast()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

なし

5.18.3　beforeFirst（カーソルの先頭行の前への移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルを先頭行の前に移動します。

(2)　形式

void beforeFirst()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

なし

5.18.4　distinct（列の重複の排除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

名前付き検索結果から，列名が重複している列を排除します。

なお，列名が重複している列のうち，どの列が残るかは保証できません。

(2)　形式

void distinct()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

IllegalStateException

名前なし検索結果に対してメソッドを実行した場合

5.18.5　findColumnName（列インデクスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合から，指定した列名の列インデクスを取得します。

指定した列名が検索結果集合にない場合は，-1が返却されます。

なお，指定した列名が重複している場合，どの列インデクスを取得するかは保証できません。

(2)　形式

int findColumnName(
    String     columnName
)

(3)　引数

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のインデクスを取得できます。

(4)　戻り値

列インデクス

(5)　例外

なし

5.18.6　first（カーソルの先頭行への移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルを先頭行に移動します。

(2)　形式

boolean first()

(3)　引数

なし

(4)　戻り値

true

移動後が先頭行です。

false

検索結果の件数が0件のため，先頭行がありません。カーソルは移動していません。

(5)　例外

なし

5.18.7　getColumnCount（列数の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合が保持する列数を取得します。

検索結果の件数が0件の場合は，0が返却されます。

(2)　形式

int getColumnCount()

(3)　引数

なし

(4)　戻り値

列数

(5)　例外

なし

5.18.8　getColumnMetaName（列名の取得（表名を含む））

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

名前付き検索結果から，指定した列インデクスの列名を取得します。取得する列名は表名を含みます。

名前なし検索結果の場合は，nullが返却されます。検索結果の件数が0件の場合は，メタデータも空となるため，例外がスローされます。

(2)　形式

String getColumnMetaName(
    int     columnIndex
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

(4)　戻り値

表名を含む列名

(5)　例外

IndexOutOfBoundsException

列インデクスが範囲を超えた場合

NullPointerException

検索結果の件数が0件の場合

5.18.9　getColumnName（列名の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

名前付き検索結果から，指定した列インデクスの列名を取得します。取得する列名は表名（または相関名）を含みません。

名前なし検索結果の場合は，nullが返却されます。検索結果の件数が0件の場合は，メタデータも空となるため，例外がスローされます。

(2)　形式

String getColumnName(
    int     columnIndex
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

(4)　戻り値

列名

(5)　例外

IndexOutOfBoundsException

列インデクスが範囲を超えた場合

NullPointerException

検索結果の件数が0件の場合

5.18.10　getColumnType（列のデータ型の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合から，指定した列インデクスの列のデータ型を取得します。

検索結果の件数が0件の場合は，メタデータも空となるため，例外がスローされます。

(2)　形式

int getColumnType(
    int     columnIndex
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

(4)　戻り値

列のデータ型が，次に示す定数で返却されます。

DbjDef.DATATYPE_BOOL
BOOL型

DbjDef.DATATYPE_INT
INT型

DbjDef.DATATYPE_STR
STR型

DbjDef.DATATYPE_VARRAY
VARRAY型

(5)　例外

IndexOutOfBoundsException

列インデクスが範囲を超えた場合

NullPointerException

検索結果の件数が0件の場合

5.18.11　getColumnVals（列データの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合から，指定した列データの全行をリストで取得します。取得したListオブジェクトは新規に作成され，Listオブジェクトの各要素は列データ値のコピーとなります。

データを取得する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列データを取得するかは保証できません。

(2)　形式

(a)　形式1

List<Object> getColumnVals(
    int     columnIndex
)

(b)　形式2

List<Object> getColumnVals(
    String     columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のデータを取得できます。

(4)　戻り値

列データのリスト

(5)　例外

IllegalArgumentException

指定した列名がなかった場合

IndexOutOfBoundsException

列インデクスが範囲を超えた場合

5.18.12　getIntegerVal（Integer型での列データの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソル行から，指定した列データをInteger型で取得します。

列値がNULL値の場合は，nullが返却されます。列値がINT型でない場合は，例外がスローされます。

データを取得する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列データを取得するかは保証できません。

(2)　形式

(a)　形式1

Integer getIntegerVal(
    int        columnIndex
)

(b)　形式2

Integer getIntegerVal(
    String     columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のINT型データを取得できます。

(4)　戻り値

列データ（Integer型）

(5)　例外

ClassCastException

列値がINT型でなかった場合

IllegalArgumentException

指定した列名がなかった場合

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

列インデクスが不正の場合

5.18.13　getIntVal（int型での列データの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソル行から，指定した列のデータをint型で取得します。

列値がNULL値の場合は，0が返却されます。列値がINT型でない場合は，java.lang.Object#toStringメソッドの実行結果がさらにint型の値に変換されて返却されます。列値がINT型の場合は，そのままjava.langInteger#intValueメソッドの実行結果が返却されます。

データを取得する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列データを取得するかは保証できません。

(2)　形式

(a)　形式1

int getIntVal(
    int     columnIndex
)

(b)　形式2

int getIntVal(
    String  columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のデータをint型で取得できます。

(4)　戻り値

列データ（int型）

(5)　例外

IllegalArgumentException

指定した列名がなかった場合

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

列インデクスが不正の場合

NumberFormatException

数値変換に失敗した場合

5.18.14　getObjectRef（データの参照の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソル行から，指定した列のObject型データの値の参照を取得します。列値がNULL値の場合は，nullが返却されます。

データの参照を取得する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列データの参照を取得するかは保証できません。

(2)　形式

(a)　形式1

Object getObjectRef(
    int      columnIndex
)

(b)　形式2

Object getObjectRef(
    String   columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のデータの参照を取得できます。

(4)　戻り値

データ（Object型）

(5)　例外

IllegalArgumentException

指定した列名がなかった場合

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

列インデクスが不正の場合

5.18.15　getObjectVal（データの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソル行から，指定した列のObject型データの値のコピーを取得します。列値がNULL値の場合は，nullが返却されます。

データを取得する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列データを取得するかは保証できません。

(2)　形式

(a)　形式1

Object getObjectVal(
    int       columnIndex
)

(b)　形式2

Object getObjectVal(
    String    columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のデータ値のコピーを取得できます。

(4)　戻り値

データ（Object型）

(5)　例外

IllegalArgumentException

指定した列名がなかった場合

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

列インデクスが不正の場合

5.18.16　getPropSet（行データをプロパティ値集合として取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

名前付き検索結果から，指定した行のデータをプロパティ値集合として取得します。取得したプロパティ値集合は新規に作成され，値がコピーされます。取得後のプロパティ値集合のプロパティ名は，列名の「.」（ピリオド）以前の文字列が削除されます。

なお，指定した行のデータのうち，列名がnullの列のデータは取得しません。

形式1，3はカーソル行が対象となり，形式2，4はインデクスで行を指定します。

形式1，2はすべての列が対象となりますが，形式3，4は指定した表名（または相関名）に関連する列名だけを対象とします。なお，形式3，4では，列名が「表名.列名」の形式で設定されている必要があります。

(2)　形式

(a)　形式1

DbjPropSet getPropSet()

(b)　形式2

DbjPropSet getPropSet(
    int       rowIndex
)

(c)　形式3

DbjPropSet getPropSet(
    String    tableName
)

(d)　形式4

DbjPropSet getPropSet(
    String    tableName,
    int       rowIndex
)

(3)　引数

rowIndex（入力）

0から始まる行インデクスを指定します。

tableName（入力）

対象表名を指定します。nullを指定すると，表指定なしとみなされます。

(4)　戻り値

行データ（DbjPropSetインターフェース）

(5)　例外

IllegalStateException

名前付き検索結果でない場合，またはカーソル状態が不正の場合

IndexOutOfBoundsException

行インデクスが不正の場合

5.18.17　getRow（カーソル行インデクスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合から，カーソル行のインデクスを取得します。

(2)　形式

int getRow()

(3)　引数

なし

(4)　戻り値

カーソル行のインデクス

(5)　例外

なし

5.18.18　getRowCount（行数の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合が保持する行数を取得します。

(2)　形式

int getRowCount()

(3)　引数

なし

(4)　戻り値

行数

(5)　例外

なし

5.18.19　getRowVals（行データの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合から，指定した行のデータをリストで取得します。各要素は列データの値となります。取得したリストは新規に作成されます。

形式1はカーソル行のデータを取得し，形式2はインデクスで指定した行のデータを取得します。

(2)　形式

(a)　形式1

List<Object> getRowVals()

(b)　形式2

List<Object> getRowVals(
    int      rowIndex
)

(3)　引数

rowIndex（入力）

0から始まる行インデクスを指定します。

(4)　戻り値

行データのリスト

(5)　例外

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

行インデクスが不正の場合

5.18.20　getStringVal（String型での列データの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソル行から，指定した列のデータをString型で取得します。列データがNULL値の場合は，nullが返却されます。列データがSTR型でない場合は，java.lang.Object#toStringメソッドを実行した結果が返却されます。

データを取得する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列データを取得するかは保証できません。

(2)　形式

(a)　形式1

String getStringVal(
    int       columnIndex
)

(b)　形式2

String getStringVal(
    String    columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のデータをString型で取得できます。

(4)　戻り値

列データ（String型）

(5)　例外

IllegalArgumentException

指定した列名がなかった場合

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

列インデクスが不正の場合

5.18.21　getTableName（表名の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

名前付き検索結果から，指定した列の表名（または相関名）を取得します。

指定した列の列名が表名を含まない場合は，nullが返却されます。検索結果の件数が0件の場合は，メタデータも空となるため，例外がスローされます。

(2)　形式

String getTableName(
    int     columnIndex
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

(4)　戻り値

表名

(5)　例外

IllegalStateException

検索結果の件数が0件の場合

IndexOutOfBoundsException

列インデクスが範囲を超えた場合

5.18.22　getVArrayRef（VARRAY型でのデータの参照の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソル行から，指定した列のVARRAY型データの参照を取得します。列値がNULL値の場合は，nullが返却されます。列値がVARRAY型でない場合は，例外がスローされます。

データの参照を取得する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列のデータの参照を取得するかは保証できません。

(2)　形式

(a)　形式1

DbjVArray getVArrayRef(
    int       columnIndex
)

(b)　形式2

DbjVArray getVArrayRef(
    String    columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のVARRAY型データの参照を取得できます。

(4)　戻り値

VARRAY型データ（DbjVArrayインターフェース）

(5)　例外

ClassCastException

列値がVARRAY型でなかった場合

IllegalArgumentException

指定した列名がなかった場合

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

列インデクスが不正の場合

5.18.23　getVArrayVal（VARRAY型でのデータの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソル行から，指定した列のVARRAY型データのコピーを取得します。列データがNULL値の場合は，nullが返却されます。列データがVARRAY型でない場合は，例外がスローされます。

データを取得する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列データを取得するかは保証できません。

(2)　形式

(a)　形式1

DbjVArray getVArrayVal(
    int       columnIndex
)

(b)　形式2

DbjVArray getVArrayVal(
    String    columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のVARRAY型データのコピーを取得できます。

(4)　戻り値

VARRAY型データ（DbjVArrayインターフェース）

(5)　例外

ClassCastException

列値がVARRAY型でなかった場合

IllegalArgumentException

指定した列名がなかった場合

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

列インデクスが不正の場合

5.18.24　isAfterLast（カーソルが最終行の後ろかどうかの判定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルが最終行の後ろかどうかを判定します。

(2)　形式

boolean isAfterLast()

(3)　引数

なし

(4)　戻り値

true

最終行の後ろです。または，検索結果の件数が0件のため最終行がありません。

false

最終行の後ろではありません。

(5)　例外

なし

5.18.25　isBeforeFirst（カーソルが先頭行の前かどうかの判定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルが先頭行の前かどうかを判定します。

(2)　形式

boolean isBeforeFirst()

(3)　引数

なし

(4)　戻り値

true

先頭行の前です。または，検索結果の件数が0件のため先頭行がありません。

false

先頭行の前ではありません。

(5)　例外

なし

5.18.26　isFirst（カーソルが先頭行かどうかの判定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルが先頭行かどうかを判定します。

(2)　形式

boolean isFirst()

(3)　引数

なし

(4)　戻り値

true

先頭行です。

false

先頭行ではありません。

(5)　例外

なし

5.18.27　isLast（カーソルが最終行かどうかの判定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルが最終行かどうかを判定します。

(2)　形式

boolean isLast()

(3)　引数

なし

(4)　戻り値

true

最終行です。

false

最終行ではありません。

(5)　例外

なし

5.18.28　isNamed（名前付き検索結果かどうかの判定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合が名前付き検索結果かどうかを判定します。

(2)　形式

boolean isNamed()

(3)　引数

なし

(4)　戻り値

true

名前付き検索結果です。

false

名前付き検索結果ではありません。名前なし検索結果です。

(5)　例外

なし

5.18.29　isNull（NULL値かどうかの判定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソル行の，指定した列のデータがNULL値かどうかを判定します。

NULL値かどうか判定する列は，列インデクス（形式1）または列名（形式2）で指定します。なお，列名で指定した場合で，その列名が重複しているときは，どの列データを判定するかは保証できません。

(2)　形式

(a)　形式1

boolean isNull(
    int       columnIndex
)

(b)　形式2

boolean isNull(
    String    columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnName（入力）

列名を指定します。nullを指定すると，列名が付いていない列のデータがNULL値かどうかを判定します。

(4)　戻り値

true

NULL値です。

false

NULL値ではありません。

(5)　例外

IllegalArgumentException

指定した列名がなかった場合

IllegalStateException

カーソル状態が不正の場合

IndexOutOfBoundsException

列インデクスが不正の場合

5.18.30　last（カーソルの最終行への移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルを最終行に移動します。

(2)　形式

boolean last()

(3)　引数

なし

(4)　戻り値

true

移動後が最終行です。

false

検索結果の件数が0件のため，最終行がありません。カーソルは移動していません。

(5)　例外

なし

5.18.31　next（カーソルの次の行への移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルを次の行に移動します。

(2)　形式

boolean next()

(3)　引数

なし

(4)　戻り値

true

移動後，末尾を越えていません。有効行です。

false

移動後，末尾を越えました。カーソルは移動していません。

(5)　例外

なし

5.18.32　previous（カーソルの前の行への移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合のカーソルを前の行に移動します。

(2)　形式

boolean previous()

(3)　引数

なし

(4)　戻り値

true

移動後が有効行です。

false

移動後が有効行ではありません。カーソルは移動していません。

(5)　例外

なし

5.18.33　reduct（名前なし列の削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

名前付き検索結果の列から，名前の付いていない列（列名がnullの列）を削除します。

(2)　形式

void reduct()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

IllegalStateException

名前なし検索結果に対してメソッドを実行した場合

5.18.34　setColumnMetaName（列名の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索結果集合の，指定した列の列名を設定します。列名には表名（または相関名）を含めてもかまいません。列名は，ほかの列の列名と重複してもかまいませんが，できるだけ重複しないように設定することをお勧めします。

なお，名前なし検索結果に対して一つでも列名を設定すると，検索結果集合は名前付き検索結果となります。また，一度名前付き検索結果となった検索結果集合は，すべての列名をnullに設定しても，名前付き検索結果のままです。つまり，すべての列名がnullである検索結果集合でも，名前付き検索結果の場合があります。

(2)　形式

void setColumnMetaName(
    int        columnIndex,
    String     columnName
)

(3)　引数

columnIndex（入力）

0から始まる列インデクスを指定します。

columnMetaName（入力）

列名を指定します。nullを指定できます。

(4)　戻り値

なし

(5)　例外

IndexOutOfBoundsException

列インデクスが範囲を超えた場合

5.19　DbjSeedDocQParamインターフェース

DbjSeedDocQParamインターフェースは，種文章を表す?パラメタを扱うインターフェースです。

直接のスーパーインターフェース

DbjQParam

5.20　DbjSetDCRLinkInfoインターフェース

DbjSetDCRLinkInfoインターフェースは，DbjObj#Linkメソッドなどで設定する直接型リンクの設定情報を扱うインターフェースです。このインターフェースで扱うオブジェクトのlinkTypeプロパティの値は，常にDbjDef.LINK_DCRとなります。

直接のスーパーインターフェース

DbjSetLinkInfo

5.21　DbjSetLinkInfoインターフェース

DbjSetLinkInfoインターフェースは，DbjObj#Linkメソッドなどで設定するリンク設定情報を扱うインターフェースです。リンク種別およびリンク先オブジェクトを取得，設定するメソッドを提供します。

直接のスーパーインターフェース

java.lang.Cloneable
DbjSetLinkInfoインターフェースは，java.lang.Cloneableインターフェースを継承します。このインターフェースのcloneメソッドは，ディープコピーを実行します。

プロパティ一覧

DbjSetLinkInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドおよびsetterメソッドを次の表に示します。

表5-11　DbjSetLinkInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド | setterメソッド
linkType | int型 | getLinkType | －
propSet | DbjPropSet | PropSet | setPropSet
targetObj | DbjObj | getTargetObj | setTargetObj

（凡例）

－：該当するメソッドがないことを示します。

プロパティ詳細

linkTypeプロパティ
リンク種別を表します。

propSetプロパティ
リンクオブジェクトのプロパティ値集合です。

targetObjプロパティ
リンク先オブジェクトを表します。

以降，DbjSetLinkInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.21.1　getLinkType（リンク種別の取得）

5.21.2　getTargetObj（リンク先オブジェクトの取得）

5.21.3　propSet（リンクオブジェクトのプロパティ値集合の取得）

5.21.4　setPropSet（リンクオブジェクトのプロパティ値集合の設定）

5.21.5　setTargetObj（リンク先オブジェクトの設定）

5.21.1　getLinkType（リンク種別の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンク種別を取得します。

(2)　形式

int getLinkType()

(3)　引数

なし

(4)　戻り値

リンク種別が，次に示す定数で返却されます。

DbjDef.LINK_DCR
直接型リンク

DbjDef.LINK_RCR
参照型リンク

DbjDef.LINK_REL
文書間リンク

(5)　例外

なし

5.21.2　getTargetObj（リンク先オブジェクトの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンク先オブジェクトを取得します。

(2)　形式

DbjObj getTargetObj()

(3)　引数

なし

(4)　戻り値

targetObjプロパティ（DbjObjインターフェース）

(5)　例外

なし

5.21.3　propSet（リンクオブジェクトのプロパティ値集合の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクオブジェクトのプロパティ値集合を取得します。

取得するプロパティ値集合の各要素は，プロパティ値の参照です。なお，値が設定されていなくても，nullは返却されません。

(2)　形式

DbjPropSet propSet()

(3)　引数

なし

(4)　戻り値

propSetプロパティ（DbjPropSetインターフェース）

(5)　例外

なし

5.21.4　setPropSet（リンクオブジェクトのプロパティ値集合の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクオブジェクトのプロパティ値を要素としたプロパティ値集合に，指定したプロパティ値集合の内容をコピーして設定します。

(2)　形式

void setPropSet(
    DbjPropSet     propSet
)

(3)　引数

propSet（入力）

設定するリンクのプロパティ値集合を指定します。nullを指定できます。

(4)　戻り値

なし

(5)　例外

なし

5.21.5　setTargetObj（リンク先オブジェクトの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンク先オブジェクトを設定します。

(2)　形式

void setTargetObj(
    DbjObj     obj
)

(3)　引数

obj（入力）

リンク先となるオブジェクトを指定します。nullを指定できます。

(4)　戻り値

なし

(5)　例外

なし

5.22　DbjSetRCRLinkInfoインターフェース

DbjSetRCRLinkInfoインターフェースは，DbjObj#Linkメソッドなどで設定する参照型リンクの設定情報を扱うインターフェースです。このインターフェースで扱うオブジェクトのlinkTypeプロパティの値は，常にDbjDef.LINK_RCRとなります。

直接のスーパーインターフェース

DbjSetLinkInfo

5.23　DbjSetRelLinkInfoインターフェース

DbjSetRelLinkInfoインターフェースは，DbjObj#Linkメソッドなどで設定する文書間リンクの設定情報を扱うインターフェースです。このインターフェースで扱うオブジェクトのlinkTypeプロパティの値は，常にDbjDef.LINK_RELとなります。

直接のスーパーインターフェース

DbjSetLinkInfo

5.24　DbjStringQParamインターフェース

DbjStringQParamインターフェースは，STR型を表す?パラメタを扱うインターフェースです。

直接のスーパーインターフェース

DbjQParam

5.25　DbjUploadInfoインターフェース

DbjUploadInfoインターフェースは，文書のアップロード情報を扱うインターフェースです。文書のアップロード情報を取得，設定するメソッドを提供します。

直接のスーパーインターフェース

java.lang.Cloneable
DbjUploadInfoインターフェースは，java.lang.Cloneableインターフェースを継承します。このインターフェースのcloneメソッドは，ディープコピーを実行します。

プロパティ一覧

DbjUploadInfoインターフェースで扱うプロパティの一覧と，各プロパティに対するgetterメソッドおよびsetterメソッドを次の表に示します。

表5-12　DbjUploadInfoインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド | setterメソッド
filePath | String型 | getFilePath | setFilePath
indexPath | String型 | getIndexPath | setIndexPath
renditionPropSet | DbjPropSet | renditionPropSet | setRenditionPropSet
renditionType | String型 | getRenditionType | setRenditionType
retrievalName | String型 | getRetrievalName | setRetrievalName
fileStream | java.io.InputStream | getFileStream | setFileStream
indexStream | java.io.InputStream | getIndexStream | setIndexStream

プロパティ詳細

filePathプロパティ
登録する文書のローカルパス名を表します。ファイル名を含むフルパスです。
次に示す場合には，このプロパティの値にnullを指定できます。
・マルチレンディションを使用しない文書（サブレンディションを持たない，マスタレンディションだけの文書）を登録する場合
・登録する文書の入力ストリームを用いる場合（fileStreamプロパティを有効とする場合）
nullを指定した場合は，登録する文書から全文検索インデクスを作成しません。indexPathプロパティは無視されます。
初期値はnullです。

indexPathプロパティ
登録する文書の全文検索インデクスを作成するファイルのフルパスを表します。
filePathプロパティに指定したファイルから全文検索インデクスを作成する場合は，DbjDef.INDEXPATH_SAMEを指定します。全文検索インデクスを作成しない場合は，nullを指定します。
初期値はnullです。

renditionPropSetプロパティ
登録する文書のレンディションプロパティ値集合です。レンディションプロパティ値集合には，次のプロパティが指定できます。
・dbrProp_RetrievalName（レンディションに登録された文書のファイル名）
・dbrProp_RenditionStatus（レンディションの更新状態）
各レンディションプロパティの値に初期値を設定する場合は，nullを指定します。
初期値は空プロパティ値集合です。

renditionTypeプロパティ
登録する文書のレンディションタイプを表します。設定したレンディションタイプは登録文書オブジェクトのdbrProp_RenditionTypeプロパティに設定されます。
このプロパティ値にnullを設定すると，retrievalNameプロパティの値の拡張子に対応するレンディションタイプが設定されます。retrievalNameプロパティの値もnullの場合には，filePathプロパティの値の拡張子に対応するレンディションタイプが設定されます。この時，拡張子に対応するレンディションタイプは，レンディション定義ファイルの定義内容に従って取得されます。拡張子がレンディション定義ファイルに定義されていない場合は，レンディションタイプとしてnullが設定されます。なお，このプロパティ値にnullを指定して，さらにretrievalNameプロパティおよびfilePathプロパティの値もnullの場合には，レンディションタイプにnullが設定されます。
初期値はnullです。

retrievalNameプロパティ
登録する文書のクライアント側でのオリジナルファイル名を表します。設定したファイル名は登録文書オブジェクトのdbrProp_RetrievalNameプロパティに設定されます。
filePathプロパティに指定したフルパス中のファイル名を設定したい場合は，nullを指定します。
初期値はnullです。

fileStreamプロパティ
登録する文書のjava.ioパッケージで提供された入力ストリームを表します。このプロパティを指定する場合，retrievalNameプロパティに値を設定してください。filePathプロパティを指定した場合，filePathプロパティの値が有効となります。fileStreamプロパティに指定した値を有効にするには，filePathプロパティにnullを指定します。
次に示す場合には，このプロパティの値にnullを指定できます。
・サブレンディションを追加（DbjObj#addRendition）する場合
・バージョンなし文書の作成（DbjDocSpace#createDocument）で，先頭のアップロード情報の場合
・バージョン付き文書の作成（DbjDocSpace#createVrDocument）で，先頭のアップロード情報の場合
nullを指定した場合は，登録する文書から全文検索インデクスを作成しません。indexStreamプロパティは無視されます。
初期値はnullです。

indexStreamプロパティ
登録する文書の全文検索インデクスのjava.ioパッケージで提供された入力ストリームを表します。マスタレンディション以外で指定した場合は，無視されます。
indexPathプロパティを指定した場合，indexPathプロパティの値が有効となります。indexStreamプロパティの値を有効にするには，indexPathプロパティにnullを指定してください。
全文検索インデクスを作成しない場合は，nullを指定します。
初期値はnullです。

以降，DbjUploadInfoインターフェースのメソッドについて説明します。

＜この節の構成＞

5.25.1　getFilePath（登録する文書のフルパスの取得）

5.25.2　getIndexPath（全文検索インデクス作成用ファイルのフルパスの取得）

5.25.3　getRenditionType（登録する文書のレンディションタイプの取得）

5.25.4　getRetrievalName（登録する文書のファイル名の取得）

5.25.5　renditionPropSet（レンディションプロパティ値集合の取得）

5.25.6　getFileStream（fileStreamプロパティの取得）

5.25.7　getIndexStream（indexStreamプロパティの取得）

5.25.8　setFilePath（登録する文書のフルパスの設定）

5.25.9　setIndexPath（全文検索インデクス作成用ファイルのフルパスの設定）

5.25.10　setRenditionPropSet（レンディションプロパティ値集合の設定）

5.25.11　setRenditionType（登録する文書のレンディションタイプの設定）

5.25.12　setRetrievalName（登録する文書のファイル名の設定）

5.25.13　setFileStream（fileStreamプロパティの設定）

5.25.14　setIndexStream（indexStreamプロパティの設定）

5.25.1　getFilePath（登録する文書のフルパスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録する文書のフルパスを取得します。

(2)　形式

String getFilePath()

(3)　引数

なし

(4)　戻り値

filePathプロパティ

(5)　例外

なし

5.25.2　getIndexPath（全文検索インデクス作成用ファイルのフルパスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

全文検索インデクス作成用ファイルのフルパスを取得します。

(2)　形式

String getIndexPath()

(3)　引数

なし

(4)　戻り値

indexPathプロパティ

(5)　例外

なし

5.25.3　getRenditionType（登録する文書のレンディションタイプの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録する文書のレンディションタイプを取得します。

(2)　形式

String getRenditionType()

(3)　引数

なし

(4)　戻り値

renditionTypeプロパティ

(5)　例外

なし

5.25.4　getRetrievalName（登録する文書のファイル名の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録する文書のファイル名を取得します。

(2)　形式

String getRetrievalName()

(3)　引数

なし

(4)　戻り値

retrievalNameプロパティ

(5)　例外

なし

5.25.5　renditionPropSet（レンディションプロパティ値集合の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディションプロパティ値集合を取得します。

取得するプロパティ値集合の各要素は，プロパティ値の参照です。なお，値が設定されていなくても，nullは返却されません。

(2)　形式

DbjPropSet renditionPropSet()

(3)　引数

なし

(4)　戻り値

renditionPropSetプロパティ（DbjPropSetインターフェース）

(5)　例外

なし

5.25.6　getFileStream（fileStreamプロパティの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録する文書の入力ストリームを取得します。

(2)　形式

java.io.InputStream getFileStream()

(3)　引数

なし

(4)　戻り値

fileStreamプロパティの値

(5)　例外

なし

5.25.7　getIndexStream（indexStreamプロパティの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

全文検索インデクス作成用ファイルの入力ストリームを取得します。

(2)　形式

java.io.InputStream getIndexStream()

(3)　引数

なし

(4)　戻り値

indexStreamプロパティの値

(5)　例外

なし

5.25.8　setFilePath（登録する文書のフルパスの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録する文書のフルパスを設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setFilePath(
    String     filePath
)

(3)　引数

filePath（入力）

登録する文書のフルパスを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.25.9　setIndexPath（全文検索インデクス作成用ファイルのフルパスの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

全文検索インデクス作成用ファイルのフルパスを設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setIndexPath(
    String     indexPath
)

(3)　引数

indexPath（入力）

全文検索インデクス作成用ファイルのフルパスを指定します。

filePathプロパティに指定したファイルから全文検索インデクスを作成したい場合は，DbjDef.INDEXPATH_SAMEを指定します。

全文検索インデクスを作成しない場合は，nullを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.25.10　setRenditionPropSet（レンディションプロパティ値集合の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディションプロパティ値集合に，指定したプロパティ値集合の内容をコピーして設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setRenditionPropSet(
    DbjPropSet     renditionPropSet
)

(3)　引数

renditionPropSet（入力）

設定するレンディションプロパティ値集合を指定します。

各レンディションプロパティの値に初期値を設定する場合は，nullを指定します。

レンディションプロパティ値集合に指定できるプロパティを次に示します。

dbrProp_RetrievalName

dbrProp_RenditionStatus

(4)　戻り値

なし

(5)　例外

なし

5.25.11　setRenditionType（登録する文書のレンディションタイプの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録する文書のレンディションタイプを設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setRenditionType(
    String     renditionType
)

(3)　引数

renditionType（入力）

レンディションタイプを指定します。

このプロパティ値にnullを設定すると，filePathプロパティの値の拡張子に対応するレンディションタイプが自動的に設定されます。

(4)　戻り値

なし

(5)　例外

なし

5.25.12　setRetrievalName（登録する文書のファイル名の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録する文書のファイル名を設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setRetrievalName(
    String      retrievalName
)

(3)　引数

retrievalName（入力）

登録する文書のファイル名を指定します。

filePathプロパティに指定したフルパス中のファイル名を設定したい場合は，nullを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.25.13　setFileStream（fileStreamプロパティの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

登録する文書の入力ストリームを設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setFileStream(
    java.io.InputStream      fileStream
)

(3)　引数

fileStream（入力）

登録する文書の入力ストリームを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.25.14　setIndexStream（indexStreamプロパティの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

オブジェクトのindexStreamプロパティに値を設定します。

なお，指定した値の妥当性は検証されません。

(2)　形式

void setIndexStream(
    java.io.InputStream      indexStream
)

(3)　引数

indexStream（入力）

全文検索インデクス作成用のファイルの入力ストリームを指定します。

全文検索インデクスを作成しない場合は，nullを指定します。

(4)　戻り値

なし

(5)　例外

なし

5.26　DbjVArrayインターフェース

DbjVArrayインターフェースは，VARRAY型プロパティの値である可変長配列オブジェクトを扱うインターフェースです。可変長配列オブジェクトの要素を扱うメソッド，可変長配列オブジェクトのプロパティを扱うメソッド，およびプロパティ名を変更するメソッドを提供します。

可変長配列オブジェクトは，プロパティ値集合を要素とするリストオブジェクトで，プロパティとしてメタプロパティを保持しています。可変長配列オブジェクトのメタプロパティとは，その可変長配列オブジェクトが保持するプロパティの，プロパティ名集合を表します。

可変長配列オブジェクトの任意の要素は，そのオブジェクトのメタプロパティが保持するプロパティを必ず保持します。例えば，メタプロパティがプロパティ"A"，"B"，"C"を保持する場合，任意の要素がプロパティ"A"，"B"，"C"を保持します。

また，可変長配列オブジェクトの要素は，メタプロパティが保持していないプロパティを要素ごとに保持できます。例えば，メタプロパティがプロパティ"A"，"B"，"C"を保持する場合，ある要素がプロパティ"A"，"B"，"C"，"X"を保持し，同時に別の要素がプロパティ"A"，"B"，"C"，"Y"，"Z"を保持できます。

メタプロパティとプロパティの整合性について
前述のメタプロパティとプロパティとの整合性は，DbjVArrayインターフェースを使用して可変長配列オブジェクトの要素（プロパティ値集合）を追加する場合に保証されます。
しかし，java.util.Listインターフェースを直接使用して要素を追加した場合は，単に要素が追加されるだけとなるため，整合性は保証されません。

直接のスーパーインターフェース

java.util.List

java.lang.Cloneable
DbjVArrayインターフェースのcloneメソッドは，ディープコピーを実行します。

コーディング例

// ユーザアプリケーションプログラムのコーディング例
Set<String> metaProps = new HashSet<String>();
metaProps.add("mdmProp_Name");
metaProps.add("mdmProp_Number");

DbjVArray varray = dbjfactory.createVArray(metaProps);

DbjPropSet props = dbjfactory.createPropSet();
props.setPropVal("mdmProp_Name", "muraoka");
props.setPropVal("mdmProp_Number", 0);

// 1行目の追加("muraoka", 0)
varray.addPropSet(props);

props.setPropVal("mdmProp_Name", "tanaka");
props.setPropVal("mdmProp_Number", 8);

// 2行目の追加("tanaka", 8)
varray.addPropSet(props);

// 表示
System.out.println("1st display");
for(int i = 0; i < varray.size(); i ++ ) {
System.out.print("[" + i + "]");
System.out.print(varray.propSet(i).getStringVal("mdmProp_Name") + ", ");
System.out.println(varray.propSet(i).getIntVal("mdmProp_Number"));
}

// 1行目のmdmProp_Numberプロパティ更新
props = varray.propSet(0);
props.setPropVal("mdmProp_Number", 7);

// 2行目のmdmPropNameプロパティ更新
varray.propSet(1).setPropVal("mdmProp_Name", "kanie");

// 表示
System.out.println("2nd display");
for(int i = 0; i < varray.size(); i++){
System.out.print("[" + i + "]");
System.out.print(varray.propSet(i).getStringVal("mdmProp_Name") + "， ");
System.out.println(varray.propSet(i).getIntVal("mdmProp_Number"));
}

コーディング例の実行結果

1st display
[0]muraoka, 0
[1]tanaka, 8
2nd display
[0]muraoka, 7
[1]kanie, 8

以降，DbjVArrayインターフェースのメソッドについて説明します。

＜この節の構成＞

5.26.1　addPropSet（プロパティ値集合（行）の追加）

5.26.2　addPropVals（プロパティ値（列）の追加）

5.26.3　changePropName（可変長配列オブジェクトのプロパティ名の変更）

5.26.4　changePropNames（可変長配列オブジェクトのプロパティ名の一括変更）

5.26.5　getPropCount（メタプロパティ数の取得）

5.26.6　getPropNameSet（メタプロパティの取得）

5.26.7　getPropVals（可変長配列オブジェクトのプロパティ値のリストの取得）

5.26.8　propSet（プロパティ値集合の取得）

5.26.9　removeProp（プロパティの削除）

5.26.1　addPropSet（プロパティ値集合（行）の追加）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティ値集合を可変長配列オブジェクトの要素に追加します。

追加する際，メタプロパティに含まれているが指定したプロパティ値集合に含まれていないプロパティには，NULL値が設定されます。一方，指定したプロパティ値集合に含まれているがメタプロパティに含まれていないプロパティは，値がそのまま追加されます。ただし，メタプロパティは変更されません。

(2)　形式

void addPropSet(
    DbjPropSet     propSet
)

(3)　引数

propSet（入力）

プロパティ値集合を指定します。

(4)　戻り値

なし

(5)　例外

NullPointerException

引数propSetにnullを指定した場合

5.26.2　addPropVals（プロパティ値（列）の追加）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

可変長配列オブジェクトに，指定したリストの値をコピーして追加します。指定したプロパティ名がすでに存在していた場合は，そのプロパティの値を，指定したリストの値で上書きします。

指定したリストの要素が可変長配列の要素に対して不足していた場合は，リストの最後の要素が可変長配列オブジェクトの不足分に設定されます。

可変長配列オブジェクトが空の場合に限り，空のプロパティ値を追加できます。

メタプロパティは変更されません。

(2)　形式

void addPropVals(
    String     propName,
    List<?>    vals
)

(3)　引数

propName（入力）

プロパティ名を指定します。

vals（入力）

プロパティ値のListインターフェース（要素は可変長配列の各要素のプロパティ値）を指定します。

(4)　戻り値

なし

(5)　例外

IllegalArgumentException

可変長配列要素が空でないのに空リストを指定した場合

NullPointerException

引数propNameにnullを指定した場合

5.26.3　changePropName（可変長配列オブジェクトのプロパティ名の変更）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

プロパティ名を変更します。

変更後のプロパティ名が可変長配列オブジェクトにすでに存在していても，例外はスローされません。ただし，プロパティ名が変更前，変更後のどちらになるかは保証できません。

また，変更前として指定したプロパティ名が可変長配列オブジェクトにない場合は，falseが返却されます。

(2)　形式

boolean changePropName(
    String     oldName,
    String     newName
)

(3)　引数

oldName（入力）

変更前のプロパティ名を指定します。

nullを指定した場合は，例外がスローされます。

newName（入力）

変更後のプロパティ名を指定します。

nullを指定した場合は，例外がスローされます。

(4)　戻り値

true

変更されました。

false

変更されませんでした。

(5)　例外

NullPointerException

引数oldNameまたはnewNameにnullを指定した場合

5.26.4　changePropNames（可変長配列オブジェクトのプロパティ名の一括変更）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したマップの内容に従って，プロパティ名を一括変更します。マップは，要素のキーに変更前のプロパティ名を，要素の値に変更後のプロパティ名を設定します。

変更後のプロパティ名が可変長配列オブジェクトにすでに存在していても，例外はスローされません。ただし，プロパティ名が変更前，変更後のどちらになるかは保証できません。

また，変更前として指定したプロパティ名が可変長配列オブジェクトに存在しなくても，例外はスローされません。

(2)　形式

boolean changePropNames(
    Map<String, String>      changeMap
)

(3)　引数

changeMap（入力）

変更前と変更後のプロパティ名を設定したマップを指定します。

(4)　戻り値

true

一つ以上変更されました。

false

変更されませんでした。

(5)　例外

NullPointerException

指定したマップの任意のキーまたは値にnullを指定した場合

5.26.5　getPropCount（メタプロパティ数の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

可変長配列オブジェクトのメタプロパティ数を取得します。メタプロパティが設定されていない場合は，0が返却されます。

(2)　形式

int getPropCount()

(3)　引数

なし

(4)　戻り値

メタプロパティ数

(5)　例外

なし

5.26.6　getPropNameSet（メタプロパティの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

可変長配列オブジェクトが保持するメタプロパティを取得します。戻り値は新規に作成されて返却されます。

メタプロパティが設定されていない場合は，空オブジェクトが返却されます。

(2)　形式

Set getPropNameSet()

(3)　引数

なし

(4)　戻り値

メタプロパティ（要素がString型のプロパティ名集合）

(5)　例外

なし

5.26.7　getPropVals（可変長配列オブジェクトのプロパティ値のリストの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

可変長配列オブジェクトから，指定したプロパティの値のコピーをリストで取得し，そのインターフェースを取得します。

可変長配列オブジェクトの要素が空の場合は，空のListインターフェースを取得します。指定したプロパティ名がない場合は，nullが返却されます。

(2)　形式

List<?> getPropVals(
    String     propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。プロパティ名にnullを指定した場合は，例外がスローされます。

(4)　戻り値

プロパティ値のリストまたはnull

(5)　例外

NullPointerException

引数propNameにnullを指定した場合

5.26.8　propSet（プロパティ値集合の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

可変長配列オブジェクトから，指定した行のデータをプロパティ値集合として取得します。

(2)　形式

DbjPropSet propSet(
    int     rowIndex
)

(3)　引数

rowIndex（入力）

0から始まる行インデクスを指定します。

指定できる範囲は，0～n-1（nは行数）です。

(4)　戻り値

プロパティ値集合の参照（DbjPropSetインターフェース）

(5)　例外

IndexOutOfBoundsException

行インデクスが範囲を超えた場合

5.26.9　removeProp（プロパティの削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

可変長配列オブジェクトから，指定したプロパティを削除します。

指定したプロパティがメタプロパティに含まれている場合は，メタプロパティからも指定したプロパティを削除します。

(2)　形式

void removeProp(
    String     propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

(4)　戻り値

なし

(5)　例外

NullPointerException

引数propNameにnullを指定した場合

6.　文書管理クラス詳細

この章では，文書管理クラスのインターフェース，およびメソッドについて説明します。

＜この章の構成＞

6.1　DbjDocSpaceインターフェース

6.2　DbjLinkObjインターフェース

6.3　DbjLinkObjListインターフェース

6.4　DbjObjインターフェース

6.5　DbjObjListインターフェース

6.6　DbjSessionインターフェース

6.7　DbjVerObjインターフェース

6.8　DbjVerObjListインターフェース

6.1　DbjDocSpaceインターフェース

DbjDocSpaceインターフェースは，文書空間へのアクセスを扱うインターフェースです。なお，個別の文書管理オブジェクトへのアクセスにはDbjObjインターフェースを使用し，複数の文書管理オブジェクトへのアクセスにはDbjObjListインターフェースを使用します。DbjDocSpaceインターフェースは，特定の文書管理オブジェクトに依存しないメソッド，および新規に文書管理オブジェクトを生成するメソッドを提供します。

文書管理オブジェクトはDbjDocSpaceインターフェースのメソッドで作成できます。個別の文書管理オブジェクトにアクセスする場合は，ProxyオブジェクトのインターフェースをDbjDocSpace#createObjConnectionメソッドまたはDbjDocSpace#createObjListメソッドで取得し，そのインターフェースを使用してアクセスします。

DbjDocSpaceインターフェースは，接続している文書空間のメタ情報にアクセスできます。この場合，DbjDocSpace#getMetaメソッドを使用して文書空間のメタ情報にアクセスするインターフェースを取得できます。また，DbjDocSpaceインターフェースのDbjDocSpace#isAccessControlModeメソッドを利用することで文書空間がアクセス制御モードで動作しているかどうかを調べることができます。

以降，DbjDocSpaceインターフェースのメソッドについて説明します。

＜この節の構成＞

6.1.1　changeSearchACLMode（検索実行時のアクセス制御モードの変更）

6.1.2　createDocument（バージョンなし文書の作成）

6.1.3　createFolder（バージョンなしフォルダの作成）

6.1.4　createIndependentData（独立データの作成）

6.1.5　createLinkObjList（複数のリンクオブジェクトアクセスインターフェースの取得）

6.1.6　createObjConnection（文書管理オブジェクトアクセスインターフェースの取得）

6.1.7　createObjList（複数の文書管理オブジェクトアクセスインターフェースの取得）

6.1.8　createPublicACL（パブリックACLの作成）

6.1.9　createVrDocument（バージョン付き文書の作成）

6.1.10　executeSearch（検索の実行）

6.1.11　getMeta（文書管理のメタ情報の取得）

6.1.12　getSearchACLMode（検索実行時のアクセス制御モードの取得）

6.1.13　isAccessControlMode（アクセス制御モードの取得）

6.1.14　removeObjects（検索条件を指定したオブジェクトの削除）

6.1.1　changeSearchACLMode（検索実行時のアクセス制御モードの変更）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

検索（DbjDocSpace#executeSearchメソッド）の実行時のアクセス制御モードを変更します。アクセス制御モードの指定の有無によって，検索の実行時にアクセスできるオブジェクトが異なる場合があります。アクセス制御モードで動作している文書空間に対して検索を実行する場合，このメソッドを実行してアクセス制御モードなしの状態を設定して検索を実行できます。デフォルト値には，DbjDef.WITH_ACLが設定されています。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

void changeSearchACLMode(
     int            aclMode
)

(3)　引数

aclMode（入力）

検索の実行時のアクセス制御モードを指定します。アクセス制御機能を使用している場合だけ有効です。次のどちらかの値を指定します。

DbjDef.WITH_ACL
アクセス制御機能付き検索モードで実行します。このモードの場合，ユーザはアクセス権がないオブジェクトを検索結果として取得できません。

DbjDef.WITHOUT_ACL
アクセス制御機能なし検索（アクセス権を無視した検索）モードで実行します。このモードの場合，ユーザはアクセス権がないオブジェクトでも検索結果として取得できます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlNotSupportedException

アクセス制御モードで動作していない場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.1.2　createDocument（バージョンなし文書の作成）

＜この項の構成＞

(1)　機能

(2)　引数

(3)　戻り値

(4)　例外

(1)　機能

文書空間にバージョンなし文書を作成して，指定したリンク元フォルダにリンクを設定します。作成したバージョンなし文書の文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）を取得します。バージョンなし文書を作成する場合にバージョンなし文書を構成するクラス名，およびバージョンなし文書のプロパティの初期値を指定できます。

dbrProp_RetrievalName（レンディションに登録されたコンテンツのファイル名）プロパティを指定する方法と指定の優先順位を次の表に示します。

表6-1　dbrProp_RetrievalNameプロパティの指定方法と優先順位

dbrProp_RetrievalNameプロパティの指定方法 | 優先順位
引数uploadListが持つ要素のretrievalNameプロパティに指定 | 1
引数uploadListが持つ要素のrenditionPropSetプロパティにdbrProp_RetrievalNameを指定 | 2
引数propSetにdbrProp_RetrievalNameを指定（マスタレンディションだけ） | 3

上記のいずれも指定しなかった場合，引数uploadListの要素が持つfilePathプロパティに含まれるファイル名を設定します。

形式

DbjObj createDocument(
     String           className,
     DbjPropSet       propSet,
     List<? extends DbjUploadInfo>    uploadList,
     List<? extends DbjUploadInfo>    parentLinkList
)

(2)　引数

className（入力）

作成するバージョンなし文書のクラス名を指定します。dmaClass_DocVersionクラス，またはそのサブクラスのクラス名を指定できます。nullを指定するとデフォルトクラスであるdmaClass_DocVersionクラスが仮定されます。

propSet（入力）

作成する文書のプロパティの初期値として設定するプロパティ値集合を指定します。プロパティの初期値を指定しない場合はnullを指定します。

uploadList（入力）

要素は，DbjUploadInfoインターフェース，またはそのサブインターフェースです。作成する文書に登録する文書のアップロード情報のリストを指定します。アップロードするファイルを指定しない場合はnullを指定します。

parentLinkList（入力）

要素は，DbjSetLinkInfoインターフェースのサブインターフェースです。作成する文書にリンクを設定するリンク元フォルダオブジェクト群およびリンク種別のリストを指定します。フォルダにリンクを設定しない場合はnullを指定します。

(3)　戻り値

作成した文書の文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）

(4)　例外

ClassCastException

引数parentLinkListの要素がDbjSetLinkInfoインターフェースでなかった場合

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjIOException

DocumentBrokerクラスライブラリ固有のIOエラーの場合

DbjMasterRenditionNotSetException

マスタレンディションのレンディションタイプが設定されていなかった場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数の指定が不正の場合

NullPointerException

値が必要な引数がnullの場合

6.1.3　createFolder（バージョンなしフォルダの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間にバージョンなしフォルダを作成し，指定したリンク元フォルダにリンクを設定します。作成したバージョンなしフォルダの文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）を取得します。バージョンなしフォルダを作成する場合にバージョンなしフォルダを構成するクラス名，およびバージョンなしフォルダのプロパティの初期値を指定できます。

(2)　形式

DbjObj createFolder(
     String      className,
     DbjPropSet  propSet,
     List        <? extends DbjSetLinkInfo>   parentLinkList
)

(3)　引数

className（入力）

作成するバージョンなしフォルダのクラス名を指定します。edmClass_ContainerVersionクラス，またはそのサブクラスのクラス名を指定できます。nullを指定するとデフォルトクラスであるedmClass_ContainerVersionクラスが仮定されます。

propSet（入力）

作成するバージョンなしフォルダのプロパティの初期値として設定するプロパティ値集合を指定します。プロパティの初期値を指定しない場合はnullを指定します。

parentLinkList（入力）

要素は，DbjSetLinkInfoインターフェースのサブインターフェースです。作成するバージョンなしフォルダにリンクを設定するリンク元フォルダオブジェクト群のリストを指定します。フォルダにリンクを設定しない場合はnullを指定します。

(4)　戻り値

作成したバージョンなしフォルダの文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）

(5)　例外

ClassCastException

引数parentLinkListの要素がDbjSetLinkInfoインターフェースでなかった場合

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.1.4　createIndependentData（独立データの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間に独立データを作成します。作成した独立データの文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）を取得します。独立データを作成する場合に独立データを構成するクラス名，および独立データのプロパティの初期値を指定できます。

(2)　形式

DbjObj createIndependentData(
     String       className,
     DbjPropSet   propSet
)

(3)　引数

className（入力）

作成する独立データのクラス名を指定します。edmClass_IndependentPersistenceクラス，またはそのサブクラスのクラス名を指定できます。nullを指定するとデフォルトクラスであるedmClass_IndependentPersistenceクラスが仮定されます。

propSet（入力）

作成する独立データのプロパティの初期値として設定するプロパティ値集合を指定します。プロパティの初期値を指定しない場合はnullを指定します。

(4)　戻り値

作成した独立データの文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.1.5　createLinkObjList（複数のリンクオブジェクトアクセスインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

複数のリンクオブジェクトにアクセスするインターフェース（DbjLinkObjListインターフェース）を取得します。このインターフェースを実装するオブジェクトは，要素をDbjLinkObjインターフェースとするリストオブジェクトです。ユーザアプリケーションプログラムは，このインターフェースを使用して，複数のリンクオブジェクトに対して一括してアクセスできます。

形式1では，要素数が０の空のリストオブジェクトである複数のリンクオブジェクトアクセスインターフェースを取得します。形式2では，要素がDbjLinkObjインターフェースであるコレクションインターフェースを引数（srcObjs）に指定します。各要素（DbjLinkObjインターフェース）は，リストオブジェクトの要素として設定されます。

(2)　形式

(a)　形式1

DbjLinkObjList createLinkObjList()

(b)　形式2

DbjLinkObjList createLinkObjList(
     Collection<DbjLinkObj>      srcObjs
)

(3)　引数

srcObjs（入力）

要素がDbjLinkObjインターフェースのコレクションインターフェースを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

複数のリンクオブジェクトアクセスインターフェース（DbjLinkObjListインターフェース）

(5)　例外

ClassCastException

引数srcObjsの要素がDbjObjインターフェース以外の場合

NullPointerException

引数srcObjsがnullの場合

6.1.6　createObjConnection（文書管理オブジェクトアクセスインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定した文書管理オブジェクトにアクセスするインターフェース（DbjObjインターフェース）を取得します。アクセス対象の文書管理オブジェクトをOIIDで指定します。なお，OIIDの妥当性は検証されません。

このメソッドによって文書管理オブジェクトにアクセスするためのProxyオブジェクトを作成して，そのインターフェース（DbjObjインターフェース）を取得します。ユーザアプリケーションプログラムは，取得したDbjObjインターフェースを使用して対象の文書管理オブジェクトにアクセスします。ただし，このメソッドでは実際に文書管理オブジェクトに接続しません。

(2)　形式

DbjObj createObjConnection(
     String      oiid
)

(3)　引数

oiid（入力）

アクセス対象の文書管理オブジェクトのOIIDを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）

(5)　例外

NullPointerException

引数oiidがnullの場合

6.1.7　createObjList（複数の文書管理オブジェクトアクセスインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

複数の文書管理オブジェクトにアクセスするインターフェース（DbjObjListインターフェース）を取得します。このインターフェースを実装するオブジェクトは，要素をDbjObjインターフェースとするリストオブジェクトです。ユーザアプリケーションプログラムは，このインターフェースを使用して複数の文書管理オブジェクトに対して一括してアクセスできます。

形式1では，要素数が０の空のリストオブジェクトである複数文書管理オブジェクトにアクセスするインターフェースを取得します。取得後，ユーザがList#addメソッドによって要素を追加して使用します。形式2では，要素がDbjObjインターフェースであるコレクションインターフェースを指定します。各要素（DbjObjインターフェース）は，リストオブジェクトの要素として設定されます。

形式3および形式4では，リストオブジェクトの各要素を検索結果集合の各行からリストオブジェクトの要素にマッピングして複数文書管理オブジェクトアクセスインターフェースを取得します。形式3では，OIIDの入っている列を列インデクスで指定します。形式4では，OIIDの入っている列を列名で指定します。さらに，検索結果集合で名前の付いている列（列名がnull以外のもの）は，各要素のProxyオブジェクトのプロパティとして設定されます。名前なし検索結果集合を指定すると，列名はすべてnullになります。よって，要素のProxyオブジェクトは，すべてのプロパティは保持しません。また，OIIDをプロパティとして指定した列は，対象外になります。形式3および形式4のtableNameにnullを指定すると，列名から表名（または相関名）部分が除かれた値がプロパティ名として設定されます。tableNameにnull以外を指定すると，指定した表名（または相関名）を含む列名のプロパティだけが対象になります。

(2)　形式

(a)　形式1

DbjObjList createObjList()

(b)　形式2

DbjObjList createObjList(
    Collection<DbjObj>    srcObjs
)

(c)　形式3

DbjObjList createObjList(
    DbjResultSet        result,
    int                 columnIndexOfOiid,
    String              tableName
)

(d)　形式4

DbjObjList createObjList(
    DbjResultSet         result,
    String               columnNameOfOiid,
    String               tableName
)

(3)　引数

srcObjs（入力）

要素がDbjObjインターフェースのコレクションインターフェースを指定します。nullを指定すると例外がスローされます。

result（入力）

検索結果集合のDbjResultSetインターフェースを指定します。nullを指定すると例外がスローされます。

columnIndexOfOiid（入力）

検索結果集合のうち，OIIDを表す列インデクスを指定します。

columnNameOfOiid（入力）

検索結果集合のうち，OIIDを表す列名を指定します。nullを指定すると例外がスローされます。

tableName（入力）

表名（または相関名）を指定します。

(4)　戻り値

複数の文書管理オブジェクトアクセスインターフェース（DbjObjListインターフェース）

(5)　例外

ClassCastException

引数srcObjsの要素がDbjObjインターフェース以外の場合

IndexOutOfBoundsException

引数columnIndexOfOiidが範囲外の場合

NullPointerException

引数srcObjs，result，またはcolumnNameOfOiidがnullの場合

6.1.8　createPublicACL（パブリックACLの作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間にパブリックACLを作成します。作成したパブリックACLの文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）を取得します。パブリックACLの作成時にパブリックACLを構成するクラス名，およびパブリックACLのプロパティの初期値を指定できます。また，パブリックACLをバインドする文書管理オブジェクトも指定できます。

(2)　形式

DbjObj createPublicACL(
    String          className,
    DbjPropSet      propSet,
    List<DbjObj>    bindObjectList
)

(3)　引数

className（入力）

作成するパブリックACLのクラス名を指定します。edmClass_PublicACLクラスのクラス名を指定できます。nullを指定するとデフォルトクラスであるedmClass_PublicACLクラスが仮定されます。

propSet（入力）

作成するパブリックACLのプロパティの初期値として設定するプロパティ値集合を指定します。プロパティの初期値を指定しない場合はnullを指定します。

bindObjectList（入力）

要素はDbjObjインターフェースです。作成するパブリックACLにバインドする文書管理オブジェクトのリストを指定します。バインドする文書管理オブジェクトがない場合はnullを指定します。

(4)　戻り値

作成したパブリックACLの文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）

(5)　例外

ClassCastException

引数bindObjectListの要素がDbjObjインターフェースでなかった場合

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLAlreadyBoundException

指定パブリックACLはすでにバインドされていた場合

DbjPublicACLNotFoundException

指定パブリックACLは存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.1.9　createVrDocument（バージョン付き文書の作成）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間にバージョン付き文書を作成し，指定したリンク元フォルダにリンクを設定します。作成したバージョン付き文書の文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）を取得します。バージョン付き文書を作成する場合にバージョン付き文書を構成するクラス名，およびバージョン付き文書のプロパティの初期値を指定できます。

dbrProp_RetrievalName（レンディションに登録されたコンテンツのファイル名）プロパティを指定する方法と指定の優先順位を次の表に示します。

表6-2　dbrProp_RetrievalNameプロパティの指定方法と優先順位

dbrProp_RetrievalNameプロパティの指定方法 | 優先順位
引数uploadListが持つ要素のretrievalNameプロパティに指定 | 1
引数uploadListが持つ要素のrenditionPropSetプロパティのdbrProp_RetrievalNameに指定 | 2
引数propSetにバージョニングオブジェクトのプロパティとしてdbrProp_RetrievalNameを指定（マスタレンディションだけ） | 3
引数propSetにバージョンオブジェクトのプロパティとしてdbrProp_RetrievalNameを指定（マスタレンディションだけ） | 4

上記のいずれも指定しなかった場合，引数uploadListの要素が持つfilePathプロパティに含まれるファイル名を設定します。

(2)　形式

DbjObj createVrDocument(
    String         classNameVersioning,
    String         classNameVersion,
    DbjPropSet     propSet,
    List<? extends DbjUploadInfo>     uploadList,
    List<? extends DbjSetLinkInfo>     parentLinkList
)

(3)　引数

classNameVersioning（入力）

作成するバージョン付き文書のバージョニングオブジェクトのクラス名を指定します。dmaClass_ConfigurationHistoryクラス，またはそのサブクラスのクラス名を指定できます。nullを指定するとデフォルトクラスであるdmaClass_ConfigurationHistoryクラスが仮定されます。

classNameVersion（入力）

作成するバージョン付き文書のバージョンオブジェクトのクラス名を指定します。dmaClass_DocVersionクラス，またはそのサブクラスのクラス名を指定できます。nullを指定するとデフォルトクラスであるedmClass_VersionTracedDocVersionクラスが仮定されます。

propSet（入力）

作成するバージョン付き文書のプロパティの初期値として設定するプロパティ値集合を指定します。バージョニングオブジェクトとバージョンオブジェクト（カレントバージョン）のプロパティを同時に設定できます。プロパティの初期値を指定しない場合はnullを指定します。

uploadList（入力）

要素は，DbjUploadInfoインターフェースまたはそのサブインターフェースです。作成するバージョン付き文書に登録するファイル情報（アップロード情報）のリストを指定します。アップロードするファイルを指定しない場合はnullを指定します。

parentLinkList（入力）

要素は，DbjSetLinkInfoインターフェースのサブインターフェースです。作成するバージョン付き文書にリンクを設定するリンク元フォルダオブジェクト群とリンク種別のリストを指定します。フォルダにリンクを設定しない場合はnullを指定します。

(4)　戻り値

作成したバージョン付き文書の文書管理オブジェクトアクセスインターフェース（DbjObjインターフェース）

(5)　例外

ClassCastException

引数parentLinkListの要素がDbjSetLinkInfoインターフェースでなかった場合

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjIOException

DocumentBrokerクラスライブラリ固有のIOエラーの場合

DbjMasterRenditionNotSetException

マスタレンディションのレンディションタイプが設定されていなかった場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数の指定が不正の場合

NullPointerException

値が必要な引数がnullの場合

6.1.10　executeSearch（検索の実行）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間に対してedmSQL文による検索を実行し，検索結果集合オブジェクトインターフェース（DbjResultSetインターフェース）を取得します。

形式1および形式2では，名前なし検索結果集合を取得します。

形式3および形式4では，名前付き検索結果集合を取得します。

形式2および形式4では，ロック種別を指定できます。ロック種別のデフォルト値は，ロックなし指定（DbjDef.LOCK_NONE指定に相当）です。

形式3および形式4の引数（eqlStatement）には，SELECT句の項目部分に「$_」を使用して記述します。例えば，select $_ from mdmClass_Folder_cのように指定します。また，引数（selectItems）に指定した要素は，「,」（コンマ）で区切られて「$_」に置き換えられます。検索結果集合の列名は，selectItemsで指定した要素になります。SELECT句の項目指定部分は，「$_」だけ使用できます。例えば，select A,$_ from ...と指定すると例外がスローされます。なお，形式3および形式4では，取得される列数とselectItemsの要素数が不一致の場合，例外がスローされます。

(2)　形式

(a)　形式1

DbjResultSet executeSearch(
    String                     eqlStatement,
    List<? extends DbjQParam>  qParamList,
    DbjFetchInfo               fetchInfo
)

(b)　形式2

DbjResultSet executeSearch(
    String                     eqlStatement,
    List<? extends DbjQParam>  qParamList,
    DbjFetchInfo               fetchInfo,
    int                        lockType
)

(c)　形式3

DbjResultSet executeSearch(
    List<String>               selectItems,
    String                     eqlStatement,
    List<? extends DbjQParam>  qParamList,
    DbjFetchInfo               fetchInfo
)

(d)　形式4

DbjResultSet executeSearch(
    List<String>                 selectItems,
    String                       eqlStatement,
    List<? extends DbjQParam>    qParamList,
    DbjFetchInfo                 fetchInfo,
    int                          lockType
)

(3)　引数

selectItems（入力）

要素のデータ型はString型です。SELECT句に指定する項目のリストを指定します。名前付き検索結果集合の列名になります。nullを指定すると例外がスローされます。

eqlStatement（入力）

edmSQL文を指定します。nullを指定すると例外がスローされます。

qParamList（入力）

?パラメタの値を表します。要素は，DbjQParamインターフェースのサブクラスのリストを指定します。NULL値の場合は，要素の値にnullを指定します。?パラメタの指定がない場合は，nullを指定します。

fetchInfo（入出力）

検索結果取得情報の条件を指定します。全件を取得する場合，またはキャッシュ検索をしない場合はnullを指定します。キャッシュ検索をすると，cacheKeyプロパティとcacheTotalプロパティが設定されます。全件を取得しない場合，maxFetchCountプロパティに指定されている件数を取得した後に，comparatorプロパティに指定したコンパレータによりソートされます。そのため，全件を取得する場合と，maxFetchCountプロパティを指定して検索した場合を比較すると，comparatorプロパティに同じオブジェクトを指定しても結果が異なる場合があります。

lockType（入力）

検索結果集合に対して取得するロック種別を指定します。次に示す値のどれかを指定できます。

DbjDef.LOCK_NONE
ロックなし

DbjDef.LOCK_READ
readロック

DbjDef.LOCK_WRITE
writeロック

DbjDef.LOCK_READFORUPDATE
READFORUPDATEロック

(4)　戻り値

検索結果集合オブジェクトインターフェース（DbjResultSetインターフェース）

(5)　例外

DbjAccessControlNotSupportedException

アクセス制御モードに対応していない場合にアクセス制御モードで検索しようとした場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

DbjIllegalCacheStartIndexException

検索結果数より大きい値を引数fetchInfo（DbjFetchInfoインターフェース）のstartIndexプロパティに指定した場合

IllegalArgumentException

引数が不正の場合

NullPointerException

引数eqlStatementがnullの場合

6.1.11　getMeta（文書管理のメタ情報の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

接続している文書空間のメタ情報を取得します。

(2)　形式

DbjMeta getMeta()

(3)　引数

なし

(4)　戻り値

メタ情報インターフェース（DbjMetaインターフェース）

(5)　例外

なし

6.1.12　getSearchACLMode（検索実行時のアクセス制御モードの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

DbjDocSpace#executeSearchメソッドの実行時のアクセス制御モードを取得します。アクセス制御モードが動作している場合だけ有効です。

(2)　形式

int getSearchACLMode()

(3)　引数

なし

(4)　戻り値

DbjDocSpace#executeSearchメソッドの実行時のアクセス制御モードとして次に示す値が返却されます。

DbjDef.WITH_ACL

アクセス制御機能付き検索を実行します。

DbjDef.WITHOUT_ACL

アクセス制御機能なし検索（アクセス権を無視した検索）を実行します。

(5)　例外

DbjAccessControlNotSupportedException

アクセス制御モードで動作していない場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.1.13　isAccessControlMode（アクセス制御モードの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間がアクセス制御モードで実行されているかどうかについての情報を取得します。

(2)　形式

boolean isAccessControlMode()

(3)　引数

なし

(4)　戻り値

true

アクセス制御モードで実行しています。

false

アクセス制御モードで実行していません。

(5)　例外

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.1.14　removeObjects（検索条件を指定したオブジェクトの削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間に対してedmSQL文による検索を実行し，検索結果として取得したオブジェクトを削除します。このメソッドは，検索結果集合の１列目を，削除対象のオブジェクトのOIIDとみなします。したがって，指定するedmSQL文の主問い合わせのSELECT句の第一項目には，削除対象とする表のdmaProp_OIIDプロパティ（または削除対象のOIID文字列が設定されているプロパティ）を必ず指定します。

(2)　形式

void removeObjects(
    String                      eqlStatement,
    List<? extends DbjQParam>   qParamList
)

(3)　引数

eqlStatement（入力）

edmSQL文を指定します。nullを指定すると例外がスローされます。

qParamList（入力）

?パラメタの値を表します。要素には，DbjQParamインターフェースのサブクラスのリストを指定します。NULL値の場合は，要素の値にnullを指定します。また，?パラメタの指定がない場合は，nullを指定します。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjAccessControlNotSupportedException

アクセス制御モードに対応していない場合にアクセス制御モードで検索しようとした場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjLastVersionException

最後のバージョンを消そうとした場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数eqlStatementがnullの場合

6.2　DbjLinkObjインターフェース

DbjLinkObjインターフェースは，一つのリンクオブジェクトにアクセスするインターフェースです。

以降，DbjLinkObjインターフェースのメソッドについて説明します。

＜この節の構成＞

6.2.1　getLinkId（リンク識別子の取得）

6.2.2　getLinkType（リンク種別の取得）

6.2.3　getOwnerObj（リンク元オブジェクトの取得）

6.2.4　getTargetObj（リンク先オブジェクトの取得）

6.2.5　propSet（リンクProxyオブジェクトのプロパティ値集合インターフェースの取得）

6.2.6　readProperties（リンクプロパティの取得）

6.2.7　removeObject（リンクオブジェクトの削除）

6.2.8　setPropSet（リンクProxyオブジェクトのプロパティ値集合の設定）

6.2.9　writeProperties（リンクプロパティ値の設定）

6.2.1　getLinkId（リンク識別子の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのアクセス対象のターゲットオブジェクトであるリンクオブジェクトのリンク識別子を取得します。

(2)　形式

String getLinkId()

(3)　引数

なし

(4)　戻り値

リンク識別子

(5)　例外

なし

6.2.2　getLinkType（リンク種別の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのアクセス対象のターゲットオブジェクトであるリンクオブジェクトのリンク種別を取得します。

(2)　形式

int getLinkType()

(3)　引数

なし

(4)　戻り値

リンク種別

(5)　例外

なし

6.2.3　getOwnerObj（リンク元オブジェクトの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのアクセス対象のターゲットオブジェクトであるリンクオブジェクトのリンク元オブジェクトを取得します。取得するのは，リンク元オブジェクトのProxyオブジェクトのインターフェース（DbjObjインターフェース）です。

(2)　形式

DbjObj getOwnerObj()

(3)　引数

なし

(4)　戻り値

リンク元オブジェクトのインターフェース（DbjObjインターフェース）

(5)　例外

なし

6.2.4　getTargetObj（リンク先オブジェクトの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのアクセス対象のターゲットオブジェクトであるリンクオブジェクトのリンク先オブジェクトを取得します。取得するのは，リンク先オブジェクトのProxyオブジェクトのインターフェース（DbjObjインターフェース）です。

(2)　形式

DbjObj getTargetObj()

(3)　引数

なし

(4)　戻り値

リンク先オブジェクトのインターフェース（DbjObjインターフェース）

(5)　例外

なし

6.2.5　propSet（リンクProxyオブジェクトのプロパティ値集合インターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのプロパティ値集合インターフェースを取得します。プロパティ値集合インターフェースは，参照権限で取得します。取得したインターフェースを使用して値を設定すると，Proxyオブジェクトのリンクプロパティ値も更新されます。なお，プロパティ値集合が設定されていなくてもnullは返却されません。

(2)　形式

DbjPropSet propSet()

(3)　引数

なし

(4)　戻り値

リンクProxyオブジェクトのプロパティ値集合インターフェース（DbjPropSetインターフェース）

(5)　例外

なし

6.2.6　readProperties（リンクプロパティの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのアクセス対象のターゲットオブジェクトであるリンクオブジェクトの指定プロパティを，各要素のリンクProxyオブジェクトに読み込みます。

形式1では，リンクProxyオブジェクトの保持しているプロパティ値集合でのすべてのプロパティをリンクオブジェクトから読み込みます。形式2では，読み込み対象のプロパティのコレクションを指定します。

(2)　形式

(a)　形式1

void readProperties()

(b)　形式2

void readProperties(
   Collection<String>     propDefs
)

(3)　引数

propDefs（入力）

要素は，リンクプロパティ名（String型）です。取得するプロパティのプロパティ名のコレクションを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propDefsがnullの場合

6.2.7　removeObject（リンクオブジェクトの削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのアクセス対象のターゲットオブジェクトであるリンクオブジェクトを削除して，リンクを解除します。

(2)　形式

boolean removeObject()

(3)　引数

なし

(4)　戻り値

true

リンクオブジェクトが削除されました。

false

リンクオブジェクトが削除されませんでした。この値は，すでにリンクオブジェクトが削除されていた場合に返却されます。

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.2.8　setPropSet（リンクProxyオブジェクトのプロパティ値集合の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのプロパティ値集合に，指定したプロパティ値集合の内容をコピーして設定します。

(2)　形式

void setPropSet(
    DbjPropSet     propSet
)

(3)　引数

propSet（入力）

設定するプロパティ値集合インターフェースを指定します。nullを指定するとオブジェクトのプロパティ値集合には，空値が仮定されます。

(4)　戻り値

なし

(5)　例外

なし

6.2.9　writeProperties（リンクプロパティ値の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトのアクセス対象のターゲットオブジェクトであるリンクオブジェクトのプロパティを一括して設定します。

形式1では，アクセス対象のターゲットオブジェクトであるリンクオブジェクトのプロパティを，指定したプロパティ値集合で設定します。形式2および形式3では，アクセス対象のターゲットオブジェクトであるリンクオブジェクトのプロパティを，リンクProxyオブジェクトに設定されたプロパティ値集合で設定します。形式3では，リンクProxyオブジェクトに設定されているプロパティのうち，アクセス対象のターゲットオブジェクトであるリンクオブジェクトに反映する対象のプロパティを限定して指定できます。

(2)　形式

(a)　形式1

void writeProperties(
    DbjPropSet     propSet
)

(b)　形式2

void writeProperties()

(c)　形式3

void writeProperties(
    Collection<String>     propdef
)

(3)　引数

propSet（入力）

リンクオブジェクトに設定するリンクプロパティ値集合を指定します。nullを指定すると例外がスローされます。

propDefs（入力）

要素はリンクプロパティ名（String型）です。リンクオブジェクトに設定する対象のリンクプロパティ値のコレクションを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propSet，またはpropDefsがnullの場合

6.3　DbjLinkObjListインターフェース

DbjLinkObjListインターフェースは，DbjLinkObjインターフェースを要素とするリストインターフェースを扱います。

スーパーインターフェース

java.util.List

以降，DbjLinkObjListインターフェースのメソッドについて説明します。

＜この節の構成＞

6.3.1　getLinkIdList（ターゲットリンク識別子プロパティのリストの取得）

6.3.2　getLinkObj（リスト要素のDbjLinkObjインターフェースの取得）

6.3.3　getOwnerObjList（リンク元オブジェクトのリストの取得）

6.3.4　getTargetObjList（リンク先オブジェクトのリストの取得）

6.3.5　readProperties（リンクプロパティ値の一括取得）

6.3.6　removeObjects（リンクオブジェクトの一括削除）

6.3.7　writeProperties（リンクプロパティ値の一括設定）

6.3.1　getLinkIdList（ターゲットリンク識別子プロパティのリストの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンクProxyオブジェクトが保持するリスト要素すべてのターゲットリンク識別子プロパティ値をリストで取得します。

(2)　形式

List<String> getLinkIdList()

(3)　引数

なし

(4)　戻り値

ターゲットリンク識別子プロパティ値（String型）のリスト

(5)　例外

ClassCastException

リスト要素がDbjLinkObjインターフェースでなかった場合

6.3.2　getLinkObj（リスト要素のDbjLinkObjインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

インデクスで指定されたリスト要素のDbjLinkObjインターフェースを取得します。

(2)　形式

DbjLinkObj getLinkObj(
    int     index
)

(3)　引数

index（入力）

リスト要素のインデクスを指定します。

(4)　戻り値

リスト要素のDbjLinkObjインターフェース

(5)　例外

ClassCastException

インデクスで指定されたリスト要素がDbjLinkObjインターフェースでなかった場合

IndexOutOfBoundException

引数に指定したリスト要素のインデクスが不正の場合

6.3.3　getOwnerObjList（リンク元オブジェクトのリストの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンク元オブジェクトが保持するリスト要素すべてのオーナーオブジェクトのプロパティ値をリストで取得します。

(2)　形式

DbjObjList getOwnerObjList()

(3)　引数

なし

(4)　戻り値

オーナーオブジェクトのプロパティ値のリスト（DbjObjListインターフェース）

(5)　例外

ClassCastException

リスト要素がDbjLinkObjインターフェースでなかった場合

6.3.4　getTargetObjList（リンク先オブジェクトのリストの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リンク先オブジェクトが保持するリスト要素すべてのターゲットオブジェクトのプロパティ値をリストで取得します。

(2)　形式

DbjObjList getTargetObjList()

(3)　引数

なし

(4)　戻り値

ターゲットオブジェクトのプロパティ値のリスト（DbjObjListインターフェース）

(5)　例外

ClassCastException

リスト要素がDbjLinkObjインターフェースでなかった場合

6.3.5　readProperties（リンクプロパティ値の一括取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リスト要素のターゲットオブジェクトであるリンクオブジェクトの指定プロパティを各要素のリンクProxyオブジェクトに一括して読み込みます。リストの要素である各DbjLinkObjインターフェースに対して，DbjLinkObj#readPropertiesメソッドを実行します。

形式1では，Proxyオブジェクトの保持しているプロパティ値集合でのすべてのプロパティをターゲットオブジェクトであるリンクオブジェクトの指定プロパティから読み込みます。形式2では，読み込み対象のプロパティのコレクションを指定します。

(2)　形式

(a)　形式1

void readProperties()

(b)　形式2

void readProperties(
    Collection<String>     propDefs
)

(3)　引数

propDefs（入力）

要素はリンクプロパティ名（String型）です。取得するプロパティのプロパティ名のコレクションを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propDefsがnullの場合

6.3.6　removeObjects（リンクオブジェクトの一括削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リストオブジェクト要素のアクセス対象のターゲットオブジェクトであるリンクオブジェクトを一括して削除します。リストの要素である各DbjLinkObjインターフェースに対して，DbjLinkObj#removeObjectメソッドを実行します。

(2)　形式

List<DbjLinkObj> removeObjects()

(3)　引数

なし

(4)　戻り値

削除されたリンクオブジェクトのDbjLinkObjインターフェースのリスト

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.3.7　writeProperties（リンクプロパティ値の一括設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リスト要素のアクセス対象のターゲットオブジェクトであるリンクオブジェクトのプロパティを一括して設定します。

形式1では，要素のアクセス対象のターゲットオブジェクトであるリンクオブジェクトのプロパティを，指定したプロパティ値集合で設定します。形式2および形式3では，要素のアクセス対象のターゲットオブジェクトであるリンクオブジェクトのプロパティを，各要素のリンクProxyオブジェクトに設定されたプロパティ値集合で設定します。形式3では，リンクProxyオブジェクトに設定されているプロパティのうち，ターゲットオブジェクトであるリンクオブジェクトに反映するプロパティを限定して指定できます。

(2)　形式

(a)　形式1

void writeProperties(
    DbjPropSet     propSet
)

(b)　形式2

void writeProperties()

(c)　形式3

void writeProperties(
   Collection<String>     propdef
)

(3)　引数

propSet（入力）

リンクオブジェクトに設定するリンクプロパティ値集合を指定します。nullを指定すると例外がスローされます。

propDefs（入力）

要素はリンクプロパティ名（String型）です。リンクオブジェクトに設定する対象のプロパティ値集合を指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propSet，またはpropDefsがnullの場合

6.4　DbjObjインターフェース

DbjObjインターフェースは，一つの文書管理オブジェクトへのアクセスを扱います。このインターフェースは，Proxyオブジェクトを通じて一つの文書管理オブジェクトにアクセスするメソッドを提供します。

以降，DbjObjインターフェースのメソッドについて説明します。

＜この節の構成＞

6.4.1　addRendition（レンディションの追加）

6.4.2　bindPublicACL（パブリックACLのバインド）

6.4.3　changeMasterRendition（マスタレンディションの変更）

6.4.4　cancelCheckOut（バージョン付きオブジェクトのチェックアウトの取り消し）

6.4.5　checkIn（バージョン付きオブジェクトのチェックイン）

6.4.6　checkOut（バージョン付きオブジェクトのチェックアウト）

6.4.7　convertContentType（コンテンツ種別の変換）

6.4.8　deleteRendition（レンディションの削除）

6.4.9　deleteVersion（バージョンの削除）

6.4.10　downloadContents（文書のコンテンツのダウンロード）

6.4.11　getBindObjectList（パブリックACLにバインドしている文書管理オブジェクト一覧の取得）

6.4.12　getCheckOutStatus（バージョン付きオブジェクトのチェックアウト状態の取得）

6.4.13　getChildList（フォルダのリンク先オブジェクト（下位オブジェクト）の取得）

6.4.14　getClassName（アクセス対象文書管理オブジェクトを構成するDocumentBrokerクラス名の取得）

6.4.15　getDCRParent（直接型リンクによるリンク元オブジェクトの取得）

6.4.16　getLockType（Proxyオブジェクトのアクセスロック種別の取得）

6.4.17　getObjType（アクセス対象文書管理オブジェクトのオブジェクト種別の取得）

6.4.18　getOiid（アクセス対象文書管理オブジェクトのOIIDの取得）

6.4.19　getParentList（フォルダのリンク元オブジェクトの取得）

6.4.20　getPublicACLList（バインドしているパブリックACL一覧の取得）

6.4.21　getRelList（文書間リンク一覧の取得）

6.4.22　getRenditionList（レンディション情報一覧の取得）

6.4.23　getTargetVersion（アクセス対象ターゲットバージョンのバージョン識別子の取得）

6.4.24　getVersionId（バージョンオブジェクトのバージョン識別子の取得）

6.4.25　getVersioningInfo（バージョン付きオブジェクトのバージョニングオブジェクトの取得）

6.4.26　getVersionObjList（バージョン付きオブジェクトのバージョン一覧の取得）

6.4.27　link（リンク先オブジェクトとのリンク）

6.4.28　lock（アクセスロック種別の異なる文書管理オブジェクトインターフェースの取得）

6.4.29　move（直接型リンクが設定されている文書管理オブジェクトの移動）

6.4.30　propSet（Proxyオブジェクトのプロパティ値集合インターフェースの取得）

6.4.31　readProperties（文書管理オブジェクトのプロパティ値の読み込み）

6.4.32　removeObject（文書管理オブジェクトの削除）

6.4.33　setPropSet（Proxyオブジェクトのプロパティ値集合の設定）

6.4.34　setTargetVersion（アクセス対象ターゲットバージョンのバージョン識別子の変更）

6.4.35　unbindPublicACL（パブリックACLのアンバインド）

6.4.36　unlink（リンク先オブジェクトとのリンクの解除）

6.4.37　unlinkByLinkId（リンク識別子の指定によるリンク先オブジェクトとのリンクの解除）

6.4.38　uploadContents（文書のコンテンツのアップロード）

6.4.39　writeProperties（文書管理オブジェクトのプロパティ値の設定）

6.4.40　writeRenditionProperties（レンディションプロパティの設定）

6.4.1　addRendition（レンディションの追加）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書にレンディションを追加します。すでに登録されているレンディションが指定された場合は，例外がスローされます。レンディションを追加できるアクセス対象の文書管理オブジェクトは，文書だけです。

(2)　形式

void addRendition(
    List<? extends DbjUploadInfo>      uploadList
)

(3)　引数

uploadList（入力）

要素はDbjUploadInfoインターフェースです。文書に登録するレンディションのファイル情報（アップロード情報）のリストを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjFileReferenceOperationFailedException

リファレンスファイル機能のコンテンツ操作でエラーが発生した場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定レンディションプロパティ値が不正の場合

DbjIOException

DocumentBrokerクラスライブラリ固有のIOエラーの場合

DbjMasterRenditionNotSetException

マスタレンディションのレンディションタイプが設定されていなかった場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjRenditionCountOutOfRangeException

レンディション数が範囲を超えた場合

DbjRenditionTypeDuplicatedException

指定レンディションタイプが重複していた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

レンディションタイプが不正の場合

NullPointerException

引数uploadListがnullの場合

6.4.2　bindPublicACL（パブリックACLのバインド）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトに，指定したパブリックACLをバインドします。ただし，Proxyオブジェクトのアクセス対象の文書管理オブジェクトには，パブリックACLを指定しないでください。

(2)　形式

void bindPublicACL(
    List<DbjObj>     publicACLList
)

(3)　引数

publicACLIdList（入力）

要素はDbjObjインターフェースです。各要素には，バインドするパブリックACLのリストを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

ClassCastException

引数publicACLListの要素がDbjObjインターフェースでなかった場合

DbjAccessControlException

アクセス権エラーの場合

DbjAccessControlNotSupportedException

アクセス制御機能に対応していない文書空間だった場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLAlreadyBoundException

指定パブリックACLはすでにバインドされていた場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

パブリックACL数が制限を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数publicACLIdListがnullの場合

6.4.3　changeMasterRendition（マスタレンディションの変更）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書のマスタレンディションを，指定したレンディションタイプのレンディションに変更します。マスタレンディションを変更できるターゲットオブジェクトは，文書だけです。

(2)　形式

void changeMasterRendition(
    String       renditionType
)

(3)　引数

renditionType（入力）

マスタレンディションに変更するレンディションタイプを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIsMasterRenditionException

すでにマスタレンディションだった場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjRenditionIsEmptyException

レンディションが空の場合

DbjRenditionNotConvertedException

指定レンディションが変換されていなかった場合

DbjRenditionNotFoundException

指定レンディションが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていない

NullPointerException

引数renditionTypeがnullの場合

6.4.4　cancelCheckOut（バージョン付きオブジェクトのチェックアウトの取り消し）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象であるバージョン付きオブジェクトのチェックアウトを取り消します。チェックアウトを取り消すことができるターゲットオブジェクトは，バージョン付きオブジェクトだけです。

形式1および形式2では，取り消しと同時にProxyオブジェクトに設定されているプロパティ値が，カレントバージョンのプロパティに設定されます。形式2では，設定するプロパティを限定できます（指定したプロパティだけが設定対象になります）。形式3では，Proxyオブジェクトのものに関係なく，指定したプロパティ値集合がカレントバージョンのプロパティを対象として設定されます。Proxyオブジェクトのターゲットバージョン識別子のプロパティは，カレントバージョン（null）になります。

(2)　形式

(a)　形式1

void cancelCheckOut()

(b)　形式2

void cancelCheckOut(
    Collection<String>     propDefs
)

(c)　形式3

void cancelCheckOut(
    DbjPropSet     propSet
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。チェックアウトの取り消し後のカレントバージョンを対象としたバージョン付きオブジェクトに設定するProxyオブジェクトのプロパティとして，どのプロパティを設定するかを指定します。nullを指定するとプロパティを設定しません。

propSet（入力）

チェックアウトの取り消し後のカレントバージョンを対象としたバージョン付きオブジェクトに設定するプロパティ値集合を指定します。nullを指定するとプロパティを設定しません。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjNotCheckOutException

チェックアウトしていなかった場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propSetがnullの場合

6.4.5　checkIn（バージョン付きオブジェクトのチェックイン）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象のバージョン付きオブジェクトをチェックインします。チェックインできるターゲットオブジェクトは，バージョン付きオブジェクトだけです。

形式1および形式2では，チェックインと同時にProxyオブジェクトに設定されているプロパティ値集合が，チェックイン後のカレントバージョンを対象としてプロパティに設定されます。形式2では，設定するプロパティを限定できます（指定したプロパティだけが設定の対象になります）。形式3では，Proxyオブジェクトのものに関係なく，指定したプロパティ値集合がカレントバージョンを対象として設定されます。Proxyオブジェクトのターゲットバージョン識別子のプロパティは，新しいカレントバージョン（null）になります。

(2)　形式

(a)　形式1

void checkIn()

(b)　形式2

void checkIn(
    Collection<String>     propDefs
)

(c)　形式3

void checkIn(
    DbjPropSet     propSet
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。チェックイン後のカレントバージョンを対象としたバージョン付きオブジェクトに設定するProxyオブジェクトのプロパティとして，どのプロパティを設定するかを指定します。nullを指定するとプロパティは設定されません。

propSet（入力）

チェックイン後のカレントバージョンを対象とした，バージョン付きオブジェクトに設定するプロパティ値集合を指定します。nullを指定するとプロパティは設定されません。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjNotCheckOutException

チェックアウトしていなかった場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propSetがnullの場合

6.4.6　checkOut（バージョン付きオブジェクトのチェックアウト）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象のバージョン付きオブジェクトをチェックアウトします。チェックアウトによって，チェックアウト中の仮のバージョン識別子を取得します。チェックアウトできるターゲットオブジェクトは，バージョン付きオブジェクトだけです。

形式1および形式2では，チェックアウトと同時にProxyオブジェクトに設定されているプロパティ値集合がチェックアウト中の仮のバージョンを対象としてプロパティに設定されます。形式2では，設定するプロパティを限定できます（指定したプロパティだけが，プロパティ設定の対象になります）。形式3では，Proxyオブジェクトのものに関係なく，指定したプロパティ値集合が仮のバージョンを対象として設定されます。また，Proxyオブジェクトのターゲットバージョン識別子のプロパティは，チェックアウト中のバージョンを指します。

(2)　形式

(a)　形式1

void checkOut()

(b)　形式2

void checkOut(
    Collection<String>     propDefs
)

(c)　形式3

void checkOut(
    DbjPropSet     propSet
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。チェックアウト後の仮のバージョンオブジェクトを対象としたバージョン付きオブジェクトに設定するProxyオブジェクトのプロパティとして，どのプロパティを設定するかを指定します。nullを指定するとプロパティは設定されません。

propSet（入力）

チェックアウト後の仮のバージョンオブジェクトを対象としたバージョン付きオブジェクトに設定するプロパティ値集合を指定します。nullを指定するとプロパティは設定されません。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjAlreadyCheckOutException

すでにチェックアウトしている場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有エラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propSetがnullの場合

6.4.7　convertContentType（コンテンツ種別の変換）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定されたコンテンツの格納先（コンテンツ種別）を変換します。コンテンツ種別を変換できるターゲットオブジェクトは，文書だけです。

(2)　形式

void convertContentType(
     DbjConvertContentInfo        convertInfo
)

(3)　引数

convertInfo（入力）

コンテンツ種別の変換情報を指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjConvertContentTargetNotFoundException

変換対象のコンテンツが存在しなかった場合

DbjContentNotRegisteredException

リファレンスファイル管理機能を使用したオブジェクトをローカルファイルにダウンロードする場合に，オブジェクトにコンテンツが登録されていなかったとき

DbjContentTypeMismatchException

リファレンスファイル管理機能で，オブジェクトのコンテンツ種別とメソッドが要求するコンテンツ種別が一致しない場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有エラーの場合

DbjFileReferenceOperationFailedException

リファレンスファイル管理機能を使用するサーバでのコンテンツ操作が失敗した場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切な場合

DbjIOException

DocumentBrokerクラスライブラリ固有のIOエラーの場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjRenditionCountOutOfRangeException

レンディション数が範囲を超えた場合

DbjRenditionTypeDuplicatedException

指定レンディションタイプが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

DbjTargetContentPathNotSetException

リファレンスファイル管理機能で，コンテンツ格納先ベースパスが設定されていなかった場合

IllegalArguemntException

指定した引数が不正の場合

NullPointerException

引数convertInfoがnullの場合

6.4.8　deleteRendition（レンディションの削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書から指定したレンディションタイプのレンディションを削除します。レンディションの削除によって，存在しなかったレンディションタイプのリストが返却されます。レンディションを削除できるターゲットオブジェクトは，文書だけです。

(2)　形式

List deleteRendition(
    List<String>       renditionTypeList
)

(3)　引数

renditionTypeList（入力）

要素には，削除するレンディションタイプ（String型）のリストを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

すでに削除されていたレンディションタイプ（String型）のリスト

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIsMasterRenditionException

マスタレンディションを削除しようとした場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数renditionTypeListがnullの場合

6.4.9　deleteVersion（バージョンの削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象のバージョン付きオブジェクトから指定した複数のバージョンを削除します。バージョンを削除できるターゲットオブジェクトは，文書だけです。ただし，複数のバージョンを削除する場合，１バージョンは残す必要があります。もし，すべてのバージョンを指定した場合は，例外がスローされます。バージョンの削除によって，すでに削除されていたバージョンなど，削除されなかったバージョンのバージョン識別子のリストが返却されます。

(2)　形式

List deleteVersion(
    List<String>    versionIds
)

(3)　引数

versionIds（入力）

要素には，削除するバージョンのバージョン識別子（String型）のリストを指定します。バージョン識別子にnullを指定するとカレントバージョンになります。バージョン識別子が重複していてもエラーにはなりません。nullを指定すると例外がスローされます。

(4)　戻り値

すでに削除されていたオブジェクトのバージョンのバージョン識別子（String型）のリスト

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjLastVersionException

最後のバージョンを削除しようとした場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数versionIdsがnullの場合

6.4.10　downloadContents（文書のコンテンツのダウンロード）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書のコンテンツをダウンロードします。

形式1では，レンディションタイプを指定した文書のコンテンツを，指定したローカルファイルにダウンロードします。リファレンスファイル文書に対しては実行できません。リファレンスファイル文書に対して実行した場合は，DbjException例外がスローされます。形式2では，リファレンスファイル文書のコンテンツを指定したパスにダウンロードします。リファレンスファイル文書に対してだけ実行できます。リファレンスファイル文書以外にこのメソッドを実行した場合はDbjContentTypeMismatchException例外がスローされます。形式3では，指定したレンディションタイプの文書のコンテンツを一時ディレクトリ下の一時ファイルにダウンロードします。DbjContentInfo#getInputStreamの呼び出しにより入力ストリームで取得することができます。リファレンスファイル文書に対しても実行できます。形式3を使用する場合，文書空間構成定義ファイルのTempDirectoryプロパティを指定してください。指定されたディレクトリ下に一時ファイルを作成します。作成した一時ファイルは，DbjContentInfo#close()メソッド実行時またはDbjSession#logout()メソッド実行時に削除されます。

(2)　形式

(a)　形式1

DbjContentInfo downloadContents(
    String     renditionType,
    String     filePath
)

(b)　形式2

DbjReferenceContentInfo downloadContents(
    String                     renditionType,
    DbjReferencePathInfo       pathInfo
)

(c)　形式3

DbjContentInfo downloadContents(
    String     renditionType,
)

(3)　引数

renditionType（入力）

レンディションタイプを指定します。nullを指定するとマスタレンディションが仮定されます。

filePath（入力）

ダウンロード先のパス名（ローカルファイル，およびファイル名を含みます）を指定します。nullを指定すると例外がスローされます。

pathInfo（入力）

ダウンロード先の情報を指定します。nullを指定すると例外がスローされます。

(4)　戻り値

形式1，形式3の場合

コンテンツ情報（DbjContentInfoインターフェース）

形式2の場合

リファレンスファイル機能用のコンテンツ情報（DbjReferenceContentInfoインタフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIOException

DocumentBrokerクラスライブラリ固有のIOエラーの場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjRenditionNotFoundException

指定レンディションが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

DbjContentTypeMismatchException

このメソッドでは操作できないコンテントを対象に実行した場合

DbjFileReferenceOperationFailedException

リファレンスファイル機能を使用するサーバのコンテント操作においてエラーが発生した場合

DbjTargetContentPathNotSetException

リファレンスファイル機能において相対パスのベースとなるパスが設定されていない場合

DbjContentNotRegisteredException

コンテンツが登録されていない場合

NullPointerException

引数filePathまたは引数pathInfoがnullの場合

6.4.11　getBindObjectList（パブリックACLにバインドしている文書管理オブジェクト一覧の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象のパブリックACLにバインドされている文書管理オブジェクトの一覧情報を取得します。一覧情報を取得できるターゲットオブジェクトは，パブリックACLだけです。取得対象とするオブジェクトのオブジェクト種別を指定できます。

バージョン付きオブジェクトが取得対象のオブジェクトに含まれる場合は，バージョニングオブジェクトのプロパティだけ取得でき，バージョンオブジェクトのプロパティは取得できません。

(2)　形式

DbjObjList getBindObjectList(
    Collection<String>      propDefs,
    int                     objType,
    DbjFetchInfo            fetchInfo
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。一覧で取得するオブジェクトのプロパティ名のコレクションを指定します。取得するプロパティがない場合はnullを指定します。

objType（入力）

一覧で取得するオブジェクトのオブジェクト種別を指定します。次に示す定数のどれかを指定できます。なお，論理和を使用した指定もできます。

DbjDef.OBJTYPE_FOLDER
バージョンなしフォルダ

DbjDef.OBJTYPE_DOC
バージョンなし文書

DbjDef.OBJTYPE_VRDOC
バージョン付き文書

DbjDef.OBJTYPE_IP
独立データ

DbjDef.OBJTYPE_ANY
任意のオブジェクト種別

fetchInfo（入出力）

一覧で取得する場合の検索結果取得情報を指定します。全件を取得する場合，またはキャッシュ検索しない場合はnullを指定します。全件を取得しない場合，maxFetchCountプロパティに指定されている件数を取得した後に，comparatorプロパティに指定したコンパレータによりソートされます。そのため，全件を取得する場合と，maxFetchCountプロパティを指定して検索した場合を比較すると，comparatorプロパティに同じオブジェクトを指定しても結果が異なる場合があります。

(4)　戻り値

バインドしているオブジェクト一覧情報（DbjObjListインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjAccessControlNotSupportedException

アクセス制御機能に対応していない文書だった場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalCacheStartIndexException

検索結果数より大きい値を引数fetchInfo（DbjFetchInfoインターフェース）のstartIndexプロパティに指定した場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数fetchInfoの指定が不正の場合

6.4.12　getCheckOutStatus（バージョン付きオブジェクトのチェックアウト状態の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象のバージョン付きオブジェクトのチェックアウト状態を取得します。DbjCheckOutInfoインターフェースを使用して，チェックアウト状態，チェックアウトしているユーザ識別子，チェックアウトしている仮のバージョンのバージョン識別子などを取得できます。チェックアウト状態を取得できるターゲットオブジェクトは，バージョン付きオブジェクトだけです。

(2)　形式

DbjCheckOutInfo getCheckOutStatus()

(3)　引数

なし

(4)　戻り値

チェックアウト情報（DbjCheckOutInfoインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.4.13　getChildList（フォルダのリンク先オブジェクト（下位オブジェクト）の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象のフォルダにリンクが設定されているリンク先オブジェクト（下位オブジェクト）の一覧情報を取得します。取得対象とするリンク種別とリンク先オブジェクトのオブジェクト種別を指定できます。

ユーザアプリケーションプログラムの取得対象のオブジェクトに，リンク種別として直接型リンクまたは参照型リンクを指定し，バージョン付きオブジェクトが含まれる場合について説明します。この場合，取得対象のオブジェクトがバージョニングオブジェクトのときは，バージョニングオブジェクトのプロパティだけ取得でき，バージョンオブジェクトのプロパティは取得できません。また，取得対象のオブジェクトがバージョニングオブジェクトを構成するバージョンオブジェクトのときは，バージョンオブジェクトのプロパティだけ取得できます。ただし，プロパティの指定には＠プレフィックスを付けないで指定します。

(2)　形式

DbjLinkObjList getChildList(
    Collection<String>    propDefs,
    Collection<String>    linkPropDefs,
    int                   linkType,
    int                   objType,
    DbjFetchInfo          fetchInfo
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。一覧で取得するリンク先オブジェクトのプロパティ名のコレクションを指定します。取得するプロパティがない場合はnullを指定します。

linkPropDefs（入力）

要素はプロパティ名(String型)です。一覧で取得するリンクプロパティ名のコレクションを指定します。取得するリンクプロパティがない場合はnullを指定します。

linkType（入力）

リンク種別を指定します。次に示す定数のどれかを指定できます。なお，論理和を使用した指定もできます。

DbjDef.LINK_DCR
直接型リンク

DbjDef.LINK_RCR
参照型リンク

DbjDef.LINK_DCR | DbjDef.LINK_RCR
直接型リンクまたは参照型リンク

objType（入力）

一覧で取得するリンク先オブジェクトのオブジェクト種別を指定します。次に示す定数のどれかを指定できます。なお，論理和を使用した指定もできます。

DbjDef.OBJTYPE_FOLDER
バージョンなしフォルダ

DbjDef.OBJTYPE_DOC
バージョンなし文書

DbjDef.OBJTYPE_VRDOC
バージョン付き文書

DbjDef.OBJTYPE_ANY
任意のオブジェクト種別

fetchInfo（入出力）

一覧で取得する場合の検索結果取得情報を指定します。全件を取得する場合，またはキャッシュ検索をしない場合はnullを指定します。

全件を取得しない場合，maxFetchCountプロパティに指定されている件数を取得した後に，comparatorプロパティに指定したコンパレータによりソートされます。そのため，全件を取得する場合と，maxFetchCountプロパティを指定して検索した場合を比較すると，comparatorプロパティに同じオブジェクトを指定しても結果が異なる場合があります。

(4)　戻り値

リンクオブジェクト一覧情報（DbjLinkObjListインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalCacheStartIndexException

検索結果数より大きい値を引数fetchInfo（DbjFetchInfoインターフェース）のstartIndexプロパティに指定した場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数linkType，fetchInfoの指定が不正の場合

6.4.14　getClassName（アクセス対象文書管理オブジェクトを構成するDocumentBrokerクラス名の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトのDocumentBrokerクラス名を取得します。

バージョンオブジェクトについては，バージョニングオブジェクトおよびバージョンオブジェクトを構成する二つのDocumentBrokerクラスのクラス名をこの順に返し，このほかのオブジェクトについては一つのDocumentBrokerクラスのクラス名を返します。ただし，バージョン付きオブジェクトに対しては，アクセス権エラーが発生するおそれがあります。

(2)　形式

List<String> getClassName()

(3)　引数

なし

(4)　戻り値

要素をDocumentBrokerクラスのクラス名（String型）とするリストインターフェース

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.4.15　getDCRParent（直接型リンクによるリンク元オブジェクトの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象のフォルダに直接型リンクが設定されているリンク元（上位）オブジェクトの情報を取得します。リンク元オブジェクトがない場合は，nullが返却されます。リンクオブジェクトについての情報（リンク識別子）は取得できません。

(2)　形式

DbjObj getDCRParent(
    Collection<String>    propDefs
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。取得するリンク元オブジェクトのプロパティ名のコレクションを指定します。取得するプロパティがない場合はnullを指定します。

(4)　戻り値

リンク元のリンクオブジェクト（DbjObjインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.4.16　getLockType（Proxyオブジェクトのアクセスロック種別の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトにアクセスする場合のロック種別（Proxyオブジェクトのアクセスロック種別のプロパティ）を取得します。取得するロック種別は，参照系メソッドによって取得するロック種別です。

(2)　形式

int getLockType()

(3)　引数

なし

(4)　戻り値

次のどちらかのロック種別を取得します。

DbjDef.LOCK_READ

readロックを取得します。

DbjDef.LOCK_WRITE

writeロックを取得します。

(5)　例外

なし

6.4.17　getObjType（アクセス対象文書管理オブジェクトのオブジェクト種別の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのオブジェクト種別を取得します。

(2)　形式

int getObjType()

(3)　引数

なし

(4)　戻り値

次のどれかのオブジェクト種別が返却されます。

DbjDef.OBJTYPE_DOC

バージョンなし文書です。

DbjDef.OBJTYPE_FOLDER

バージョンなしフォルダです。

DbjDef.OBJTYPE_VRDOC

バージョン付き文書です。

DbjDef.OBJTYPE_IP

独立データです。

DbjDef.OBJTYPE_PUBLICACL

パブリックACLです。

(5)　例外

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.4.18　getOiid（アクセス対象文書管理オブジェクトのOIIDの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのOIIDを取得します。

(2)　形式

String getOiid()

(3)　引数

なし

(4)　戻り値

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのOIID文字列（String型）

(5)　例外

なし

6.4.19　getParentList（フォルダのリンク元オブジェクトの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象のフォルダにリンクが設定されているリンク元オブジェクトの一覧情報を取得します。取得対象のリンク種別およびリンク元オブジェクトのオブジェクト種別を指定できます。

(2)　形式

DbjLinkObjList getParentList(
    Collection<String>       propDefs,
    Collection<String>       linkPropDefs,
    int                      linkType,
    int                      objType,
    DbjFetchInfo             fetchInfo
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。一覧で取得するリンク元オブジェクトのプロパティ名のコレクションを指定します。取得するプロパティがない場合はnullを指定します。

linkPropDefs（入力）

要素はプロパティ名（String型）です。一覧で取得するリンクプロパティ名のコレクションを指定します。取得するリンクプロパティがない場合はnullを指定します。

linkType（入力）

リンク種別を指定します。次に示す定数のどれかを指定できます。

DbjDef.LINK_DCR
直接型リンク

DbjDef.LINK_RCR
参照型リンク

DbjDef.LINK_DCR | DbjDef.LINK_RCR
直接型リンクまたは参照型リンク

objType（入力）

一覧で取得するリンク先オブジェクトのオブジェクト種別を指定します。次に示す定数のどれかを指定できます。なお，論理和を使用した指定もできます。

DbjDef.OBJTYPE_FOLDER
バージョンなしフォルダ

DbjDef.OBJTYPE_ANY
任意のオブジェクト種別

fetchInfo（入出力）

一覧で取得する場合の検索結果取得情報を指定します。全件を取得する場合，またはキャッシュ検索をしない場合はnullを指定します。全件を取得しない場合，maxFetchCountプロパティに指定されている件数を取得した後に，comparatorプロパティに指定したコンパレータによりソートされます。そのため，全件を取得する場合と，maxFetchCountプロパティを指定して検索した場合を比較すると，comparatorプロパティに同じオブジェクトを指定しても結果が異なる場合があります。

(4)　戻り値

リンクオブジェクト一覧情報（DbjLinkObjListインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalCacheStartIndexException

検索結果数より大きい値を引数fetchInfo（DbjFetchInfoインターフェース）のstartIndexプロパティに指定した場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数linkType，fetchInfoの指定が不正の場合

6.4.20　getPublicACLList（バインドしているパブリックACL一覧の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトがバインドしているパブリックACLの一覧情報を取得します。ただし，Proxyオブジェクトのアクセス対象の文書管理オブジェクトには，パブリックACLを指定しないでください。

(2)　形式

DbjObjList getPublicACLList(
    Collection<String>     propDefs
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。一覧で取得するパブリックACLのプロパティ名のコレクションを指定します。取得するプロパティがない場合はnullを指定します。

(4)　戻り値

バインドしているパブリックACL一覧情報（DbjObjListインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjAccessControlNotSupportedException

アクセス制御機能に対応していない文書空間だった場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.4.21　getRelList（文書間リンク一覧の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書に文書間リンクが設定されている文書の一覧情報を取得します。一覧情報を取得できるターゲットオブジェクトは，文書だけです。この場合，取得対象とするオブジェクトのオブジェクト種別を指定できます。また，引数（relationendType）の指定によって，取得するオブジェクトの情報をフィルタリングできます。

(2)　形式

DbjLinkObjList getRelList(
    Collection<String>     propDefs,
    Collection<String>     linkPropDefs,
    int                    relationendType,
    int                    objType,
    DbjFetchInfo           fetchInfo
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。一覧で取得するリンク先オブジェクトのプロパティ名集合を指定します。取得するプロパティがない場合はnullを指定します。

linkPropDefs（入力）

要素はプロパティ名（String型）です。一覧で取得するリンクプロパティ名集合を指定します。取得するリンクプロパティがない場合はnullを指定します。

relationendType（入力）

取得するオブジェクトの条件を指定します。次に示す定数のどれかを指定できます。RELATIONEND_STATUS定数を指定しない場合は，リンク先のオブジェクトはすべて取得します。なお，DbjDef.RELATIONEND_HEADまたはDbjDef.RELATIONEND_TAILのどちらか一つは，必ず指定してください。

DbjDef.RELATIONEND_HEAD
リンク先オブジェクトを取得します。RELATIONEND_TAILと同時に指定できません。

DbjDef.RELATIONEND_TAIL
リンク元オブジェクトを取得します。RELATIONEND_HEADと同時に指定できません。

DbjDef.RELATIONEND_STATUS_EXIST
リンク先オブジェクトがあるオブジェクトを取得します。

DbjDef.RELATIONEND_STATUS_NOT_EXIST
リンク先オブジェクトが削除されて存在しないオブジェクトを取得します。

objType（入力）

一覧で取得するリンク元またはリンク先オブジェクトのオブジェクト種別を指定します。次に示す定数のどれかを指定できます。なお，論理和を使用した指定もできます。

DbjDef.OBJTYPE_DOC
バージョンなし文書

DbjDef.OBJTYPE_VRDOC
バージョン付き文書

DbjDef.OBJTYPE_ANY
任意のオブジェクト種別

fetchInfo（入出力）

一覧で取得する場合の検索結果取得情報を指定します。全件を取得する場合，またはキャッシュ検索をしない場合はnullを指定します。全件を取得しない場合，maxFetchCountプロパティに指定されている件数を取得した後に，comparatorプロパティに指定したコンパレータによりソートされます。そのため，全件を取得する場合と，maxFetchCountプロパティを指定して検索した場合を比較すると，comparatorプロパティに同じオブジェクトを指定しても結果が異なる場合があります。

(4)　戻り値

リンクオブジェクト一覧情報（DbjLinkObjListインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalCacheStartIndexException

検索結果数より大きい値を引数fetchInfo（DbjFetchInfoインターフェース）のstartIndexプロパティに指定した場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数fetchInfoの指定が不正の場合

6.4.22　getRenditionList（レンディション情報一覧の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書が保持するレンディション情報の一覧をすべて取得します。レンディション情報を取得できるアクセス対象の文書管理オブジェクトは，文書だけです。

(2)　形式

DbjRenditionList getRenditionList(
    Collection<String>     propDefs
)

(3)　引数

propDefs（入力）

要素はレンディションプロパティ名（String型）です。一覧で取得するレンディションのプロパティ名のコレクションを指定します。取得するレンディションプロパティがない場合はnullを指定します。次に示すプロパティを指定できます。

dbrProp_RetrievalNameプロパティ

dbrProp_RenditionStatusプロパティ

dbrProp_ContentTypeプロパティ

dbrProp_ContentLocationプロパティ

dbrProp_ReferenceTypeプロパティ

(4)　戻り値

レンディション一覧情報（DbjRenditionListインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.4.23　getTargetVersion（アクセス対象ターゲットバージョンのバージョン識別子の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのバージョンのバージョン識別子を取得します。

(2)　形式

String getTargetVersion()

(3)　引数

なし

(4)　戻り値

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのバージョンのバージョン識別子（String型）が返却されます。なお，カレントバージョンの場合は，nullが返却されることがあります。

(5)　例外

なし

6.4.24　getVersionId（バージョンオブジェクトのバージョン識別子の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象オブジェクトがバージョン付きオブジェクトのバージョンオブジェクトの場合，そのバージョン識別子を取得します。アクセス対象の文書管理オブジェクトがバージョンオブジェクトでない場合は，nullが返却されます。

(2)　形式

String getVersionId()

(3)　引数

なし

(4)　戻り値

バージョンオブジェクトのバージョン識別子（String型）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.4.25　getVersioningInfo（バージョン付きオブジェクトのバージョニングオブジェクトの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトがバージョン付きオブジェクトの場合，このバージョンオブジェクトに対応するバージョニングオブジェクトのProxyオブジェクトインターフェース（DbjObjインターフェース）を取得します。該当するバージョンのバージョン識別子は，そのProxyオブジェクトインターフェースのDbjObj#getTargetVersionメソッドで取得できます。したがって，取得したDbjObjインターフェースが指すProxyオブジェクトの対象バージョンは，Proxyオブジェクトのバージョン識別子を示します。

アクセス対象の文書管理オブジェクトがバージョンオブジェクトでない場合，nullが返却されます。

(2)　形式

DbjObj getVersioningInfo()

(3)　引数

なし

(4)　戻り値

バージョン付きオブジェクトのProxyオブジェクトインターフェース（DbjObjインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.4.26　getVersionObjList（バージョン付きオブジェクトのバージョン一覧の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象であるバージョン付きオブジェクトのバージョンオブジェクトの一覧情報を取得します。一覧情報を取得するアクセス対象の文書管理オブジェクトは，バージョン付きオブジェクトだけです。取得対象のバージョンオブジェクトから取得するプロパティを指定できます。また，一覧で取得するバージョンオブジェクトの並べ方を指定できます。

(2)　形式

DbjVerObjList getVersionObjList(
    Collection<String>     propDefs,
    int                    order,
    DbjFetchInfo           fetchInfo
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。一覧で取得するバージョンオブジェクトのプロパティ名のコレクションを指定します。取得するプロパティがない場合はnullを指定します。

dmaProp_OIIDプロパティを指定しない場合，dmaProp_OIIDプロパティが自動的に追加されるものとみなします。

order（入力）

一覧で取得する場合の並べ方を指定します。次の定数のどれかを指定できます。

DbjDef.ORDER_ASC
古い順でソートする

DbjDef.ORDER_DESC
新しい順でソートする

DbjDef.ORDER_NONE
ソート方法を指定しない

fetchInfo（入出力）

一覧で取得する場合の検索結果取得情報を指定します。全件を取得する場合，またはキャッシュ検索をしない場合はnullを指定します。

キャッシュ検索するとcacheKeyプロパティとcacheTotalプロパティがAPIによって設定されます。全件を取得しない場合，maxFetchCountプロパティに指定されている件数を取得した後に，comparatorプロパティに指定したコンパレータによりソートされます。そのため，全件を取得する場合と，maxFetchCountプロパティを指定して検索した場合を比較すると，comparatorプロパティに同じオブジェクトを指定しても結果が異なる場合があります。

(4)　戻り値

バージョンオブジェクトの一覧情報（DbjVerObjListインターフェース）

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalCacheStartIndexException

検索結果数より大きい値を引数fetchInfo（DbjFetchInfoインターフェース）のstartIndexプロパティに指定した場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数fetchInfoの指定が不正の場合

6.4.27　link（リンク先オブジェクトとのリンク）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象オブジェクトのリンク元オブジェクトに，指定した複数のリンク先オブジェクトとのリンクを設定します。

形式1では，DbjSetLinkInfoインターフェースを要素とするリストオブジェクトで，リンク先オブジェクトとリンク種別を指定します。この場合，リンク先オブジェクトごとにリンク種別を選択できます。形式2では，リンク種別は一つだけ選択でき，DbjObjインターフェースのリストにリンク先オブジェクトを指定できます。

(2)　形式

(a)　形式1

void link(
    List<? extends DbjSetLinkInfo>     childLinkList
)

(b)　形式2

void link(
    int              linkType,
    List<DbjObj>     childObjs
)

(3)　引数

childLinkList（入力）

要素はDbjSetLinkInfoインターフェースのサブインターフェースです。リンクを設定するリンク先オブジェクトとそのリンクの種類のリストを指定します。nullを指定すると例外がスローされます。

linkType（入力）

リンク種別を指定します。次のどれかを指定できます。

DbjDef.LINK_DCR
直接型リンク

DbjDef.LINK_RCR
参照型リンク

DbjDef.LINK_REL
文書間リンク

childObjs（入力）

要素はDbjObjインターフェースです。リンク対象のリンク先オブジェクトのリストを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

ClassCastException

リスト引数の要素が不適切の場合

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数linkTypeが不正の場合

NullPointerException

引数childLinkList，またはchildObjsがnullの場合

6.4.28　lock（アクセスロック種別の異なる文書管理オブジェクトインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトに，指定したロック種別でロックを取得するProxyオブジェクトのインターフェース（DbjObjインターフェース）を取得します。

元のDbjObjインターフェース（this）でアクセスする際のロック種別は，変更されません。なお，引数に指定する値の妥当性は検証されません。

(2)　形式

DbjObj lock(
    int     lockType
)

(3)　引数

lockType（入力）

ロック種別を指定します。次に示す定数のどちらかを指定します。

DbjDef.LOCK_READ
readロック

DbjDef.LOCK_WRITE
writeロック

(4)　戻り値

DbjObjインターフェース（DbjObjインターフェース）

(5)　例外

なし

6.4.29　move（直接型リンクが設定されている文書管理オブジェクトの移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトに対してリンク元オブジェクトから直接型リンクが設定されている場合，そのリンクを解除して代わりに指定したリンク元フォルダオブジェクトに直接型リンクを設定します。文書管理オブジェクトに直接型リンクが設定されていない場合は，指定したリンク元フォルダに直接型リンクを設定します。文書管理オブジェクトに直接型リンク以外のリンクが設定されている場合は，そのリンクは解除されます。

(2)　形式

void move(
    DbjObj     parentFolder
)

(3)　引数

parentFolder（入力）

自オブジェクトが移動するリンク元フォルダを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数parentFolderがnullの場合

6.4.30　propSet（Proxyオブジェクトのプロパティ値集合インターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのプロパティ値集合インターフェースを取得します。プロパティ値集合インターフェースは，参照権限で取得します。取得したプロパティ値集合インターフェースを使用して値を設定するとProxyオブジェクトのプロパティ値も更新されます。ただし，メソッド実行時に，プロパティ値集合インターフェースが設定されていなくてもnullは返却されません。

(2)　形式

DbjPropSet propSet()

(3)　引数

なし

(4)　戻り値

Proxyオブジェクトのプロパティ値集合インターフェース（DbjPropSetインターフェース）

(5)　例外

なし

6.4.31　readProperties（文書管理オブジェクトのプロパティ値の読み込み）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトの指定プロパティを，Proxyオブジェクトのプロパティに読み込みます。Proxyオブジェクトに読み込まれたプロパティ値集合は，DbjObj#propSetメソッドでDbjPropSetインターフェースを取得して参照できます。読み込まれたプロパティ値集合は，Proxyオブジェクトで保持しているプロパティ値集合に上書きして追加されます。

形式1では，Proxyオブジェクトの保持しているプロパティ値集合でのすべてのプロパティを文書管理オブジェクトから読み込みます。形式2では，読み込み対象のプロパティのコレクションを指定します。

(2)　形式

(a)　形式1

void readProperties()

(b)　形式2

void readProperties(
    Collection<String>     propDefs
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。取得するプロパティのプロパティ名のコレクションを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propDefsがnullの場合

6.4.32　removeObject（文書管理オブジェクトの削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトを削除します。

形式2では，フォルダの削除の場合は直接型リンクが設定されているすべてのリンク先オブジェクトを削除します。

形式3では，リファレンスファイル管理機能を使用したオブジェクトを削除すると同時に，コンテンツを格納していたフォルダを削除できます。

なお，デッドロックを防止するため，リンク先オブジェクトを削除する場合は，リンク元オブジェクトを削除するまたはリンク元オブジェクトにwriteロックします。このメソッドの実行時に，文書管理オブジェクトが存在しない場合，例外はスローされません。

(2)　形式

(a)　形式1

boolean removeObject()

(b)　形式2

boolean removeObject(
    boolean     isAlsoChildren
)

(c)　形式3

boolean removeObject(

    DbjReferencePathInfo      pathInfo
)

(3)　引数

isAlsoChildren（入力）

リンク先オブジェクトの削除を指定します。trueの場合，リンク先オブジェクトを削除します。falseの場合，リンク先オブジェクトを削除しません。

pathInfo（入力）

リファレンスファイル管理機能を使用したオブジェクトの削除時に使用する，パス情報を設定します。nullを指定すると例外がスローされます。

(4)　戻り値

次に示す値が返却されます。

true

リンク先オブジェクトが削除されました。

false

該当する文書管理オブジェクトが存在しませんでした。

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjLastVersionException

最後のバージョンを削除しようとした場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数pathInfoがnullの場合

6.4.33　setPropSet（Proxyオブジェクトのプロパティ値集合の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのプロパティ値集合に，指定したプロパティ値集合の内容をコピーして設定します。

(2)　形式

void setPropSet(
    DbjPropSet     propSet
)

(3)　引数

propSet（入力）

プロパティ値集合インターフェースを指定します。nullを指定するとオブジェクトのプロパティ値集合には空値が仮定されます。

(4)　戻り値

なし

(5)　例外

なし

6.4.34　setTargetVersion（アクセス対象ターゲットバージョンのバージョン識別子の変更）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのバージョンのバージョン識別子を変更します。バージョン識別子の変更によって，元のDbjObjインターフェースを取得します。デフォルトでは，Proxyオブジェクトのアクセス対象のバージョンは，カレントバージョンになります。なお，バージョン識別子の妥当性は検証されません。

(2)　形式

DbjObj setTargetVersion(
    String     versionId
)

(3)　引数

versionId（入力）

変更する対象バージョンのバージョン識別子を指定します。nullを指定するとカレントバージョンに変更されます。

(4)　戻り値

元のオブジェクトインターフェース（this）

(5)　例外

なし

6.4.35　unbindPublicACL（パブリックACLのアンバインド）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象の文書管理オブジェクトから指定したパブリックACLをアンバインドします。ただし，Proxyオブジェクトがアクセスする文書管理オブジェクトには，パブリックACLを指定しないでください。

(2)　形式

void unbindPublicACL(
    List<DbjObj>     publicACLList
)

(3)　引数

publicACLIdList（入力）

要素はDbjObjインターフェースです。各要素に，アンバインドするパブリックACLを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

ClassCastException

引数publicACLListの要素がDbjObjインターフェースでなかった場合

DbjAccessControlException

アクセス権エラーの場合

DbjAccessControlNotSupportedException

接続先の文書空間がアクセス制御動作モードに対応していなかった場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotBoundException

指定パブリックACLがバインドされていない場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数publicACLIdListがnullの場合

6.4.36　unlink（リンク先オブジェクトとのリンクの解除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのリンク元オブジェクトから，指定した複数のリンク先オブジェクトとのリンクを解除します。

リンクを解除するリンク先オブジェクトは，DbjLinkObjインターフェースまたはDbjObjインターフェースを要素とするリストで指定します。DbjLinkObjインターフェースとDbjObjインターフェースを同時に指定することもできます。DbjObjインターフェースを指定した場合，そのDbjObjインターフェースが指す文書管理オブジェクトとの直接型リンク，参照型リンク，および文書間リンクがすべて解除されます。

なお，指定したリンクがすでに解除されていた場合は，そのリンクまたはリンク先オブジェクトのインターフェースを要素とするリストが戻り値として返却されます。

(2)　形式

List unlink(
    List<?>     childList
)

(3)　引数

childList（入力）

要素はDbjLinkObjインターフェースまたはDbjObjインターフェースです。

リストの要素として，リンクを解除するリンクオブジェクトのインターフェースまたはリンク先オブジェクトのインターフェースを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

すでにリンクが解除されていたインターフェースのリスト

(5)　例外

ClassCastException

リスト引数の要素が不適切の場合

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数childLinkList，またはchildObjsがnullの場合

6.4.37　unlinkByLinkId（リンク識別子の指定によるリンク先オブジェクトとのリンクの解除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのリンク元オブジェクトから複数のリンク先オブジェクトのリンク識別子を指定してリンクを解除します。なお，すでにリンクが解除されていたため，メソッドの実行によってリンクが解除されなかったリンクのリンク識別子の要素が返却されます。

(2)　形式

List unlinkByLinkId(
    List<String>    linkIds
)

(3)　引数

linkIds（入力）

要素には，解除するリンク識別子（String型）のリストを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

すでにリンクが解除されていたため，メソッドの実行によって，リンクが解除されなかったリンクのリンク識別子（String型）のリスト

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数linkIdsがnullの場合

6.4.38　uploadContents（文書のコンテンツのアップロード）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したレンディションタイプのコンテンツをアップロードして更新します。アップロードの対象になるターゲットオブジェクトは，文書だけです。

アップロード情報に指定するレンディションタイプとアップロード対象に指定するレンディションタイプに異なるレンディションを指定した場合，アップロードするコンテンツのレンディションタイプを変更できます。この場合，アップロード情報に指定したレンディションタイプがすでに文書に存在していると，例外がスローされます。アップロード情報の指定でレンディションタイプにnullを設定した場合は，レンディションタイプは変更されません。

(2)　形式

void uploadContents(
    String               renditionType,
    DbjUploadInfo        uploadInfo
)

(3)　引数

renditionType（入力）

更新対象のレンディションタイプを指定します。nullを指定するとマスタレンディションが仮定されます。

なお，全文検索インデクスを作成できるのは，nullを指定した場合だけです。null以外を指定した場合，全文検索インデクスは作成されません。

uploadInfo（入力）

文書に登録するファイルのアップロード情報を指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定レンディションプロパティ値が不正の場合

DbjIOException

DocumentBrokerクラスライブラリ固有のIOエラーの場合

DbjMasterRenditionNotSetException

マスタレンディションのレンディションタイプが設定されていなかった場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjRenditionNotFoundException

指定レンディションが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalArgumentException

引数に不正な値が指定されていた場合

NullPointerException

引数uploadInfoがnullの場合

6.4.39　writeProperties（文書管理オブジェクトのプロパティ値の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトのプロパティ値を設定します。

形式1では，Proxyオブジェクトがアクセス対象とする文書管理オブジェクトのプロパティを，指定したプロパティ値集合で設定します。この場合，Proxyオブジェクトのプロパティ値集合は無視されます。形式2および形式3では，Proxyオブジェクトに設定されているプロパティ値集合で文書管理オブジェクトのプロパティを設定します。形式2では，DbjObj#readPropertiesメソッドで読み込んだプロパティ値集合のプロパティ値を書き換えて文書管理オブジェクトのプロパティ値を更新します。形式3では，Proxyオブジェクトに設定されているプロパティのうち，文書管理オブジェクトに反映するプロパティを限定して指定できます。なお，形式3の場合，指定した引数の値によってProxyオブジェクトの保持するプロパティ値集合は変更されません。

(2)　形式

(a)　形式1

void writeProperties(
    DbjPropSet     propSet
)

(b)　形式2

void writeProperties()

(c)　形式3

void writeProperties(
    Collection<String>     propDefs
)

(3)　引数

propSet（入力）

文書管理オブジェクトに設定するプロパティ値集合を指定します。nullを指定すると例外がスローされます。

propDefs（入力）

要素はプロパティ名（String型）です。文書管理オブジェクトに設定する対象になるプロパティ値のコレクションを指定します。Proxyオブジェクトのプロパティ値のコレクションに存在しないプロパティを指定した場合は無視されます。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLが存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propSet，またはpropDefsがnullの場合

6.4.40　writeRenditionProperties（レンディションプロパティの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書の指定レンディションについて，レンディションプロパティを設定します。レンディションプロパティを設定できるターゲットオブジェクトは，文書だけです。

(2)　形式

void writeRenditionProperties(
    String              renditionType,
    DbjPropSet          propSet
)

(3)　引数

renditionType（入力）

設定対象のレンディションタイプを指定します。nullを指定するとマスタレンディションが仮定されます。

propSet（入力）

設定するレンディションのプロパティ値集合を指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjRenditionNotFoundException

指定レンディションが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propSetがnullの場合

6.5　DbjObjListインターフェース

DbjObjListインターフェースは，複数の文書管理オブジェクトに一括してアクセスするインターフェースです。要素は，DbjObjインターフェースです。

スーパーインターフェース

java.util.List

以降，DbjObjListインターフェースのメソッドについて説明します。

＜この節の構成＞

6.5.1　getObj（リスト要素の取得）

6.5.2　lock（アクセスロック種別の異なる複数文書管理オブジェクトインターフェースの取得）

6.5.3　move（直接型リンクが設定されている文書管理オブジェクトの一括移動）

6.5.4　readProperties（複数の文書管理オブジェクトプロパティ値の一括取得）

6.5.5　removeObjects（文書管理オブジェクトの一括削除）

6.5.6　setPropSet（要素のプロパティ値集合の設定）

6.5.7　writeProperties（複数の文書管理オブジェクトプロパティ値の一括設定）

6.5.1　getObj（リスト要素の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

インデクスで指定したリスト要素（DbjObjインターフェース）を取得します。

(2)　形式

DbjObj getObj(
    int     index
)

(3)　引数

index（入力）

要素のインデクスを指定します。

(4)　戻り値

DbjObjインターフェース

(5)　例外

ClassCastException

リスト要素がDbjObjインターフェースでなかった場合

IndexOutOfBoundException

指定したインデクスが不正の場合

6.5.2　lock（アクセスロック種別の異なる複数文書管理オブジェクトインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

アクセス対象の文書空間に対して，指定したアクセスロック種別のロックを保持するDbjObjListインターフェースを取得します。取得されたインターフェースには，要素の文書管理オブジェクトインターフェースのロックの指定よりも優先してロックが指定されます。なお，デフォルトでは，各要素の文書管理オブジェクトインターフェースのロック種別が有効になります。

(2)　形式

DbjObjList lock(
    int     lockType
)

(3)　引数

lockType（入力）

ロック種別として，次に示す定数のどちらかを指定します。

DbjDef.LOCK_READ
readロック

DbjDef.LOCK_WRITE
writeロック

(4)　戻り値

複数文書管理オブジェクトインターフェース（DbjObjListインターフェース）

(5)　例外

なし

6.5.3　move（直接型リンクが設定されている文書管理オブジェクトの一括移動）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リスト要素の文書管理オブジェクトに対してリンク元フォルダから直接型リンクが設定されている場合，そのリンクを解除して引数で指定したリンク元フォルダに直接型リンクを設定します。リスト要素の文書管理オブジェクトに直接型リンクが設定されていない場合は，指定したリンク元フォルダに直接型リンクを設定します。リスト要素の文書管理オブジェクトに直接型リンク以外のリンクが設定されている場合は，そのリンクは解除されます。

(2)　形式

void move(
    DbjObj     parentFolder
)

(3)　引数

parentFolder（入力）

要素オブジェクトが移動するリンク元フォルダを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalObjectTypeException

指定オブジェクト種別が不適切の場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数parentFolderがnullの場合

6.5.4　readProperties（複数の文書管理オブジェクトプロパティ値の一括取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのアクセス対象である文書管理オブジェクトの指定プロパティを，リストの各要素のProxyオブジェクトに読み込みます。リストの要素の各DbjObjインターフェースに対して，同じ形式のDbjObj#readPropertiesメソッドを実行します。

形式1では，Proxyオブジェクトの保持しているプロパティ値集合でのすべてのプロパティを文書管理オブジェクトから読み込みます。形式2では，読み込み対象のプロパティのコレクションを指定します。

(2)　形式

(a)　形式1

void readProperties()

(b)　形式2

void readProperties(
   Collection<String>     propDefs
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。取得するプロパティのプロパティ名のコレクションを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propDefsがnullの場合

6.5.5　removeObjects（文書管理オブジェクトの一括削除）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リストオブジェクトの各要素のProxyオブジェクトのアクセス対象の文書管理オブジェクトを一括して削除します。リストの要素の各DbjObjインターフェースに対して，DbjObj#removeObjectメソッドを実行します。

(2)　形式

(a)　形式1

List<DbjObj> removeObjects()

(b)　形式2

List<DbjObj> removeObjects(
    boolean       isAlsoChildren
)

(3)　引数

isAlsoChildren(入力)

リンク先の文書管理オブジェクトの削除を指定します。trueを指定すると，リンク先の文書管理オブジェクトが削除されます。この場合，直接型リンクが設定されている下位のすべての文書管理オブジェクトが削除されます。falseを指定すると，リンク先の文書管理オブジェクトは削除されません。

(4)　戻り値

削除されたリスト要素の各DbjObjインターフェースのリスト

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjLastVersionException

最後のバージョンを削除しようとした場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.5.6　setPropSet（要素のプロパティ値集合の設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

Proxyオブジェクトのプロパティ値集合の全要素に，指定したプロパティ値集合の内容をコピーして設定します。

(2)　形式

void setPropSet(
    DbjPropSet     propSet
)

(3)　引数

propSet（入力）

プロパティ値集合インターフェースを指定します。nullを指定すると，オブジェクトのプロパティ値集合には空値が仮定されます。

(4)　戻り値

なし

(5)　例外

なし

6.5.7　writeProperties（複数の文書管理オブジェクトプロパティ値の一括設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リスト要素のProxyオブジェクトのアクセス対象である文書管理オブジェクトのプロパティを一括して設定します。

形式1では，要素のアクセス対象である文書管理オブジェクトのプロパティを，指定したプロパティ値集合で設定します。この場合，要素のProxyオブジェクトのプロパティ値集合は無視されます。形式2および形式3では，要素のアクセス対象である文書管理オブジェクトのプロパティを各要素のProxyオブジェクトに設定されたプロパティ値集合で設定します。形式2では，DbjObj#readPropertiesメソッドで読み込んだプロパティ値集合のプロパティ値を書き換えて文書管理オブジェクトのプロパティ値を更新します。形式3では，Proxyオブジェクトに設定されているプロパティのうち，要素のアクセス対象である文書管理オブジェクトに反映するプロパティを限定して指定できます。なお，形式3の場合，指定した引数の値によってProxyオブジェクトの保持するプロパティ値集合は変更されません。

(2)　形式

(a)　形式1

void writeProperties(
    DbjPropSet     propSet
)

(b)　形式2

void writeProperties()

(c)　形式3

void writeProperties(
    Collection<String>     propdef
)

(3)　引数

propSet（入力）

文書管理オブジェクトに設定するプロパティ値集合を指定します。nullを指定すると例外がスローされます。

propDefs（入力）

要素はプロパティ名（String型）です。文書管理オブジェクトに設定する対象のプロパティ値のコレクションを指定します。nullを指定すると例外がスローされます。

(4)　戻り値

なし

(5)　例外

DbjAccessControlException

アクセス権エラーの場合

DbjACEOperationException

指定ACEについてのエラーの場合

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalPropValException

指定プロパティ値が不正の場合

DbjNotCheckOutException

チェックアウトされていないオブジェクトに対して仮のバージョン識別子が指定された場合

DbjObjectNotFoundException

指定オブジェクトが存在しなかった場合

DbjPublicACLNotFoundException

指定パブリックACLは存在しなかった場合

DbjPublicACLOutOfRangeException

指定パブリックACL数が範囲を超えた場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propSet，またはpropDefsがnullの場合

6.6　DbjSessionインターフェース

DbjSessionインターフェースは，DocumentBrokerクラスライブラリのセッションを扱います。DocumentBrokerクラスライブラリの一つのセッションオブジェクトは文書空間への一つの接続に対応し，その接続している期間をセッションといいます。DbjSessionインターフェースは，同時に一つのセッションのセッション管理をサポートします。ユーザアプリケーションプログラムが複数のセッションを実現するためには，複数のDbjSessionインターフェースを扱う必要があります。

以降，DbjSessionインターフェースのメソッドについて説明します。

＜この節の構成＞

6.6.1　begin（トランザクションの開始）

6.6.2　checkSession（セッションが有効かどうかのチェック）

6.6.3　commit（トランザクションの確定）

6.6.4　getLoginUserInfo（ユーザ情報の取得）

6.6.5　getReferencePath（コンテンツ格納先ベースパスの取得）

6.6.6　login（ログイン）

6.6.7　logout（ログアウト）

6.6.8　rollback（トランザクションの取り消し）

6.6.9　setReferencePath（コンテンツ格納先ベースパスの設定）

6.6.10　getConnection（JDBCコネクションの取得）

6.6.11　changeUserPrivilege（文書空間に接続中のユーザの特権変更）

6.6.1　begin（トランザクションの開始）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

トランザクションを開始します。このメソッドを二重に実行した場合は例外がスローされます。

(2)　形式

void begin()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalStateException

DbjSession#beginメソッドが二重に実行された場合

6.6.2　checkSession（セッションが有効かどうかのチェック）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

接続中の文書空間に対して有効なセッションがあるかどうかを調べます。無効なセッションを次に示します。

切断（logout）しているセッション

確立（login）していないセッション

文書空間との接続がタイムアウトしているセッション

(2)　形式

boolean checkSession()

(3)　引数

なし

(4)　戻り値

true

有効なセッションです。

false

無効なセッションです。

(5)　例外

なし

6.6.3　commit（トランザクションの確定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

トランザクションを確定します。トランザクションが開始されていない場合，例外がスローされます。

(2)　形式

void commit()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalStateException

DbjSession#beginメソッドが実行されていないのにDbjSession#commitメソッドが実行された場合

6.6.4　getLoginUserInfo（ユーザ情報の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ログインしているユーザのユーザ情報を取得します。

(2)　形式

DbjPropSet getLoginUserInfo(
    Collection<String>     propDefs
)

(3)　引数

propDefs（入力）

要素はプロパティ名（String型）です。取得したいユーザ情報プロパティのプロパティ名を指定します。

(4)　戻り値

ユーザ情報プロパティ値集合

(5)　例外

DbjAccessControlNotSupportedException

接続先の文書空間がアクセス制御動作モードに対応していなかった場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

NullPointerException

引数propDefsがnullの場合

6.6.5　getReferencePath（コンテンツ格納先ベースパスの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンスファイル管理機能を使用して，コンテンツを任意の領域に格納する場合，DbjSession#setReferencePathメソッドで設定したコンテンツ格納先ベースパスを取得します。

(2)　形式

String getReferencePath()

(3)　引数

なし

(4)　戻り値

コンテンツの格納先となるベースパス

(5)　例外

DbjSessionNotConnectException

セッションが接続されていなかった場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

6.6.6　login（ログイン）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間にログインしてセッションを確立し，同時にユーザ識別子およびパスワードの認証を実行して，文書空間インターフェース（DbjDocSpaceインターフェース）を取得します。このメソッドは，一つの文書空間にアクセスするほかのメソッドの実行前に実行する必要があります。確立しているセッションの有効期限は，DbjSession#logoutメソッドを実行するまで，または文書空間への接続をタイムアウト（DocumentBrokerで設定される）するまでです。なお，ユーザ認証の失敗，および二重のログインがあった場合は，例外がスローされます。

(2)　形式

DbjDocSpace login(
   String       userName,
   String       passWord
)

(3)　引数

userName（入力）

ログインするユーザのユーザ識別子を指定します。

passWord（入力）

ログインするユーザのパスワードを指定します。

(4)　戻り値

文書管理オブジェクトアクセスインターフェース（DbjDocSpaceインターフェース）

(5)　例外

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjIllegalDocSpaceIdException

接続先の文書空間識別子が不正の場合

DbjNotAuthenticatedException

認証エラーの場合

IllegalStateException

すでにログインしていた場合

6.6.7　logout（ログアウト）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間からログアウトしてセッションを切断します。セッションの切断によって，ログインセッション内で継続されて使用される内部データ（検索結果キャッシュなど）は消去されます。また，切断するセッションに未確定のトランザクションがある場合は，自動的にトランザクションが取り消されて最後にトランザクションが確定された状態まで戻ります。

(2)　形式

void logout()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

なし

6.6.8　rollback（トランザクションの取り消し）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

トランザクションを取り消して，最後にDbjSession#commitメソッドが実行された状態まで戻します。トランザクションが開始されていなくても正常終了します。

(2)　形式

void rollback()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

DbjDBException

DBエラーの場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

DbjSessionNotConnectException

セッションが接続されていなかった場合

6.6.9　setReferencePath（コンテンツ格納先ベースパスの設定）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

リファレンスファイル管理機能を使用して，コンテンツを任意の領域に格納する場合に，コンテンツ格納先ベースパスを設定します。

(2)　形式

void setReferencePath( String referencePath )

(3)　引数

referencePath（入力）

リファレンスファイル管理機能で，コンテンツの格納先となるベースパスを指定します。

(4)　戻り値

なし

(5)　例外

DbjSessionNotConnectException

セッションが接続されていなかった場合

DbjException

DocumentBrokerクラスライブラリ固有のエラーの場合

6.6.10　getConnection（JDBCコネクションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ユーザプログラムで扱うデータとDocumentBrokerが扱うデータの同期をとるために，トランザクションを開始しているJDBCコネクションを取得します。トランザクションをコミットまたはロールバックする場合，DbjSession#commitまたはDbjSession#rollbackメソッドを経由して行ってください。なお，ユーザプログラムで，このコネクションを使用してDocumentBrokerが提供しているテーブルを操作しないでください。

(2)　形式

java.sql.Connection getConnection()

(3)　引数

なし

(4)　戻り値

JDBCコネクション

(5)　例外

DbjSessionNotConnectException

セッションが接続されていなかった場合

IllegalStateException

beginされていないのに呼び出された場合

6.6.11　changeUserPrivilege（文書空間に接続中のユーザの特権変更）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定した特権の種別に従って，文書空間に接続中のユーザの特権を変更します。このメソッドを使用することで，クラスライブラリを使用した一連の処理中に，任意の回数／タイミングでユーザの特権を変更することができます。このメソッドで変更した特権は，DbjSession#logoutメソッドが実行されるまで有効となります。

(2)　形式

void changeUserPrivilege(int privilege)

(3)　引数

privilege（入力）

特権の種別を指定します。次のどちらかの値を指定します。

DbjDef.PRIV_SECURITY_ADMINISTRATOR
セキュリティ管理者に変更します。

DbjDef.PRIV_LOGIN_USER
DbjSession#login時のユーザの特権に変更します。

(4)　戻り値

なし

(5)　例外

DbjSessionNotConnectException

セッションが接続されていなかった場合

DbjAccessControlNotSupportedException

アクセス制御モードで動作していない場合

IllegalArgumentException

引数に不正な値を設定した場合

6.7　DbjVerObjインターフェース

DbjVerObjインターフェースは，一つの文書管理オブジェクトへのアクセスを扱うことに加えて，Proxyオブジェクトのターゲットオブジェクトであるバージョンオブジェクトのバージョン識別子を扱うインターフェースです。

スーパーインターフェース

DbjObj

プロパティ一覧

DbjVerObjインターフェースが扱うプロパティとgetterメソッドを次の表に示します。

表6-3　DbjVerObjインターフェースで扱うプロパティ

プロパティ名 | データ型 | getterメソッド
バージョン識別子 | String | getVersionId

以降，DbjVerObjインターフェースのメソッドについて説明します。

＜この節の構成＞

6.7.1　getVersionId（文書管理オブジェクトのバージョン識別子の取得）

6.7.1　getVersionId（文書管理オブジェクトのバージョン識別子の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書管理オブジェクトに設定されているProxyオブジェクトのターゲットオブジェクトであるバージョンオブジェクトのバージョン識別子のプロパティ値（String型）を取得します。

(2)　形式

String getVersionId()

(3)　引数

なし

(4)　戻り値

バージョンオブジェクトのバージョン識別子のプロパティ値（versionIdフィールドの値）

(5)　例外

なし

6.8　DbjVerObjListインターフェース

DbjVerObjListインターフェースは，DbjVerObjインターフェースを要素とするリストインターフェースを扱います。

スーパーインターフェース

DbjObjList

以降，DbjVerObjListインターフェースのメソッドについて説明します。

＜この節の構成＞

6.8.1　getVerObj（要素のDbjVerObjインターフェースの取得）

6.8.2　getVersionIdList（文書管理オブジェクトのバージョン識別子リストの取得）

6.8.1　getVerObj（要素のDbjVerObjインターフェースの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

インデクスで指定された要素のDbjVerObjインターフェースを取得します。

(2)　形式

DbjVerObj getVerObj(
    int     index
)

(3)　引数

index（入力）

要素インデクスを指定します。

(4)　戻り値

要素のDbjVerObjインターフェース

(5)　例外

ClassCastException

指定要素がDbjObjインターフェースでなかった場合

IndexOutOfBoundException

指定したインデクスが不正の場合

6.8.2　getVersionIdList（文書管理オブジェクトのバージョン識別子リストの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書管理オブジェクトが保持する要素すべてについて，Proxyオブジェクトのターゲットオブジェクトであるバージョンオブジェクトのバージョン識別子のプロパティ値をリストで取得します。

(2)　形式

List<String> getVersionIdList()

(3)　引数

なし

(4)　戻り値

バージョンオブジェクトのバージョン識別子のプロパティ値（versionIdフィールドの値）のリスト（String型のリスト）

(5)　例外

ClassCastException

指定要素がDbjObjインターフェースでなかった場合

7.　メタクラス詳細

この章では，メタクラスのインターフェース，およびメソッドについて説明します。

＜この章の構成＞

7.1　DbjClassDescインターフェース

7.2　DbjMetaインターフェース

7.3　DbjMetaManagerインターフェース

7.4　DbjPropDescインターフェース

7.1　DbjClassDescインターフェース

DbjClassDescインターフェースは，一つの文書管理オブジェクトクラスのメタ情報（クラスディスクリプション）を扱うインターフェースです。

以降，DbjClassDescインターフェースのメソッドについて説明します。

＜この節の構成＞

7.1.1　getName（クラス名の取得）

7.1.2　getProperties（プロパティディスクリプションの取得）

7.1.3　getSubClasses（サブクラスのクラスディスクリプションの取得）

7.1.4　getSuperClass（スーパークラスのクラスディスクリプションの取得）

7.1.1　getName（クラス名の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

クラス名を取得します。

(2)　形式

String getName()

(3)　引数

なし

(4)　戻り値

クラス名

(5)　例外

なし

7.1.2　getProperties（プロパティディスクリプションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

クラスが保持するプロパティディスクリプションをすべて取得します。

(2)　形式

List<DbjPropDesc> getProperties()

(3)　引数

なし

(4)　戻り値

プロパティディスクリプション（DbjPropDescインターフェース）を要素とするリスト

(5)　例外

なし

7.1.3　getSubClasses（サブクラスのクラスディスクリプションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

直接のサブクラスのクラスディスクリプションをすべて取得します。

サブクラスがない場合は，要素が空のリストが返却されます。

(2)　形式

List<DbjClassDesc> getSubClasses()

(3)　引数

なし

(4)　戻り値

クラスディスクリプション（DbjClassDescインターフェース）を要素とするリスト

(5)　例外

なし

7.1.4　getSuperClass（スーパークラスのクラスディスクリプションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

直接のスーパークラスのクラスディスクリプションを取得します。

スーパークラスがない場合は，nullが返却されます。

(2)　形式

DbjClassDesc getSuperClass()

(3)　引数

なし

(4)　戻り値

スーパークラスのクラスディスクリプション（DbjClassDescインターフェース）

(5)　例外

なし

7.2　DbjMetaインターフェース

DbjMetaインターフェースは，一つの文書管理のメタ情報を扱うインターフェースです。

以降，DbjMetaインターフェースのメソッドについて説明します。

＜この節の構成＞

7.2.1　getClassDesc（指定したクラスのクラスディスクリプションの取得）

7.2.2　getDocSpaceId（文書空間識別子の取得）

7.2.3　getExtFromRenditionType（レンディションタイプに対応する拡張子の取得）

7.2.4　getPropDataType（指定したプロパティのデータ型の取得）

7.2.5　getPropDesc（指定したプロパティのプロパティディスクリプションの取得）

7.2.6　getRenditionType（拡張子に対応するレンディションタイプの取得）

7.2.1　getClassDesc（指定したクラスのクラスディスクリプションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したクラスのクラスディスクリプションを取得します。

(2)　形式

DbjClassDesc getClassDesc(
    String              className
)

(3)　引数

className（入力）

クラス名を指定します。

nullを指定した場合は，例外がスローされます。

(4)　戻り値

指定したクラスのクラスディスクリプション（DbjClassDescインターフェース）

(5)　例外

IllegalArgumentException

指定したクラスがなかった場合

NullPointerException

引数classNameにnullを指定した場合

7.2.2　getDocSpaceId（文書空間識別子の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

文書空間識別子を取得します。

(2)　形式

String getDocSpaceId()

(3)　引数

なし

(4)　戻り値

文書空間識別子

(5)　例外

なし

7.2.3　getExtFromRenditionType（レンディションタイプに対応する拡張子の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディション定義ファイルの定義内容に従って，指定したレンディションタイプに対応する拡張子を取得します。

指定したレンディションタイプがレンディション定義ファイルに定義されていない場合は，nullが返却されます。また，指定したレンディションタイプに対応する拡張子が複数定義されている場合は，その中のどれかの拡張子が返却されます。

(2)　形式

String getExtFromRenditionType(
    String                  renditionType
)

(3)　引数

renditionType（入力）

レンディションタイプを指定します。

nullを指定した場合は，例外がスローされます。

(4)　戻り値

指定したレンディションタイプに対応する拡張子

(5)　例外

NullPointerException

引数renditionTypeにnullを指定した場合

7.2.4　getPropDataType（指定したプロパティのデータ型の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティのデータ型を取得します。

(2)　形式

int getPropDataType(
    String        propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

nullを指定した場合は，例外がスローされます。

(4)　戻り値

指定したプロパティのデータ型が，次に示す定数で返却されます。

DbjDef.DATATYPE_BOOL
BOOL型

DbjDef.DATATYPE_INT
INT型

DbjDef.DATATYPE_STR
STR型

DbjDef.DATATYPE_STRLIST
STRLIST型

DbjDef.DATATYPE_VARRAY
VARRAY型

(5)　例外

IllegalArgumentException

指定したプロパティがなかった場合

NullPointerException

引数propNameにnullを指定した場合

7.2.5　getPropDesc（指定したプロパティのプロパティディスクリプションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定したプロパティのプロパティディスクリプションを取得します。

(2)　形式

DbjPropDesc getPropDesc(
    String            propName
)

(3)　引数

propName（入力）

プロパティ名を指定します。

nullを指定した場合は，例外がスローされます。

(4)　戻り値

指定したプロパティのプロパティディスクリプション（DbjPropDescインターフェース）

(5)　例外

IllegalArgumentException

指定したプロパティがなかった場合

NullPointerException

引数propNameにnullを指定した場合

7.2.6　getRenditionType（拡張子に対応するレンディションタイプの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

レンディション定義ファイルの定義内容に従って，指定した拡張子に対応するレンディションタイプを取得します。

指定した拡張子に対応するレンディションタイプがレンディション定義ファイルに定義されていない場合は，nullが返却されます。

(2)　形式

String getRenditionType(
    String            extension
)

(3)　引数

extension（入力）

ファイルの拡張子を指定します。指定する拡張子の先頭に「.」（ピリオド）は不要です。

nullを指定した場合は，例外がスローされます。

(4)　戻り値

指定した拡張子に対応するレンディションタイプ（「MIME::」は含みません）

(5)　例外

NullPointerException

引数extensionにnullを指定した場合

7.3　DbjMetaManagerインターフェース

DbjMetaManagerインターフェースは，文書空間のメタ情報を管理するためのインターフェースです。

以降，DbjMetaManagerインターフェースのメソッドについて説明します。

＜この節の構成＞

7.3.1　getMeta（メタ情報の取得）

7.3.1　getMeta（メタ情報の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

指定した文書空間のメタ情報を取得します。メタ情報はDbjMetaインターフェースで返却されます。

(2)　形式

DbjMeta getMeta(
    String    docspaceId
)

(3)　引数

docspaceId（入力）

文書空間識別子をGUID文字列で指定します。GUID文字列は，16進数「X」によって，「XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX（8けた-4けた-4けた-4けた-12けた）」の形式で表されます。「X」は，0～9，a～f（小文字），およびA～F（大文字）のどれかです。nullを指定した場合は，例外がスローされます。

(4)　戻り値

指定した文書空間のメタ情報（DbjMetaインターフェース）

(5)　例外

IllegalArgumentException

指定した文書空間がなかった場合

NullPointerException

引数docspaceIdにnullを指定した場合

7.4　DbjPropDescインターフェース

DbjPropDescインターフェースは，文書管理オブジェクトの一つのプロパティのメタ情報（プロパティディスクリプション）を扱うインターフェースです。

以降，DbjPropDescインターフェースのメソッドについて説明します。

＜この節の構成＞

7.4.1　getDataType（プロパティのデータ型の取得）

7.4.2　getName（プロパティ名の取得）

7.4.3　getVArrayClass（VARRAY型プロパティを扱うクラスのクラスディスクリプションの取得）

7.4.1　getDataType（プロパティのデータ型の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

プロパティのデータ型を取得します。

(2)　形式

int getDataType()

(3)　引数

なし

(4)　戻り値

プロパティのデータ型が，次に示す定数で返却されます。

DbjDef.DATATYPE_BOOL
BOOL型

DbjDef.DATATYPE_INT
INT型

DbjDef.DATATYPE_STR
STR型

DbjDef.DATATYPE_STRLIST
STRLIST型

DbjDef.DATATYPE_VARRAY
VARRAY型

(5)　例外

なし

7.4.2　getName（プロパティ名の取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

プロパティ名を取得します。

(2)　形式

String getName()

(3)　引数

なし

(4)　戻り値

プロパティ名

(5)　例外

なし

7.4.3　getVArrayClass（VARRAY型プロパティを扱うクラスのクラスディスクリプションの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

VARRAY型プロパティを扱うクラスのクラスディスクリプションを取得します。

VARRAY型プロパティを扱うクラスでない場合は，nullが返却されます。

(2)　形式

DbjClassDesc getVArrayClass()

(3)　引数

なし

(4)　戻り値

VARRAY型プロパティを扱うクラスのクラスディスクリプション（DbjClassDescインターフェース）

(5)　例外

なし

8.　例外クラス詳細

この章では，例外クラスの詳細について説明します。

＜この章の構成＞

8.1　例外クラスの詳細

8.2　DbjAccessControlExceptionクラス

8.3　DbjAccessControlNotSupportedExceptionクラス

8.4　DbjACEOperationExceptionクラス

8.5　DbjACLOutOfRangeExceptionクラス

8.6　DbjAlreadyCheckOutExceptionクラス

8.7　DbjCheckOutExceptionクラス

8.8　DbjContentNotRegisteredExceptionクラス

8.9　DbjContentTypeMismatchExceptionクラス

8.10　DbjConvertContentTargetNotFoundExceptionクラス

8.11　DbjDBDeadLockExceptionクラス

8.12　DbjDBExceptionクラス

8.13　DbjDBLockTimeoutExceptionクラス

8.14　DbjDisconnectedSessionExceptionクラス

8.15　DbjErrorクラス

8.16　DbjExceptionクラス

8.17　DbjFileAccessExceptionクラス

8.18　DbjFileNotFoundExceptionクラス

8.19　DbjFileReferenceCurrentContentNotfoundExceptionクラス

8.20　DbjFileReferenceMismatchStatusExceptionクラス

8.21　DbjFileReferenceOperationFailedExceptionクラス

8.22　DbjIllegalCacheStartIndexExceptionクラス

8.23　DbjIllegalDocSpaceIdExceptionクラス

8.24　DbjIllegalObjectTypeExceptionクラス

8.25　DbjIllegalPropValExceptionクラス

8.26　DbjInitializeErrorクラス

8.27　DbjInternalErrorクラス

8.28　DbjIOExceptionクラス

8.29　DbjIsMasterRenditionExceptionクラス

8.30　DbjLastVersionExceptionクラス

8.31　DbjMasterRenditionNotSetExceptionクラス

8.32　DbjNotAuthenticatedExceptionクラス

8.33　DbjNotCheckOutExceptionクラス

8.34　DbjNotLoginExceptionクラス

8.35　DbjNotSupportedExceptionクラス

8.36　DbjObjectNotFoundExceptionクラス

8.37　DbjOutOfMemoryErrorクラス

8.38　DbjPublicACLAlreadyBoundExceptionクラス

8.39　DbjPublicACLNotBoundExceptionクラス

8.40　DbjPublicACLNotFoundExceptionクラス

8.41　DbjPublicACLOperationExceptionクラス

8.42　DbjPublicACLOutOfRangeExceptionクラス

8.43　DbjReferenceTypeMismatchExceptionクラス

8.44　DbjRenditionConversionErrorExistedExceptionクラス

8.45　DbjRenditionConversionRequiringExistedExceptionクラス

8.46　DbjRenditionCountOutOfRangeExceptionクラス

8.47　DbjRenditionIsEmptyExceptionクラス

8.48　DbjRenditionNotConvertedExceptionクラス

8.49　DbjRenditionNotFoundExceptionクラス

8.50　DbjRenditionTypeDuplicatedExceptionクラス

8.51　DbjSessionExceptionクラス

8.52　DbjSessionNotConnectExceptionクラス

8.53　DbjSubjectLengthOutOfRangeExceptionクラス

8.54　DbjTargetContentPathInvalidExceptionクラス

8.55　DbjTargetContentPathNotSetExceptionクラス

8.56　DbjUnknownErrorクラス

8.57　DbjUnexpectedExceptionクラス

8.58　DbjVersionObjectNotFoundExceptionクラス

8.1　例外クラスの詳細

DocumentBrokerクラスライブラリのAPIでエラーが発生すると，例外がスローされます。例外クラスは，DocumentBrokerクラスライブラリ固有の例外を扱うクラス群です。ここでは，それぞれの例外クラスの機能，例外クラスのスーパークラス，メソッド（コンストラクタ）一覧を説明します。なお，例外クラスのコンストラクタについては，「3.5.3　例外クラスのコンストラクタ」を参照してください。

8.2　DbjAccessControlExceptionクラス

DbjAccessControlExceptionクラスは，ユーザのメソッドの実行時に，その操作に対してユーザにアクセス権がない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjAccessControlException()

DbjAccessControlException(String s)

8.3　DbjAccessControlNotSupportedExceptionクラス

DbjAccessControlNotSupportedExceptionクラスは，文書空間がアクセス制御機能に対応していない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjAccessControlNotSupportedException()

DbjAccessControlNotSupportedException(String s)

8.4　DbjACEOperationExceptionクラス

DbjACEOperationExceptionクラスは，ACEの操作エラーを表すスーパークラスです。特定のACE操作のエラーは，サブクラスがスローされます。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjACEOperationException()

DbjACEOperationException(String s)

8.5　DbjACLOutOfRangeExceptionクラス

DbjACLOutOfRangeExceptionクラスは，文書管理オブジェクトのACEの個数が制限値を超えて追加された場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjACEOperationException

(2)　コンストラクタ一覧

DbjACLOutOfRangeException()

DbjACLOutOfRangeException(String s)

8.6　DbjAlreadyCheckOutExceptionクラス

DbjAlreadyCheckOutExceptionクラスは，すでにチェックアウトされている場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjCheckOutException

(2)　コンストラクタ一覧

DbjAlreadyCheckOutException()

DbjAlreadyCheckOutException(String s)

8.7　DbjCheckOutExceptionクラス

DbjCheckOutExceptionクラスは，チェックアウトについてのエラーを表すスーパークラスです。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjCheckOutException()

DbjCheckOutException(String s)

8.8　DbjContentNotRegisteredExceptionクラス

DbjContentNotRegisteredExceptionクラスは，リファレンスファイル機能を使用したオブジェクトにDbjObj#downloads()を実行したとき，対象オブジェクトにコンテンツが登録されていない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjContentNotRegisteredException ()

DbjContentNotRegisteredException (String s)

8.9　DbjContentTypeMismatchExceptionクラス

DbjContentTypeMismatchExceptionクラスはリファレンスファイル機能で，コンテンツの種別がメソッドが要求するコンテンツの種別と異なる場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjContentTypeMismatch()

DbjContentTypeMismatch (String s)

8.10　DbjConvertContentTargetNotFoundExceptionクラス

DbjConvertContentTargetNotFoundExceptionクラスは，変換対象のコンテンツが存在しない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjDBException

(2)　コンストラクタ一覧

DbjConvertContentTargetNotFoundException ()

DbjConvertContentTargetNotFoundException (String s)

8.11　DbjDBDeadLockExceptionクラス

DbjDBDeadLockExceptionクラスは，DBのデッドロックエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjDBException

(2)　コンストラクタ一覧

DbjDBDeadLockException()

DbjDBDeadLockException(String s)

8.12　DbjDBExceptionクラス

DbjDBExceptionクラスは，DBエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjDBException()

DbjDBException(String s)

8.13　DbjDBLockTimeoutExceptionクラス

DbjDBLockTimeoutExceptionクラスは，DBのロックタイムアウトエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjDBException

(2)　コンストラクタ一覧

DbjDBLockTimeoutException()

DbjDBLockTimeoutException(String s)

8.14　DbjDisconnectedSessionExceptionクラス

DbjDisconnectedSessionExceptionクラスは，文書空間との接続が切断された場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjSessionNotConnectException

(2)　コンストラクタ一覧

DbjContentTypeMismatch()

DbjContentTypeMismatch (String s)

8.15　DbjErrorクラス

DbjErrorクラスはjava.lang.Errorクラスを継承し，DocumentBrokerクラスライブラリ固有の致命的なエラーを表すスーパークラスです。メモリ不足，DocumentBrokerクラスライブラリの初期化エラー，DocumentBrokerクラスライブラリ内で予期しない内部エラーが発生した場合のエラーなど，ユーザアプリケーションプログラムで対処できないエラーを表します。

DbjErrorクラスに関連付けられたエラーメッセージは次の内容を含みます。

エラー内容，または原因コード

エラー発生メソッド

エラー発生個所（ソース行番号，ソースファイル名）

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

java.lang.Error

(2)　コンストラクタ一覧

DbjError()

DbjError(String s)

8.16　DbjExceptionクラス

DbjExceptionクラスはjava.lang.Exceptionクラスを継承し，DocumentBrokerクラスライブラリ固有のエラーを表すスーパークラスです。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

java.lang.Exception

(2)　コンストラクタ一覧

DbjException()

DbjException(String s)

8.17　DbjFileAccessExceptionクラス

DbjFileAccessExceptionクラスは，ファイルのアクセス権がない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjIOException

(2)　コンストラクタ一覧

DbjFileAccessException()

DbjFileAccessException(String s)

8.18　DbjFileNotFoundExceptionクラス

DbjFileNotFoundExceptionクラスは，指定ファイルが存在しない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjIOException

(2)　コンストラクタ一覧

DbjFileNotFoundException()

DbjFileNotFoundException(String s)

8.19　DbjFileReferenceCurrentContentNotfoundExceptionクラス

DbjFileReferenceCurrentContentNotfoundExceptionクラスは，リファレンスファイル管理機能を使用したバージョン付きの文書オブジェクトで，カレントバージョンにコンテンツが存在しない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjFileReferenceCurrentContentNotfoundException()

DbjFileReferenceCurrentContentNotfoundException(String s)

8.20　DbjFileReferenceMismatchStatusExceptionクラス

DbjFileReferenceMismatchStatusExceptionクラスは，リファレンスファイル管理機能を使用するサーバでのコンテンツ操作でエラーが発生し，オブジェクトとコンテンツが不整合な状態になった場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjFileReferenceMismatchStatusException()

DbjFileReferenceMismatchStatusException(String s)

8.21　DbjFileReferenceOperationFailedExceptionクラス

DbjFileReferenceOperationFailedExceptionクラスは，リファレンスファイル管理機能を使用するサーバでのコンテンツ操作が失敗した場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjFileReferenceOperationFailedException()

DbjFileReferenceOperationFailedException(String s)

8.22　DbjIllegalCacheStartIndexExceptionクラス

DbjIllegalCacheStartIndexExceptionクラスは，キャッシュ検索時に検索結果より大きい値をDbjFetchInfoインターフェースのstartIndexプロパティへ指定した場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjIlleaglCacheStartIndexException()

DbjIlleaglCacheStartIndexException(String s)

8.23　DbjIllegalDocSpaceIdExceptionクラス

DbjIllegalDocSpaceIdExceptionクラスは，不正な文書空間識別子が指定された場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjIllegalDocSpaceIdException()

DbjIllegalDocSpaceIdException(String s)

8.24　DbjIllegalObjectTypeExceptionクラス

DbjIllegalObjectTypeExceptionクラスは，メソッドによる操作に不適切な文書管理オブジェクト種別が指定された場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjIllegalObjectTypeException()

DbjIllegalObjectTypeException(String s)

8.25　DbjIllegalPropValExceptionクラス

DbjIllegalPropValExceptionクラスは，不正なプロパティ値を指定した場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjIllegalPropValException()

DbjIllegalPropValException(String s)

8.26　DbjInitializeErrorクラス

DbjInitializeErrorクラスは，DocumentBrokerクラスライブラリの初期化を実行した時のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjError

(2)　コンストラクタ一覧

DbjInitializeError()

DbjInitializeError(String s)

8.27　DbjInternalErrorクラス

DbjInternalErrorクラスは，DocumentBrokerクラスライブラリの内部エラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjError

(2)　コンストラクタ一覧

DbjInternalError()

DbjInternalError(String s)

8.28　DbjIOExceptionクラス

DbjIOExceptionクラスは，DocumentBrokerクラスライブラリ固有のIOエラーを表すスーパークラスです。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjIOException()

DbjIOException(String s)

8.29　DbjIsMasterRenditionExceptionクラス

DbjIsMasterRenditionExceptionクラスは，マスタレンディションが指定された場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjIsMasterRenditionException()

DbjIsMasterRenditionException(String s)

8.30　DbjLastVersionExceptionクラス

DbjLastVersionExceptionクラスは，操作対象となるバージョン付きオブジェクトの最後の１バージョンを削除しようとした場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjLastVersionException()

DbjLastVersionException(String s)

8.31　DbjMasterRenditionNotSetExceptionクラス

DbjMasterRenditionNotSetExceptionクラスは，マスタレンディションのレンディションタイプが設定されていない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjMasterRenditionNotSetException()

DbjMasterRenditionNotSetException(String s)

8.32　DbjNotAuthenticatedExceptionクラス

DbjNotAuthenticatedExceptionクラスは，ユーザ認証エラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjNotAuthenticatedException()

DbjNotAuthenticatedException(String s)

8.33　DbjNotCheckOutExceptionクラス

DbjNotCheckOutExceptionクラスは，チェックアウトされていない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjCheckOutException

(2)　コンストラクタ一覧

DbjNotCheckOutException()

DbjNotCheckOutException(String s)

8.34　DbjNotLoginExceptionクラス

DbjNotLoginExceptionクラスは，文書空間にログインされていない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjSessionNotConnectException

(2)　コンストラクタ一覧

DbjNotLoginException()

DbjNotLoginException(String s)

8.35　DbjNotSupportedExceptionクラス

DbjNotSupportedExceptionクラスは，サポートされていない操作を表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjNotSupportedException ()

DbjNotSupportedException (String s)

8.36　DbjObjectNotFoundExceptionクラス

DbjObjectNotFoundExceptionクラスは，操作対象となる文書管理オブジェクトがメソッド実行にすでに削除されていた場合，または存在しない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjObjectNotFoundException()

DbjObjectNotFoundException(String s)

8.37　DbjOutOfMemoryErrorクラス

DbjOutOfMemoryErrorクラスは，メモリ不足が発生した場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjError

(2)　コンストラクタ一覧

DbjOutOfMemoryError()

DbjOutOfMemoryError(String s)

8.38　DbjPublicACLAlreadyBoundExceptionクラス

DbjPublicACLAlreadyBoundExceptionクラスは，指定したパブリックACLがすでにバインドされている場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjPublicACLOperationException

(2)　コンストラクタ一覧

DbjPublicACLAlreadyBoundException()

DbjPublicACLAlreadyBoundException(String s)

8.39　DbjPublicACLNotBoundExceptionクラス

DbjPublicACLNotBoundExceptionクラスは，指定したパブリックACLがバインドされていない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjPublicACLOperationException

(2)　コンストラクタ一覧

DbjPublicACLNotBoundException()

DbjPublicACLNotBoundException(String s)

8.40　DbjPublicACLNotFoundExceptionクラス

DbjPublicACLNotFoundExceptionクラスは，指定したパブリックACLが存在しない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjPublicACLOperationException

(2)　コンストラクタ一覧

DbjPublicACLNotFoundException()

DbjPublicACLNotFoundException(String s)

8.41　DbjPublicACLOperationExceptionクラス

DbjPublicACLOperationExceptionクラスは，パブリックACLの操作エラーを表すスーパークラスです。特定のパブリックACL操作のエラーには，サブクラスがスローされます。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjPublicACLOperationException()

DbjPublicACLOperationException(String s)

8.42　DbjPublicACLOutOfRangeExceptionクラス

DbjPublicACLOutOfRangeExceptionクラスは，文書管理オブジェクトのパブリックACLの個数が制限値を超えて追加された場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjPublicACLOperationException

(2)　コンストラクタ一覧

DbjPublicACLOutOfRangeException()

DbjPublicACLOutOfRangeException(String s)

8.43　DbjReferenceTypeMismatchExceptionクラス

DbjReferenceTypeMismatchExceptionクラスは，リファレンスファイル管理機能で，オブジェクトのリファレンス種別とメソッドが要求するリファレンス種別が一致しない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjReferenceTypeMismatchException()

DbjReferenceTypeMismatchException(String s)

8.44　DbjRenditionConversionErrorExistedExceptionクラス

DbjRenditionConversionErrorExistedExceptionクラスは，変換エラーのレンディションが存在した場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjRenditionConversionErrorExistedException ()

DbjRenditionConversionErrorExistedException (String s)

8.45　DbjRenditionConversionRequiringExistedExceptionクラス

DbjRenditionConversionRequiringExistedExceptionクラスは，変換要求中のレイディションが存在した場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjRenditionConversionRequiringExistedException ()

DbjRenditionConversionRequiringExistedException (String s)

8.46　DbjRenditionCountOutOfRangeExceptionクラス

DbjRenditionCountOutOfRangeExceptionクラスは，レンディション数が制限値を超えた場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjRenditionCountOutOfRangeException()

DbjRenditionCountOutOfRangeException(String s)

8.47　DbjRenditionIsEmptyExceptionクラス

DbjRenditionIsEmptyExceptionクラスは，レンディションが空の場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjRenditionIsEmptyException()

DbjRenditionIsEmptyException(String s)

8.48　DbjRenditionNotConvertedExceptionクラス

DbjRenditionNotConvertedExceptionクラスは，レンディションが更新処理されていない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjRenditionNotConvertedException()

DbjRenditionNotConvertedException(String s)

8.49　DbjRenditionNotFoundExceptionクラス

DbjRenditionNotFoundExceptionクラスは，指定レンディションが存在しない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjRenditionNotFoundException()

DbjRenditionNotFoundException(String s)

8.50　DbjRenditionTypeDuplicatedExceptionクラス

DbjRenditionTypeDuplicatedExceptionクラスは，レンディションタイプが重複している場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjRenditionTypeDuplicatedException()

DbjRenditionTypeDuplicatedException(String s)

8.51　DbjSessionExceptionクラス

DbjSessionExceptionクラスは，セッションについてのエラーを表すスーパークラスです。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjSessionException()

DbjSessionException(String s)

8.52　DbjSessionNotConnectExceptionクラス

DbjSessionNotConnectExceptionクラスは，文書空間と接続されていない場合のエラーを表すスーパークラスです。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjSessionException

(2)　コンストラクタ一覧

DbjSessionNotConnectException()

DbjSessionNotConnectException(String s)

8.53　DbjSubjectLengthOutOfRangeExceptionクラス

DbjSubjectLengthOutOfRangeExceptionクラスは，ACEのサブジェクトの長さが制限値を超えた場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjACEOperationException

(2)　コンストラクタ一覧

DbjSubjectLengthOutOfRangeException()

DbjSubjectLengthOutOfRangeException(String s)

8.54　DbjTargetContentPathInvalidExceptionクラス

DbjTargetContentPathInvalidExceptionクラスは，リファレンスファイル管理機能で，コンテンツ格納先ベースパスが不正な場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjTargetContentPathInvalidException ()

DbjTargetContentPathInvalidException (String s)

8.55　DbjTargetContentPathNotSetExceptionクラス

DbjTargetContentPathNotSetExceptionクラスは，リファレンスファイル管理機能で，コンテンツ格納先ベースパスが設定されていない場合のエラーを表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjTargetContentPathNotSetException()

DbjTargetContentPathNotSetException(String s)

8.56　DbjUnknownErrorクラス

DbjUnknownErrorクラスは，DocumentBrokerクラスライブラリ内での未知のエラーの発生を表します。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjError

(2)　コンストラクタ一覧

DbjUnknownError()

DbjUnknownError(String s)

8.57　DbjUnexpectedExceptionクラス

DbjUnexpectedExceptionクラスは，内部矛盾が発生した場合のエラーを表すクラスです。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjException

(2)　コンストラクタ一覧

DbjUnexpectedException ()

DbjUnexpectedException (String s)

8.58　DbjVersionObjectNotFoundExceptionクラス

DbjVersionObjectNotFoundExceptionクラスは，バージョンオブジェクトが存在しない場合のエラーを表すクラスです。

＜この節の構成＞

(1)　スーパークラス

(2)　コンストラクタ一覧

(1)　スーパークラス

DbjObjectNotFoundException

(2)　コンストラクタ一覧

DbjVersionObjectNotFoundException ()

DbjVersionObjectNotFoundException (String s)

9.　定数定義クラス詳細

この章では，定数定義クラスの定義内容について説明します。

＜この章の構成＞

9.1　DbjDefクラス

9.2　DbjTraceDefクラス

9.1　DbjDefクラス

DbjDefクラスは，DocumentBrokerクラスライブラリで使用する定数を定義したクラスです。

以降，DbjDefクラスの定数定義内容について，カテゴリごとに説明します。

なお，DbjDefクラスで定義されている定数のアクセス指定子は，すべて「public」です。

＜この節の構成＞

9.1.1　Category：ACL

9.1.2　Category：CONTENTTYPE

9.1.3　Category：DATATYPE

9.1.4　Category：DMA BOOLEAN

9.1.5　Category：INDEXTYPE

9.1.6　Category：LINK

9.1.7　Category：LOCK

9.1.8　Category：OBJTYPE

9.1.9　Category：OPERATEMODE

9.1.10　Category：ORDER

9.1.11　Category：PERM

9.1.12　Category：PRIV

9.1.13　Category：REFERENCETYPE

9.1.14　Category：RELATIONEND

9.1.15　Category：RENDSTATUS

9.1.16　Category：SUBJECTTYPE

9.1.17　Category：SYSSUBJECT

9.1.18　Category：Others

9.1.1　Category：ACL

検索実行時のアクセス制御モードを表す定数です。アクセス制御機能付き検索を実行するか，実行しないかを表します。

検索実行時のアクセス制御モードを表す定数を次の表に示します。

表9-1　検索実行時のアクセス制御モードを表す定数

定数 | データ型 | 意味
WITH_ACL | int型 | アクセス制御機能付き検索モード
WITHOUT_ACL | int型 | アクセス制御機能なし検索モード

9.1.2　Category：CONTENTTYPE

コンテンツ種別を表す定数です。

コンテンツ種別を表す定数を次の表に示します。

表9-2　コンテンツ種別を表す定数

定数 | データ型 | 意味
CONTENT | int型 | シングルファイル文書であるコンテンツ
REFERENCE | int型 | リファレンスファイル文書であるコンテンツ
OTHER | String型 | 上記以外のコンテンツを持つオブジェクト

9.1.3　Category：DATATYPE

文書管理オブジェクトのプロパティのデータ型を表す定数です。

文書管理オブジェクトのプロパティのデータ型を表す定数を次の表に示します。

表9-3　文書管理オブジェクトのプロパティのデータ型を表す定数

定数 | データ型 | 意味
DATATYPE_BOOL | int型 | BOOL型
DATATYPE_INT | int型 | INT型
DATATYPE_STR | int型 | STR型
DATATYPE_STRLIST | int型 | STRLIST型
DATATYPE_VARRAY | int型 | VARRAY型
DATATYPE_UNKNOWN | int型 | 未サポートのデータ型，またはデータ型不明

9.1.4　Category：DMA BOOLEAN

BOOL型を表す定数です。

BOOL型を表す定数を次の表に示します。

表9-4　BOOL型を表す定数

定数 | データ型 | 意味
DMA_TRUE | int型 | 真
DMA_FALSE | int型 | 偽
DMA_UNKNOWN | int型 | 不定

9.1.5　Category：INDEXTYPE

全文検索インデクスの種別を表す定数です。

全文検索インデクスの種別を表す定数を次の表に示します。

表9-5　全文検索インデクスの種別を表す定数

定数 | データ型 | 意味
INDEXTYPE_NOTHING | int型 | 全文検索インデクスを作成しません。インデクスデータは出力されません。

9.1.6　Category：LINK

リンク種別を表す定数です。

リンク種別を表す定数を次の表に示します。

表9-6　リンク種別を表す定数

定数 | データ型 | 意味
LINK_DCR | int型 | 直接型リンク
LINK_RCR | int型 | 参照型リンク
LINK_REL | int型 | 文書間リンク
LINK_ALL | int型 | すべてのリンク種別を組み合わせたリンク
LINK_NONE | int型 | リンクなし

9.1.7　Category：LOCK

ロック種別を表す定数です。

ロック種別を表す定数を次の表に示します。

表9-7　ロック種別を表す定数

定数 | データ型 | 意味
LOCK_READ | int型 | readロック
LOCK_WRITE | int型 | 排他的なwriteロック
LOCK_READFORUPDATE | int型 | readロック（更新または削除ができます）
LOCK_NONE | int型 | ロックなし

9.1.8　Category：OBJTYPE

オブジェクト種別を表す定数です。

オブジェクト種別を表す定数を次の表に示します。

表9-8　オブジェクト種別を表す定数

定数 | データ型 | 意味
OBJTYPE_ANY | int型 | 任意のオブジェクト種別の論理和
OBJTYPE_NVTFOLDER | int型 | 構成管理できないバージョンなしフォルダ
OBJTYPE_DOC | int型 | バージョンなし文書
OBJTYPE_VRDOC | int型 | バージョン付き文書
OBJTYPE_FOLDER | int型 | バージョンなしフォルダ
OBJTYPE_IP | int型 | 独立データ
OBJTYPE_PUBLICACL | int型 | パブリックACL
OBJTYPE_UNKNOWN | int型 | オブジェクト種別不明

9.1.9　Category：OPERATEMODE

コンテンツのパス操作モードを表す定数です。

コンテンツのパス操作モードを表す定数を次の表に示します。

表9-9　コンテンツのパス操作モードを表す定数

定数 | データ型 | 意味
OPERATEMODE_NONE | int型 | コンテンツがないオブジェクトを作成します。
OPERATEMODE_USER_RELATIVE_CONTENT | int型 | コンテンツロケーションをコンテンツの相対パスで管理します。

9.1.10　Category：ORDER

バージョン情報の取得順序を表す定数です。

バージョン情報の取得順序を表す定数を次の表に示します。

表9-10　バージョン情報の取得順序を表す定数

定数 | データ型 | 意味
ORDER_ASC | int型 | 最も古いバージョンから順に取得します。
ORDER_DESC | int型 | 最も新しいバージョンから順に取得します。
ORDER_NONE | int型 | 順序を指定しません。

9.1.11　Category：PERM

パーミッションを表す定数です。

パーミッションを表す定数を次の表に示します。

表9-11　パーミッションを表す定数

定数
データ型
意味

PERM_NONE
int型
アクセス権なし

PERM_PRIM_READ_PROPS
int型
基本プロパティ参照権

PERM_PRIM_WRITE_PROPS
int型
基本プロパティ更新権

PERM_PRIM_READ_CONTENTS
int型
基本コンテンツ参照権

PERM_PRIM_WRITE_CONTENTS
int型
基本コンテンツ更新権

PERM_PRIM_LINK
int型
基本リンク権

PERM_PRIM_VERSION
int型
基本バージョン管理権

PERM_PRIM_DELETE
int型
基本削除権

PERM_CHANGE_PERM
int型
アクセス制御情報変更権

PERM_CREATE
int型
オブジェクト作成権

PERM_READ_PROPS
int型
プロパティ参照権
次のパーミッションと等価

PERM_PRIM_READ_PROPS

PERM_READ
int型
参照権
次のパーミッションの論理和と等価

PERM_PRIM_READ_PROPS

PERM_PRIM_READ_CONTENTS

PERM_WRITE_PROPS
int型
プロパティ更新権
次のパーミッションの論理和と等価

PERM_PRIM_READ_PROPS

PERM_PRIM_WRITE_PROPS

PERM_READ_WRITE
int型
参照更新権
次のパーミッションの論理和と等価

PERM_READ

PERM_PRIM_WRITE_PROPS

PERM_PRIM_WRITE_CONTENTS

PERM_DELETE
int型
削除権
次のパーミッションの論理和と等価

PERM_PRIM_READ_PROPS

PERM_PRIM_DELETE

PERM_LINK
int型
リンク権
次のパーミッションの論理和と等価

PERM_PRIM_READ_PROPS

PERM_PRIM_LINK

PERM_VERSION
int型
バージョン権
次のパーミッションの論理和と等価

PERM_READ_WRITE

PERM_PRIM_VERSION

PERM_FULL_CONTROL
int型
フルコントロール
次のパーミッションの論理和と等価

PERM_READ_WRITE

PERM_PRIM_LINK

PERM_PRIM_VERSION

PERM_PRIM_DELETE

9.1.12　Category：PRIV

文書管理に対するユーザの特権を表す定数です。

文書空間に対するユーザの特権を表す定数を次の表に示します。

表9-12　文書空間に対するユーザの特権を表す定数

定数 | データ型 | 意味
PRIV_NONE | int型 | セキュリティ管理者ではありません。
PRIV_SECURITY_ADMINISTRATOR | int型 | セキュリティ管理者です。
PRIV_LOGIN_USER | int型 | DbjSession#login時のユーザです。

9.1.13　Category：REFERENCETYPE

リファレンス種別を表す定数です。

リファレンス種別を表す定数を次の表に示します。

表9-13　リファレンス種別を表す定数

定数 | データ型 | 意味
REFERENCETYPE_NONE | int型 | コンテンツはありません。
REFERENCETYPE_USER_RELATIVE_CONTENT | int型 | ユーザ管理領域に格納したコンテンツ（相対パス）です。

9.1.14　Category：RELATIONEND

文書間リンク設定情報一覧の取得条件を表す定数です。

文書間リンク設定情報一覧の取得条件を表す定数を次の表に示します。

表9-14　文書間リンク設定情報一覧の取得条件を表す定数

定数
データ型
意味

RELATIONEND_HEAD
int型
文書間リンクで関連付けているリンク先オブジェクトの一覧を取得します。

RELATIONEND_TAIL
int型
文書間リンクで関連付けられているリンク元オブジェクトの一覧を取得します。

RELATIONEND_STATUS_EXIST
int型
関連付けの対象オブジェクトが存在しているリンク設定情報の一覧を取得します。

RELATIONEND_STATUS_NOT_EXIST
int型
すでに関連付けの対象オブジェクトが削除されていて，リンクだけが残っているリンク設定情報の一覧を取得します。
関連付けの対象オブジェクトが削除されているリンク設定情報はすべて取得されます。

RELATIONEND_STATUS_ALL
int型
すべてのリンク設定情報の一覧を取得する場合に指定します。
関連付けの対象オブジェクトが削除されているリンク設定情報はすべて取得されます。

9.1.15　Category：RENDSTATUS

レンディションステータスを表す定数です。

レンディションステータスを表す定数を次の表に示します。

表9-15　レンディションステータスを表す定数

定数 | データ型 | 意味
RENDSTATUS_NO_SUBREND | int型 | 指定したサブレンディションに対応するマスタレンディションのコンテンツは登録済みですが，サブレンディションのコンテンツが未登録です。
RENDSTATUS_SUBREND_EXIST | int型 | 指定したサブレンディションに対応するマスタレンディションおよびサブレンディションのコンテンツが登録されています。
RENDSTATUS_MASTERREND_UPDATE | int型 | 指定したサブレンディションに対応するマスタレンディションが更新されていますが，サブレンディションが更新されていないため，マスタレンディションとサブレンディションの内容が不一致です。
RENDSTATUS_CONVERT_NOTREQUIRED | int型 | レンディション変換が不要な状態です。この状態の場合，レンディション変換機能によるレンディション変換の対象になりません。
RENDSTATUS_CONVERT_REQUIRED | int型 | レンディション変換が必要な状態です。この状態の場合，レンディション変換機能によるレンディション変換の対象になります。
RENDSTATUS_CONVERT_ERROR | int型 | レンディション変換機能によるレンディション変換時にエラーが発生した状態です。この状態になると，レンディション変換機能によるレンディション変換はできなくなります。
RENDSTATUS_MASTERD | int型 | 指定したレンディションがマスタレンディションの場合，設定されます。

9.1.16　Category：SUBJECTTYPE

サブジェクト種別を表す定数です。

サブジェクト種別を表す定数を次の表に示します。

表9-16　サブジェクト種別を表す定数

定数 | データ型 | 意味
SUBJECTTYPE_USR | int型 | ユーザサブジェクトです。サブジェクトに設定した内容はユーザ識別子です。
SUBJECTTYPE_GRP | int型 | グループサブジェクトです。サブジェクトに設定した内容はグループ識別子です。
SUBJECTTYPE_SYS | int型 | システムサブジェクトです。サブジェクトに設定した内容は，システムサブジェクトを表す定数です。

9.1.17　Category：SYSSUBJECT

システムサブジェクトを表す定数です。

システムサブジェクトを表す定数を次の表に示します。

表9-17　システムサブジェクトを表す定数

定数
データ型
意味

SYSSUBJECT_SELF
String型
対象オブジェクトの所有者を表すサブジェクトです。

対象オブジェクトがパブリックACLのACLの場合は，そのパブリックACLをバインドしている文書やフォルダを表すオブジェクトの所有者を示します。

対象オブジェクトが文書やフォルダを表すオブジェクトのローカルACLおよびセキュリティACLの場合は，そのオブジェクトの所有者を示します。

対象オブジェクトがパブリックACLのセキュリティACLの場合は，パブリックACLの所有者を示します。

9.1.18　Category：Others

そのほかの内容を表す定数です。

そのほかの内容を表す定数を次の表に示します。

表9-18　そのほかの内容を表す定数

定数 | データ型 | 意味
MAX_NUM | int型 | 検索結果の取得件数を最大とします。
INITIAL_KEY | int型 | キャッシュ検索を実行しません。
INDEXPATH_SAME | String型 | 全文検索インデクス作成用ファイルのパスをDbjUploadInfo#setIndexPathメソッドのfilePathプロパティに指定したファイルのパスとします。
CURRENT_VERSION | String型 | アクセス対象のバージョンをカレントバージョンとします。
DEFAULT_DOCSPCID | String型 | 文書空間識別子のデフォルト値（673d2be0-d1fd-11d0-ab59-08002be29e1d）です。

9.2　DbjTraceDefクラス

DbjTraceDefクラスは，DocumentBrokerクラスライブラリのトレースクラスで使用する定数を定義したクラスです。

以降，DbjTraceDefクラスの定数定義内容について，カテゴリごとに説明します。

なお，DbjTraceDefクラスで定義されている定数のアクセス指定子は，すべて「public」です。

＜この節の構成＞

9.2.1　Category：TRACELEVEL

9.2.2　Category：TRACEOUTPUT

9.2.1　Category：TRACELEVEL

トレース出力時のトレースレベルを表す定数です。トレース出力時のトレースレベルを表す定数を次の表に示します。

表9-19　トレース出力時のトレースレベルを表す定数

定数 | データ型 | 意味
ERROR | int型 | 障害監視レベル
MANAGE | int型 | 通常運用レベル
HINT | int型 | 障害調査レベル
DEBUG | int型 | デバッグレベル

9.2.2　Category：TRACEOUTPUT

トレース出力時のトレース出力先を表す定数です。トレース出力時のトレース出力先を表す定数を次の表に示します。

表9-20　トレース出力時のトレース出力先を表す定数

定数 | データ型 | 意味
PROMPT | int型 | コマンドプロンプト（標準出力・標準エラー出力）に出力します。
TRACE | int型 | アプリケーショントレースファイルに出力します。
ERRORLOG | int型 | アプリケーションエラーログファイルに出力します。

10.　ライブラリ情報取得クラス詳細

この章では，ライブラリ情報取得クラスのDbjLibInfoクラス，およびメソッドについて説明します。

＜この章の構成＞

10.1　DbjLibInfoクラス

10.1　DbjLibInfoクラス

DbjLibInfoクラスは，DocumentBrokerのバージョン情報を扱うクラスです。このクラスはインスタンスを生成できません（コンストラクタは，private属性です）。

以降，DbjLibInfoクラスのメソッドについて説明します。

＜この節の構成＞

10.1.1　getVersion（バージョンの取得）

10.1.1　getVersion（バージョンの取得）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

DocumentBrokerのバージョン番号およびリビジョン番号を取得します。バージョン番号およびリビジョン番号は，次に示す計算式によって値を求めた結果の整数値で取得します。なお，バージョン番号およびリビジョン番号がXX-YYの場合，XXをバージョン番号，YYをリビジョン番号とします。ただし，リビジョン番号は２けたまでです。

計算式

(A×100)+B

（凡例）

A：バージョン番号

B：リビジョン番号

例えば，バージョン番号－リビジョン番号が02-10の場合，バージョン番号は2，リビジョン番号は10になります。したがって，このメソッドの実行によって210が返却されます。

(2)　形式

static int getVersion()

(3)　引数

なし

(4)　戻り値

バージョン番号およびリビジョン番号

(5)　例外

なし

11.　トレースクラス詳細

この章では，トレースクラスのクラスとそのメソッドについて説明します。

＜この章の構成＞

11.1　DbjTraceクラス

11.1　DbjTraceクラス

DbjTraceクラスは，トレース情報を扱うクラスです。以降，DbjTraceクラスのメソッドについて説明します。

＜この節の構成＞

11.1.1　arg（パラメタ情報の出力）

11.1.2　call（外部APIの呼び出し情報の出力）

11.1.3　DbjTrace（コンストラクタ）

11.1.4　enter（メソッドの入り口情報の出力）

11.1.5　error（エラー情報の出力）

11.1.6　exit（メソッドの出口情報の出力）

11.1.7　hint（下位のメソッドのエラー情報の出力）

11.1.8　init（トレースクラスの初期化）

11.1.9　msg（メッセージの出力）

11.1.10　returned（外部APIからのリターン情報の出力）

11.1.1　arg（パラメタ情報の出力）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

メソッドの入り口での入力パラメタ，または外部APIに渡すパラメタ情報を出力します。引数で指定したパラメタ名およびパラメタに設定した値を出力します。このメソッドは，メソッドの入り口または外部APIの実行前に実行してください。

(2)　形式

int型のパラメタ情報を出力する場合は，形式1～形式3の形式で指定してください。String型のパラメタ情報を出力する場合は，形式4～形式6の形式で指定してください。

(a)　形式1

void arg(
   String        name,
   int           value
   DbjTraceDef   level,
   int           output
)

(b)　形式2

void arg(
   String        name,
   int           value
   DbjTraceDef   level
)

形式2の場合，トレース情報の出力先はアプリケーショントレースファイルになります。

(c)　形式3

void arg(
   String        name,
   int           value
)

形式3の場合，トレース情報の出力先はアプリケーショントレースファイルになります。また，トレースレベルはDbjTraceDef.DEBUGになります。

(d)　形式4

void arg(
   String        name,
   String        value
   DbjTraceDef   level,
   int           output
)

(e)　形式5

void arg(
   String        name,
   String        value
   DbjTraceDef   level
)

形式5の場合，トレース情報の出力先はアプリケーショントレースファイルになります。

(f)　形式6

void arg(
   String        name,
   String        value
)

形式6の場合，トレース情報の出力先はアプリケーショントレースファイルになります。また，トレースレベルはDbjTraceDef.DEBUGになります。

(3)　引数

name（入力）

メソッド入力のパラメタ名，または外部APIに渡すパラメタ名を指定します。

value（入力）

パラメタに設定した値を指定します。

level（入力）

トレースレベルを指定します。次に示すトレースレベルのうち，どれかを指定してください。

DbjTraceDef.ERROR
障害監視レベル

DbjTraceDef.MANAGE
通常運用レベル

DbjTraceDef.HINT
障害調査レベル

DbjTraceDef.DEBUG
デバッグレベル

output（入力）

トレース情報の出力先を指定します。次に示す出力先を指定できます。

DbjTraceDef.PROMPT
コマンドプロンプト（標準出力・標準エラー出力）に出力します。

DbjTraceDef.TRACE
アプリケーショントレースファイルに出力します。

DbjTraceDef.ERRORLOG
アプリケーションエラーログファイルに出力します。

前記以外の出力先を指定した場合，トレース情報は出力されません（実行したメソッドは正常終了します）。

複数の出力先を指定する場合は，OR演算子を用いて定数を連結してください。例えば，DbjTraceDef.TRACEとDbjTraceDef.ERRRORLOGに同時出力する場合は，DbjTraceDef.TRACE | DbjTraceDef.ERRORLOGと指定してください。

(4)　戻り値

なし

(5)　例外

なし

11.1.2　call（外部APIの呼び出し情報の出力）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

外部APIの呼び出し時の情報を出力します。引数で指定した呼び出し元のクラス名およびメソッド名を出力します。このメソッドは，外部APIの呼び出し時に実行してください。

(2)　形式

クラス名およびメソッド名を出力する場合は，形式1～形式3の形式で指定してください。メソッド名だけを出力する場合は，形式4～形式6の形式で指定してください。

(a)　形式１

void call(
   String        className,
   String        methodName,
   DbjTraceDef   level,
   int           output
)

(b)　形式2

void call(
   String        className,
   String        methodName,
   DbjTraceDef   level
)

形式2の場合，トレース情報の出力先はアプリケーショントレースファイルになります。

(c)　形式3

void call(
   String        className,
   String        methodName
)

形式3の場合，トレース情報の出力先はアプリケーショントレースファイルになります。また，トレースレベルはDbjTraceDef.DEBUGになります。

(d)　形式4

void call(
   String        methodName,
   DbjTraceDef   level,
   int           output
)

(e)　形式5

void call(
   String        methodName,
   DbjTraceDef   level
)

形式5の場合，トレース情報の出力先はアプリケーショントレースファイルになります。

(f)　形式6

void call(
   String        methodName
)

形式6の場合，トレース情報の出力先はアプリケーショントレースファイルになります。また，トレースレベルはDbjTraceDef.DEBUGになります。

(3)　引数

className（入力）

呼び出しクラスの名称を256バイト以内で指定します。256バイトを超えた名称を指定した場合は，256バイトまでの文字列が設定されます。

methodName（入力）

呼び出しメソッドの名称を256バイト以内で指定します。256バイトを超えた名称を指定した場合は，256バイトまでの文字列が設定されます。

level（入力）

トレースレベルを指定します。次に示すトレースレベルのうち，どれかを指定してください。

DbjTraceDef.ERROR
障害監視レベル

DbjTraceDef.MANAGE
通常運用レベル

DbjTraceDef.HINT
障害調査レベル

DbjTraceDef.DEBUG
デバッグレベル

output（入力）

トレース情報の出力先を指定します。次に示す出力先を指定できます。

DbjTraceDef.TRACE
アプリケーショントレースファイルに出力します。

前記以外の出力先を指定した場合，トレース情報は出力されません（実行したメソッドは正常終了します）。

(4)　戻り値

なし

(5)　例外

なし

11.1.3　DbjTrace（コンストラクタ）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

DbjTraceオブジェクトを作成します。

(2)　形式

DbjTrace(
   String     upName,
   String     className,
   String     methodName
)

(3)　引数

upName（入力）

アプリケーション名を指定します。

ここで指定したアプリケーション名をinitメソッドの引数upNameに指定してください。異なるアプリケーション名を指定した場合，トレース情報は出力されません。また，アプリケーション名にnullを指定した場合もトレース情報は出力されません。

className（入力）

クラス名を256バイト以内で指定します。256バイトを超えた名称を指定した場合は，256バイトまでの文字列が設定されます。

nullを指定した場合，クラス名は設定されません。この場合，メソッド名だけが出力されます。

methodName（入力）

メソッド名を256バイト以内で指定します。256バイトを超えた名称を指定した場合は，256バイトまでの文字列が設定されます。

nullを指定した場合，enterまたはexitメソッドを実行しても，トレース情報は出力されません。

(4)　戻り値

なし

(5)　例外

なし

11.1.4　enter（メソッドの入り口情報の出力）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

メソッドの入り口情報を出力します。DbjTraceメソッドで指定したクラス名およびメソッド名を出力します。このメソッドは，メソッドの入り口で実行してください。

(2)　形式

(a)　形式1

void enter(
   DbjTraceDef     level,
   int             output
)

(b)　形式2

void enter(
   DbjTraceDef     level
)

形式2の場合，トレース情報の出力先はアプリケーショントレースファイルになります。

(c)　形式3

void enter()

形式3の場合，トレース情報の出力先はアプリケーショントレースファイルになります。また，トレースレベルはDbjTraceDef.DEBUGになります。

(3)　引数

level（入力）

トレースレベルを指定します。次に示すトレースレベルのうち，どれかを指定してください。

DbjTraceDef.ERROR
障害監視レベル

DbjTraceDef.MANAGE
通常運用レベル

DbjTraceDef.HINT
障害調査レベル

DbjTraceDef.DEBUG
デバッグレベル

output（入力）

トレース情報の出力先を指定します。次に示す出力先を指定できます。

DbjTraceDef.PROMPT
コマンドプロンプト（標準出力・標準エラー出力）に出力します。

DbjTraceDef.TRACE
アプリケーショントレースファイルに出力します。

前記以外の出力先を指定した場合，トレース情報は出力されません（実行したメソッドは正常終了します）。

複数の出力先を指定する場合は，OR演算子を用いて定数を連結してください。例えば，DbjTraceDef.PROMPTとDbjTraceDef.TRACEに同時出力する場合は，DbjTraceDef.PROMPT | DbjTraceDef.TRACEと指定してください。

(4)　戻り値

なし

(5)　例外

なし

11.1.5　error（エラー情報の出力）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

ユーザアプリケーションプログラムにエラーが発生したときのエラー情報を出力します。引数で指定したメッセージまたは例外クラスを出力します。このメソッドは，ユーザアプリケーションプログラムのエラー発生時に実行してください。

(2)　形式

エラー情報をメッセージにして出力する場合は，形式1～形式3の形式で指定してください。通常の例外の情報を出力する場合は，形式4～形式6の形式で指定してください。DocumentBrokerクラスライブラリの例外の情報を出力する場合は，形式7～形式9の形式で指定してください。

(a)　形式1

void error(
   String        message,
   DbjTraceDef   level,
   int           output
)

(b)　形式2

void error(
   String        message,
   DbjTraceDef   level
)

形式2の場合，トレース情報の出力先はアプリケーショントレースファイルおよびアプリケーションエラーログファイルになります。

(c)　形式3

void error(
   String        message
)

形式3の場合，トレース情報の出力先はアプリケーショントレースファイルおよびアプリケーションエラーログファイルになります。また，トレースレベルはDbjTraceDef.ERRORになります。

(d)　形式4

void error(
   Exception     ex,
   DbjTraceDef   level,
   int           output
)

(e)　形式5

void error(
   Exception     ex,
   DbjTraceDef   level
)

形式5の場合，トレース情報の出力先はアプリケーショントレースファイルおよびアプリケーションエラーログファイルになります。

(f)　形式6

void error(
   Exception     ex
)

形式6の場合，トレース情報の出力先はアプリケーショントレースファイルおよびアプリケーションエラーログファイルになります。また，トレースレベルはDbjTraceDef.ERRORになります。

(g)　形式7

void error(
   DbjException   ex,
   DbjTraceDef    level,
   int            output
)

(h)　形式8

void error(
   DbjException   ex,
   DbjTraceDef    level
)

形式8の場合，トレース情報の出力先はアプリケーショントレースファイルおよびアプリケーションエラーログファイルになります。

(i)　形式9

void error(
   DbjException   ex
)

形式9の場合，トレース情報の出力先はアプリケーショントレースファイルおよびアプリケーションエラーログファイルになります。また，トレースレベルはDbjTraceDef.ERRORになります。

(3)　引数

message（入力）

出力するメッセージを指定します。

ex（入力）

発生した例外クラスを指定します。

Exceptionクラスおよびそのサブクラスを指定した場合は，ex.getMessage()およびex.printStackTrace()の内容が出力されます。

level（入力）

トレースレベルを指定します。次に示すトレースレベルのうち，どれかを指定してください。

DbjTraceDef.ERROR
障害監視レベル

DbjTraceDef.MANAGE
通常運用レベル

DbjTraceDef.HINT
障害調査レベル

DbjTraceDef.DEBUG
デバッグレベル

output（入力）

トレース情報の出力先を指定します。次に示す出力先を指定できます。

DbjTraceDef.PROMPT
コマンドプロンプト（標準出力・標準エラー出力）に出力します。

DbjTraceDef.TRACE
アプリケーショントレースファイルに出力します。

DbjTraceDef.ERRORLOG
アプリケーションエラーログファイルに出力します。

前記以外の出力先を指定した場合，トレース情報は出力されません（実行したメソッドは正常終了します）。

複数の出力先を指定する場合は，OR演算子を用いて定数を連結してください。例えば，DbjTraceDef.TRACEとDbjTraceDef.ERRRORLOGに同時出力する場合は，DbjTraceDef.TRACE | DbjTraceDef.ERRORLOGと指定してください。

(4)　戻り値

なし

(5)　例外

なし

11.1.6　exit（メソッドの出口情報の出力）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

メソッドの出口情報を出力します。DbjTraceメソッドで指定したクラス名およびメソッド名を出力します。このメソッドは，メソッドの出口で実行してください。

クラス名およびメソッド名については，DbjTraceメソッドで指定した値が設定されます。トレースレベルおよび出力先については，enterメソッドで指定した値が設定されます。したがって，enterメソッドを実行する前にexitメソッドを実行した場合，トレース情報は出力されません。

(2)　形式

void exit()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

なし

11.1.7　hint（下位のメソッドのエラー情報の出力）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

下位のメソッドでエラーが発生したときのエラー情報を出力します。引数で指定したメッセージを出力します。このメソッドは，下位のメソッドのエラー発生時に実行してください。

(2)　形式

(a)　形式1

void hint(
   String        message,
   DbjTraceDef   level,
   int           output
)

(b)　形式2

void hint(
   String        message,
   DbjTraceDef   level
)

形式2の場合，トレース情報の出力先はアプリケーショントレースファイルになります。

(c)　形式3

void hint(
   String        message
)

形式3の場合，トレース情報の出力先はアプリケーショントレースファイルになります。また，トレースレベルはDbjTraceDef.HINTになります。

(3)　引数

message（入力）

出力するメッセージを指定します。

level（入力）

トレースレベルを指定します。次に示すトレースレベルのうち，どれかを指定してください。

DbjTraceDef.ERROR
障害監視レベル

DbjTraceDef.MANAGE
通常運用レベル

DbjTraceDef.HINT
障害調査レベル

DbjTraceDef.DEBUG
デバッグレベル

output（入力）

トレース情報の出力先を指定します。次に示す出力先を指定できます。

DbjTraceDef.TRACE
アプリケーショントレースファイルに出力します。

前記以外の出力先を指定した場合，トレース情報は出力されません（実行したメソッドは正常終了します）。

(4)　戻り値

なし

(5)　例外

なし

11.1.8　init（トレースクラスの初期化）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

トレースクラスを初期化します。

このメソッドで指定する引数tracePrefixを基に，アプリケーショントレースファイル名およびアプリケーションエラーログファイル名が次のように決まります。

●アプリケーショントレースファイルの場合

アプリケーショントレースファイル名の例を次に示します。

●アプリケーションエラーログファイルの場合

アプリケーションエラーログファイル名の例を次に示します。

注意

DbjTraceクラスを使用してトレース情報を出力するには，最初にinitメソッドを実行してトレースクラスを初期化してください。initメソッドの実行前や，initメソッドで例外が送出された場合に，init以外のメソッドを実行すると，そのメソッドは処理を行わないで正常終了します。

initメソッドが正常終了したあとに，同じupNameおよびtracePrefixを指定したinitメソッドを実行できません。同じupNameおよびtracePrefixを指定したinitメソッドを実行した場合，処理を行わないで正常終了します。

(2)　形式

void init(
   String     upName
   String     tracePrefix
)

(3)　引数

upName（入力）

アプリケーション名を16バイト以内で指定します。16バイトを超えた名称を指定した場合は，16バイトまでの文字列が設定されます。nullを指定した場合は，「DbjAP」が設定されます。

tracePrefix（入力）

アプリケーショントレースファイル名およびアプリケーションエラーログファイル名のプリフィクス（先頭部分）を128バイト以内で指定します。128バイトを超えた名称を指定した場合は，128バイトまでの文字列が設定されます。nullを指定した場合は，「DbjAPTrace」が設定されます。

(4)　戻り値

なし

(5)　例外

IllegalArgumentException

指定した引数に誤りがある場合，この例外が送出されます。例えば，次に示す場合にこの例外が送出されます。

正常終了したinitメソッドと同じupNameまたはtracePrefixを指定し，再度initメソッドを実行した場合

IOException

ファイル操作に失敗した場合，この例外が送出されます。例えば，次に示す場合にこの例外が送出されます。

アプリケーショントレースファイルまたはアプリケーションエラーログファイルの格納先ディレクトリがない場合

アプリケーショントレースファイルまたはアプリケーションエラーログファイルを作成する権限がない場合

アプリケーショントレースファイルまたはアプリケーションエラーログファイルのパス長（格納先ディレクトリとファイルのパス長の合計）が最大パス長を超えている場合

11.1.9　msg（メッセージの出力）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

メッセージを出力します。引数で指定したメッセージIDおよびメッセージを出力します。このメソッドは，メッセージの出力が必要なときに実行してください。

(2)　形式

メッセージIDおよびメッセージを出力する場合は，形式1～形式3の形式で指定してください。メッセージだけを出力する場合は，形式4～形式6の形式で指定してください。

(a)　形式1

void msg(
   String        messageID,
   String        message,
   DbjTraceDef   level,
   int           output
)

(b)　形式2

void msg(
   String        messageID,
   String        message,
   DbjTraceDef   level
)

形式2の場合，トレース情報の出力先はアプリケーショントレースファイルになります。

(c)　形式3

void msg(
   String        messageID,
   String        message
)

形式3の場合，トレース情報の出力先はアプリケーショントレースファイルになります。また，トレースレベルはDbjTraceDef.ERRORになります。

(d)　形式4

void msg(
   String        message,
   DbjTraceDef   level,
   int           output
)

(e)　形式5

void msg(
   String        message,
   DbjTraceDef   level
)

形式5の場合，トレース情報の出力先はアプリケーショントレースファイルになります。

(f)　形式6

void msg(
   String        message
)

形式6の場合，トレース情報の出力先はアプリケーショントレースファイルになります。また，トレースレベルはDbjTraceDef.ERRORになります。

(3)　引数

messageID（入力）

出力するメッセージIDを11バイト以内で指定します。11バイトを超えた場合は，11バイトまでの文字列が設定されます。nullを指定した場合，メッセージIDは設定されません。

message（入力）

出力するメッセージを指定します。

level（入力）

トレースレベルを指定します。次に示すトレースレベルのうち，どれかを指定してください。

DbjTraceDef.ERROR
障害監視レベル

DbjTraceDef.MANAGE
通常運用レベル

DbjTraceDef.HINT
障害調査レベル

DbjTraceDef.DEBUG
デバッグレベル

output（入力）

トレース情報の出力先を指定します。次に示す出力先を指定できます。

DbjTraceDef.PROMPT
コマンドプロンプト（標準出力・標準エラー出力）に出力します。

DbjTraceDef.TRACE
アプリケーショントレースファイルに出力します。

DbjTraceDef.ERRORLOG
アプリケーションエラーログファイルに出力します。

前記以外の出力先を指定した場合，トレース情報は出力されません（実行したメソッドは正常終了します）。

複数の出力先を指定する場合は，OR演算子を用いて定数を連結してください。例えば，DbjTraceDef.TRACEとDbjTraceDef.ERRRORLOGに同時出力する場合は，DbjTraceDef.TRACE | DbjTraceDef.ERRORLOGと指定してください。

(4)　戻り値

なし

(5)　例外

なし

11.1.10　returned（外部APIからのリターン情報の出力）

＜この項の構成＞

(1)　機能

(2)　形式

(3)　引数

(4)　戻り値

(5)　例外

(1)　機能

外部APIから制御が戻ってきたときの情報を出力します。callメソッドの引数で指定したクラス名およびメソッド名を出力します。このメソッドは，外部APIから制御が戻ってきたときに実行してください。

クラス名，メソッド名，トレースレベルおよび出力先については，callメソッドで指定した値が設定されます。したがって，callメソッドを実行する前にreturnedメソッドを実行した場合，トレース情報は出力されません。

(2)　形式

void returned()

(3)　引数

なし

(4)　戻り値

なし

(5)　例外

なし

付録

＜この付録の構成＞

付録A　このマニュアルの参考情報

付録B　用語解説

付録A　このマニュアルの参考情報

＜この節の構成＞

付録A.1　関連マニュアル

付録A.2　このマニュアルでの表記

付録A.3　英略語

付録A.4　KB（キロバイト）などの単位表記について

付録A.1　関連マニュアル

このマニュアルの関連マニュアルを次に示します。必要に応じてお読みください。

なお，本文に記載のマニュアル名称は，「uCosminexus DocumentBroker」を「DocumentBroker」と表記しています。

DocumentBrokerのマニュアル

uCosminexus DocumentBroker Version 5　システム導入・運用ガイド（3021-3-401）
DocumentBroker Version 5を使用する環境を定義，管理および運用する場合に参照してください。

uCosminexus DocumentBroker Version 5　概説（3021-3-402）
DocumentBroker Version 5の機能について知りたい場合に参照してください。

uCosminexus DocumentBroker Version 5　メッセージ（3021-3-405）
DocumentBrokerが出力するメッセージについて知りたい場合に参照してください。

uCosminexus DocumentBroker Version 5　サンプルWebアプリケーション（3021-3-404）
DocumentBroker Developerが提供しているサンプルWebアプリケーションの機能と使用方法，およびサンプルWebアプリケーションを参考にしたWebアプリケーションの開発方法について知りたい場合に参照してください。

関連製品のマニュアル（HiRDB）

ノンストップデータベース HiRDB Version 9 SQLリファレンス（3020-6-457）

ノンストップデータベース HiRDB Version 9 メッセージ（3020-6-458）

HiRDB XML拡張機能 HiRDB XML Extension Version 9（3020-6-480）

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 9（3020-6-481）

関連マニュアルの略称

このマニュアルで使用する関連マニュアルの略称を次に示します。

マニュアル名 | 略称
HiRDB Version 9 メッセージ | HiRDB　メッセージ
HiRDB Version 9 SQLリファレンス | HiRDB　SQLリファレンス
HiRDB Text Search Plug-in Version 9 | HiRDB Text Search Plug-in
HiRDB XML Extension Version 9 | HiRDB XML Extension

付録A.2　このマニュアルでの表記

このマニュアルでは，製品名称を次に示す略称で表記しています。

製品名称 | 略称
uCosminexus Application Server Version 9 | Cosminexus
uCosminexus Developer Version 9
uCosminexus DocumentBroker Developer Version 5 | DocumentBroker
uCosminexus DocumentBroker Platform Version 5
uCosminexus DocumentBroker Runtime Library Version 5
uCosminexus DocumentBroker Developer Version 5 | DocumentBroker Developer
uCosminexus DocumentBroker Platform Version 5 | DocumentBroker Platform
uCosminexus DocumentBroker Runtime Library Version 5 | DocumentBroker Runtime Library
HiRDB Server Version 9 | HiRDB
HiRDB Text Search Plug-in Conceptual Extension Version 7 | HiRDB Text Search Plug-in Conceptual Extension
HiRDB Text Search Plug-in Version 9 | HiRDB Text Search Plug-in
HiRDB XML Extension Version 9 | HiRDB XML Extension
HiRDB/Run Time Version 9 | HiRDB/Run Time
Java(TM) Platform Standard Edition Development Kit 6.0 | JDK 6.0

このほか，このマニュアルでは，次に示す表記方法を使用しています。

JavaTMをJavaと表記します。

DocumentBrokerが提供するJava言語対応のクラスライブラリをDocumentBrokerクラスライブラリと表記します。

付録A.3　英略語

このマニュアルで使用する英略語を次に示します。

英略語 | 英字での表記
ACE | Access Control Element
ACFlag | Access Control Flag
ACL | Access Control List
API | Application Programming Interface
ASCII | American Standard Code for Information Interchange
BLOB | Binary Large Object
BNF | Backus Normal Form
CR | Carriage Return
DB | Database
DBMS | Database Management System
DIT | Directory Information Tree
DMA | Document Management Alliance
DN | Distinguished Name
EOF | End of File
GIF | Graphics Interchange Format
GUID | Globally Unique Identifier
HTML | Hypertext Markup Language
ID | Identifier
JIS | Japanese Industrial Standards
LAN | Local Area Network
LDAP | Lightweight Directory Access Protocol
LF | Line Feed
MIME | Multipurpose Internet Mail Extensions
OIID | Object Instance Identifier
OS | Operating System
PC | Personal Computer
PDF | Portable Document Format
SGML | Standard Generalized Markup Language
URL | Uniform Resource Locator
UTF-8 | 8-bit UCS Transformation Format
W3C | World Wide Web Consortium
WWW | World Wide Web
XML | Extensible Markup Language

付録A.4　KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

付録B　用語解説

記号｜英字｜ア行｜カ行｜サ行｜タ行｜ナ行｜ハ行｜マ行｜ヤ行｜ラ行｜ワ行

DocumentBrokerクラスライブラリで使用する用語について説明します。

ここで説明していないDocumentBrokerクラスライブラリの用語については，マニュアル「DocumentBroker Version5　システム導入・運用ガイド」を参照してください。

記号

?パラメタ

edmSQL文中のパラメタ値を，検索条件を指定するときには固定しないでおいて，検索実行時にアプリケーションから値を設定するために使用するパラメタです。edmSQL文中の?パラメタによって値を渡す個所には，定数を指定する代わりに「?」を指定しておきます。

DocumentBrokerクラスライブラリでは，DbjQParamインターフェースのサブインターフェースによって，?パラメタの値を設定できます。

英字

ACE

Access Control Elementの略です。アクセス制御エレメントのことです。

ACFlag

Access Control Flagの略です。アクセス制御フラグのことです。

ACL

Access Control Listの略です。アクセス制御リストのことです。

AND条件

検索条件同士の論理積を求める結合条件です。例えば，「著者が『日立太郎』で，文書のコンテンツ中に『コンピュータ』という文字列を含む文書を検索する」というような場合に使用できます。

API（Application Programming Interface）

アプリケーションプログラムとのインターフェースです。

Containerオブジェクト

DocumentBrokerクラスのdmaClass_Containerクラス，またはedmClass_ContainerVersionクラス以外のdmaClass_Containerクラスのサブクラスを基に作成されたDocumentBrokerオブジェクトです。

dmaClass_ConfigurationHistoryクラス

バージョン管理に使用するDocumentBrokerクラスです。

dmaClass_ConfigurationHistoryクラスまたはそのサブクラスは，バージョニングオブジェクトのトップオブジェクトクラスになります。

dmaClass_Containerクラス

オブジェクトをディレクトリに格納するイメージでリンクしてまとめて管理したり，オブジェクトに分類を付けるイメージでリンクして関連付けて管理したりできるフォルダを表すDocumentBrokerクラスです。

dmaClass_Containerクラスまたはそのサブクラスは，構成管理できないバージョンなしフォルダのトップオブジェクトクラスになります。

dmaClass_DocVersionクラス

文書を表すDocumentBrokerクラスです。

dmaClass_DocVersionクラスまたはそのサブクラスは，バージョンなし文書のトップオブジェクトクラスになります。また，構成管理できないバージョン付き文書のバージョンオブジェクトのトップオブジェクトクラスになります。

DocumentBrokerオブジェクト

DocumentBrokerクラスを基に作成されたオブジェクトです。

DocumentBrokerクラス

DocumentBrokerのオブジェクトモデルに基づいたクラス，DocumentBrokerで定義しているクラスおよびそのサブクラスです。DocumentBrokerの文書管理オブジェクトクラスのプロパティは，DocumentBrokerクラスに定義します。

DocumentBrokerクラスライブラリ

DocumentBrokerにアクセスするユーザアプリケーションプログラムをJava言語で作成するために，DocumentBrokerが提供しているインタフェースです。

DocVersionオブジェクト

DocumentBrokerクラスのdmaClass_DocVersionクラス，またはdmaClass_DocVersionクラスのサブクラスを基に作成されたDocumentBrokerオブジェクトです。

edmClass_ContainerVersionクラス

オブジェクトのまとまりをバージョン管理できるフォルダを表すDocumentBrokerクラスです。

edmClass_IndependentPersistenceクラス

独立データを表すDocumentBrokerクラスです。

edmClass_IndependentPersistenceクラスまたはそのサブクラスは，独立データのトップオブジェクトクラスになります。

edmClass_PublicACLクラス

パブリックACLを表すDocumentBrokerクラスです。文書やフォルダなどのオブジェクトとは独立に作成・参照でき，複数の文書やフォルダなどのオブジェクトから共有できるアクセス制御情報を表すクラスです。

パブリックACLのトップオブジェクトクラスになります。

edmClass_VersionTracedDocVersionクラス

文書を表すDocumentBrokerクラスです。

edmClass_VersionTracedDocVersionクラスまたはそのサブクラスは，バージョン付き文書のバージョンオブジェクトのトップオブジェクトクラスになります。

edmSQL

文書管理オブジェクトを検索する場合に使用する，検索条件式を表現するための文法です。SQLの文法に基づいています。

edmSQL検索

検索条件に，SQLの文法に基づいた文法で記述できるedmSQL文を指定して実行する検索のことです。

getterメソッド

パラメタクラスのインターフェースで扱うオブジェクトのプロパティの値を取得するためのメソッドです。

GUID

Globally Unique Identifierの略です。DocumentBrokerのクラス，プロパティなどに与えるユニークな識別子です。GUIDは，「X」を0～9，a～f（小文字），およびA～F（大文字）で表される16進数とした「XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX（8けた-4けた-4けた-4けた-12けた）」の形式で表されます。

MIME形式

MIME::text/plain，MIME::text/htmlなど，コンテンツのレンディションタイプを表す形式です。なお，DocumentBrokerでは，「MIME::」は省略して指定します。

NOT条件

指定したキーワードとの不一致を求める検索条件です。例えば，「作成者が『日立』ではない文書を検索する」というような場合に使用できます。

OIID

Object Instance Identifierの略です。データベースに格納されたオブジェクトの存在や格納位置などを明確にするために，各オブジェクトに与えるユニークな識別子です。

OR条件

検索条件同士の論理和を求める結合条件です。例えば，「作成者が『日立太郎』である文書管理オブジェクトか，作成者の所属が『日立製作所』である文書管理オブジェクトを検索する」という場合，「文書のコンテンツ中に『コンピュータ』という文字列を含むか，『インターネット』という文字列を含む文書を検索する」という場合に使用できます。

Proxyオブジェクト

文書管理オブジェクトを操作する場合に使用する代理オブジェクトです。DocumentBrokerクラスライブラリでは，文書管理オブジェクトを操作するとき，文書管理オブジェクトを直接操作するのではなく，Proxyオブジェクトを操作することで間接的に操作します。

Proxyオブジェクトはメモリ空間に存在します。不要になった場合は，Javaのガベージコレクションによって削除されます。

setterメソッド

パラメタクラスのインターフェースで扱うオブジェクトのプロパティの値を設定するためのメソッドです。

VARRAY型

文書管理オブジェクトのプロパティのデータ型の一つです。VARRAY型のプロパティは，プロパティのデータ型に従った複数の値を可変長な一次元配列として持ちます。

VersionTracedDocVersionオブジェクト

DocumentBrokerクラスのedmClass_VersionTracedDocVersionクラスまたはそのサブクラスを基に作成されたDocumentBrokerオブジェクトです。

W3C（World Wide Web Consortium）

HTML，WWWに関する技術の標準化を推進する非営利団体です。

ア行

アクセス権

文書管理オブジェクトを作成したり，すでに作成されているオブジェクトにアクセスしたりする権利です。

アクセス制御エレメント（ACE：Access Control Element）

アクセス制御リスト（ACL）の要素です。一つのサブジェクトと一つのパーミッションの組で構成され，指定されたサブジェクトに対して指定されたパーミッションの範囲のアクセス権を与えることを示す情報です。

アクセス制御機能

DocumentBrokerの文書空間での文書管理オブジェクトの作成や，管理されている文書やフォルダなどの文書管理オブジェクトに対する操作を，ユーザやグループごとに許可または制限する機能です。

アクセス制御機能付き検索

アクセス制御機能を利用した文書空間で検索を実行した場合に，ユーザにアクセス権がない文書管理オブジェクトを検索結果として取得しない検索です。

アクセス制御情報

アクセス制御されている文書空間で，ユーザがメソッドを実行する際に，アクセス権の判定に使用される情報です。

アクセス制御情報変更権

文書管理オブジェクトに設定されているアクセス制御情報（ACFlagおよびACL）を変更する権利です。また，パブリックACLをアクセス制御対象の文書管理オブジェクトに設定することを許可する権利も含みます。なお，パブリックACLのアクセス情報変更権には，パブリックACLのユーザ定義プロパティの値を変更する権利を含みます。

アクセス制御フラグ（ACFlag：Access Control Flag）

文書管理オブジェクトの所有者，プライマリグループおよび全ユーザという区分でパーミッションを設定できるアクセス制御情報の一つです。

アクセス制御リスト（ACL：Access Control List）

任意のユーザまたはグループにパーミッションを設定できるアクセス制御情報の一つです。アクセス制御エレメント（ACE）のリストで構成されます。

アンバインド

パブリックACLとのバインドを解除することです。

異表記展開検索

全文検索条件として指定する検索タームまたは検索タームの異表記を含む文書を検索する全文検索のオプションです。例えば，検索タームとして「バイオリン」を指定した場合に，「ヴァイオリン」という検索タームの異表記を含む文書も検索できます。

インターフェース

DocumentBrokerクラスライブラリの機能を実行するためのメソッドが定義されている，クラスの仕様です。DocumentBrokerクラスライブラリでは，オブジェクトを操作するとき，まず，インターフェースを取得して，そのインターフェースで定義されているメソッドを実行するという手順で操作します。

永続オブジェクト

データベースに格納されたオブジェクトです。

永続プロパティ

データベースに存在するプロパティです。

オーナーオブジェクトプロパティ

リンクProxyオブジェクトのプロパティです。ターゲットリンクオブジェクトによってリンクが設定されている文書管理オブジェクトのうち，リンク元である文書管理オブジェクトのProxyオブジェクトが設定されます。

オブジェクト作成権

オブジェクト作成権限で，文書管理オブジェクトを作成する権利を与えるパーミッションです。ユーザ権限定義ファイルに指定します。

オブジェクト作成権限

文書管理オブジェクトを作成する権限で，ユーザ権限の一つです。ユーザ権限定義ファイルで定義します。オブジェクト作成権限を与えられたユーザおよびグループに属するユーザは，文書管理オブジェクトを作成するメソッドを実行できます。

オブジェクト種別

文書管理オブジェクトの種類を表す定数です。オブジェクト種別には，バージョンなし文書，バージョン付き文書，バージョンなしフォルダ，独立データおよびパブリックACLがあります。

オブジェクト種別プロパティ

Proxyオブジェクトのプロパティです。ターゲットオブジェクトのオブジェクト種別が設定されます。

オブジェクト操作権限

文書空間内のすべての文書管理オブジェクトを，与えられた権限の範囲で操作する権利です。ユーザ権限の一つです。ユーザ権限定義ファイルで定義します。例えば，オブジェクト操作権限として基本プロパティ参照権を与えられたユーザおよびグループに属するユーザは，文書空間内のすべての文書管理オブジェクトのプロパティを参照できます。

オブジェクトリファレンス

DocumentBrokerオブジェクトへのリファレンスを示すプロパティの値です。例えば，dmaProp_ParentContainerプロパティの値がこれに当たります。DocumentBrokerクラスライブラリのメソッドでこの値を使用することはできませんが，edmSQL文中では使用することができます。

カ行

下位オブジェクト

フォルダを使用した文書管理をする場合に，フォルダからリンクを設定されている，リンク先オブジェクトです。例えば，文書をフォルダに格納する管理をしている場合は，文書が下位オブジェクトです。

概念検索

ユーザが任意に指定した文章や文字列を手がかりにして，その条件と似た概念を持つ文書を検索する方法です。全文検索の一種です。概念検索で指定する条件のことを種文章といいます。

可変長配列

VARRAY型のプロパティの値です。DocumentBrokerクラスライブラリでは，DbjVArrayインターフェースで扱います。

仮のバージョン識別子

チェックアウト中の仮のバージョンを識別するための識別子です。

チェックアウト中のオブジェクトを参照・更新するときに使用します。この識別子はチェックアウト時にDocumentBrokerによって設定される識別子であり，仮のバージョンに該当するオブジェクトのOIIDとは異なります。

カレントバージョン

バージョン付き文書が持つ複数のバージョンの中の，最新バージョンのことです。

基本コンテンツ更新権

基本パーミッションの一つで，バージョンなし文書またはバージョン付き文書のコンテンツを更新する権利を与えるパーミッションです。基本プロパティ参照権を含みます。また，全文検索インデクスを作成，削除する権利も含みます。

基本コンテンツ参照権

基本パーミッションの一つで，バージョンなし文書またはバージョン付き文書のコンテンツを参照する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

基本削除権

基本パーミッションの一つで，文書管理オブジェクトを削除する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

基本バージョン管理権

基本パーミッションの一つで，バージョン管理されている文書管理オブジェクトのバージョンを追加，削除する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

基本パーミッション

ユーザおよびグループが文書管理オブジェクトに対して実行できる操作の範囲を定めるパーミッションの基本単位です。オブジェクト操作権限，アクセス制御フラグおよびアクセス制御エレメントで，ユーザおよびグループに許可する操作の範囲を定める場合に使用します。例えば，あるユーザに対して，文書の更新と削除を許可する場合は，更新と削除を許可するために，基本コンテンツ更新権と基本削除権という二つのパーミッションを設定します（一つのパーミッションで一つの権利を与えます）。基本パーミッションには，基本プロパティ参照権，基本プロパティ更新権，基本コンテンツ参照権，基本コンテンツ更新権，基本リンク権，基本バージョン管理権および基本削除権があります。

基本プロパティ更新権

基本パーミッションの一つで，文書管理オブジェクトのプロパティを更新する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

基本プロパティ参照権

基本パーミッションの一つで，文書管理オブジェクトのプロパティを参照する権利を与えるパーミッションです。そのほかのすべての基本パーミッションに含まれます。フォルダに対して設定すると，フォルダのリンクをたどることも許可します。

基本リンク権

基本パーミッションの一つで，リンクを設定・解除する権利を与えるパーミッションです。基本プロパティ参照権を含みます。

キャッシュキー

キャッシュ付き検索を実行する場合に，2回目以降の検索条件が前回の検索条件と同じかどうかを判断するためのキーです。検索条件が同じ場合，検索結果キャッシュに対して検索が実行されます。検索条件が異なる場合，検索結果キャッシュは破棄されて，文書空間に対して検索が再度実行されます。

キャッシュ検索

検索結果キャッシュを使用する検索です。文書空間に対して検索を実行したときに，取得した検索結果をキャッシュに保存しておき，同じ検索条件の2回目以降の検索では検索結果キャッシュから検索結果を取得します。同じ検索条件で複数回検索を実行する場合に，検索結果取得処理が高速になります。例えば，10,000件検索結果がある場合に，これを検索結果キャッシュとして保存しておき，ユーザアプリケーションプログラムではこれを100件ずつ取得する，という検索ができます。

キャッシュ名

検索結果キャッシュの名称です。検索結果キャッシュは，キャッシュ名によって識別されます。

近傍条件検索

全文検索条件に複数の検索タームを指定した場合に，検索ターム間の距離を条件にして検索する方法です。例えば，「『文書管理』という検索タームと『ドキュメント』という検索タームを含み，これらの検索タームがこのとおりの順序で出現し，かつ検索ターム間に入る文字が5文字以内である文書を検索する」というような場合に使用できます。

組み合わせパーミッション

基本パーミッションを複数組み合わせた権利を与えるパーミッションの単位です。アクセス制御フラグおよびアクセス制御エレメントでユーザおよびグループに許可する操作の範囲を定める場合に使用します。組み合わせパーミッションには，プロパティ参照権，参照権，プロパティ更新権，参照更新権，削除権，リンク権，バージョン管理権およびフルコントロールがあります。例えば，あるユーザに対して，ある文書の参照更新権という組み合わせパーミッションを設定すると，そのユーザは基本プロパティ参照権，基本プロパティ更新権，基本コンテンツ参照権および基本コンテンツ更新権が設定されたのと同じ範囲の操作を，その文書に対して実行できます。

クラスディスクリプション

DocumentBrokerクラスに関するメタ情報です。DocumentBrokerクラスごとに定義されています。

継承

既存のクラスを利用して新しいクラスを定義するオブジェクト指向の技術です。

検索結果キャッシュ

キャッシュ付き検索実行時に作成される検索結果のキャッシュです。キャッシュ付き検索では，例えば，10,000件の検索結果がある場合に，これを検索結果キャッシュとして保存しておき，ユーザアプリケーションプログラムではこれを100件ずつ取得する，という検索ができます。

検索結果集合

検索実行時に作成される，検索条件に一致する文書管理オブジェクトの集合です。要素がプロパティ値である，行と列の二次元データに，列名や列のデータ型などのメタデータを付けたものとして表されます。検索結果集合は，DbjResultSetインターフェースで扱います。

検索結果取得情報

キャッシュ付き検索実行時に，検索結果を何件検索結果キャッシュとして保存するか，また，検索結果キャッシュから何件ユーザアプリケーションプログラムに返却するかを指定する情報です。DbjFetchInfoインターフェースで扱います。

更新系メソッド

操作対象になるオブジェクトの状態を変化させるメソッドです。文書のコンテンツの更新や，文書やフォルダのプロパティの更新を実行するメソッドなどが該当します。

コレクション

java.util.Collectionインターフェースの仕様に従うオブジェクトです。要素オブジェクトの集合を表します。

コンテンツ

文書のデータ部分を指します。DocumentBrokerで規定しているコンテンツ管理モデルに従ってアクセスされるオブジェクトの実体（例えば，report.doc，document.htmなど）です。

コンテンツ格納先パス

リファレンスファイル管理機能を使用する場合に，コンテンツ格納先ベースパスを基点とする相対パスのことです。

コンテンツ格納先ベースパス

リファレンスファイル管理機能を使用する場合に，コンテンツ格納先の基点となるディレクトリパスのことです。

コンテンツ種別

レンディションのコンテンツが，シングルファイル文書のコンテンツか，またはリファレンスファイル文書のコンテンツかを示します。

コンテンツ情報

文書のコンテンツ管理モデルで管理されているコンテンツに関する情報です。ファイル名およびレンディションタイプが管理されています。DbjContentInfoインターフェースで扱います。

コンテンツロケーション

リファレンスファイル管理機能を使用する場合に，コンテンツの格納先を示す情報のことです。

サ行

削除権

組み合わせパーミッションの一つです。基本削除権と同じ操作を許可するパーミッションです。

サブインターフェース

あるインターフェースから派生するインターフェースのことです。上位インターフェースで定義されているメソッドを継承します。

サブクラス

あるクラスから派生するクラスのことです。または，それ自身がサブクラスとして参照されているクラスのことです。

サブジェクト

アクセス権を与えるユーザまたはグループです。

サブジェクト種別

アクセス権を与えるサブジェクトが，ユーザなのか，グループなのかまたはシステムなのかを識別するための情報です。

サブレンディション

マルチレンディション文書のマスタレンディション以外のレンディションです。なお，サブレンディションは，登録後にマスタレンディションに変更できます。

参照型リンク

一つのオブジェクトから複数のバージョンなしフォルダを親として関連付けるリンクの種別です。一つの文書に対して複数の分類を付けるイメージでの管理を実現します。

参照系メソッド

操作対象になるオブジェクトの状態を変化させないメソッドです。文書のコンテンツの参照や，文書やフォルダのプロパティの参照を実行するメソッドなどが該当します。

参照権

組み合わせパーミッションの一つです。基本コンテンツ参照権と同じ操作を許可するパーミッションです。

参照更新権

組み合わせパーミッションの一つです。基本プロパティ参照権，基本プロパティ更新権，基本コンテンツ参照権および基本コンテンツ更新権を組み合わせたパーミッションです。すなわち，参照更新権を設定することで，プロパティを参照，更新する権利とコンテンツを参照，更新する権利を設定できます。

サンプルWebアプリケーション

DocumentBrokerがサンプルとして提供しているアプリケーションプログラムです。DocumentBrokerを使用して開発されたコンポーネントで構成されています。

ユーザアプリケーションプログラムを開発する際に，アプリケーションプログラムのアーキテクチャを参考にできます。また，DocumentBrokerのクラス，インターフェース，メソッドなどの具体的な使用方法について参考にできます。

システム管理者

DocumentBrokerの運用，管理および保守をするユーザです。DocumentBrokerの実行環境を設定することができます。

上位オブジェクト

フォルダを使用した文書管理をする場合のリンク元オブジェクトです。つまり，フォルダのことです。

状態フラグ

マルチレンディション文書で，マスタレンディションに対するサブレンディションのコンテンツの状態を表すフラグです。マスタレンディションとサブレンディションのコンテンツの状態が一致している，マスタレンディションのコンテンツが更新されたのに対してサブレンディションのコンテンツが更新されていない，またはサブレンディションのコンテンツが存在しない，という3種類の状態が表されます。dbrProp_RenditionStatusプロパティの下位2バイトに設定されます。

所有者

文書管理オブジェクトの所有者として設定されているユーザです。アクセス制御フラグでアクセス権を与えられます。所有者に設定されているユーザは，その文書管理オブジェクトのアクセス制御フラグで所有者に与えられたパーミッションの範囲の操作を，その文書管理オブジェクトに対して実行できます。また，その文書管理オブジェクトの所有者およびセキュリティACLの値を変更できます。

スーパーインターフェース

あるインターフェースのインターフェース定義に使用されたインターフェースです。派生したインターフェースでは，スーパーインターフェースで定義されているメソッドを継承します。

スーパークラス

あるクラスのクラス定義に使用されたクラスを，派生したクラスのスーパークラスといいます。

セキュリティACL

文書管理オブジェクトに設定されたアクセス制御情報へのアクセスを制御するためのアクセス制御リストです。任意のユーザまたはグループにアクセス制御情報変更権を設定できます。

セキュリティ管理者

アクセス制御機能を利用した文書空間で，アクセス権判定を受けることなく，すべての文書管理オブジェクトに自由にアクセスする特権を持ち，文書空間のすべての文書管理オブジェクトを保守するユーザです。セキュリティ定義ファイルに定義します。

セッション

文書空間に接続している間のことです。文書空間に接続することを，セッションの確立といいます。文書空間との接続を解除することを，セッションの切断といいます。

セッションオブジェクト

セッションを確立する機能とセッション内のトランザクションを制御する機能を持つ，DocumentBrokerクラスライブラリのオブジェクトです。DbjSessionインターフェースの機能を実行できます。

セット

java.util.Setインターフェースの仕様に従うオブジェクトです。重複のない，要素オブジェクトの集合を表します。

全文検索

文書中に含まれるキーワードを条件（全文検索条件）として，キーワードを含む文書を検索する方法です。

全文検索インデクス

文書を全文検索するために，データベースに登録するインデクスです。全文検索の対象になるテキストデータに対応するedmProp_TextIndexプロパティ，edmProp_ConceptTextIndexプロパティに相当します。

全文検索機能付き文書クラス

dmaClass_DocVersionクラスのサブクラスに全文検索に必要なプロパティを追加したサブクラスです。プロパティの追加は，ユーザが行います。

バージョンなし文書作成時のトップオブジェクトクラスのDocumentBrokerクラス名として，またはバージョン付き文書作成時のバージョンオブジェクトのトップオブジェクトクラスのDocumentBrokerクラス名として指定します。

edmSQLで全文検索を実行するときには，このDocumentBrokerクラスを検索対象としてFROM句に指定します。

属性検索

文書管理オブジェクトのプロパティを対象にした検索です。例えば，「『文書名』が『X』で『作成者』が『A』の文書」のような条件を設定して検索する方法です。

タ行

ターゲットOIIDプロパティ

Proxyオブジェクトのプロパティです。ターゲットオブジェクトのOIIDが設定されます。

ターゲットオブジェクト

Proxyオブジェクトが対象にする文書管理オブジェクトのことです。

ターゲットオブジェクトプロパティ

リンクProxyオブジェクトのプロパティです。ターゲットリンクオブジェクトが関連付けている二つの文書管理オブジェクトのうち，リンク先オブジェクトのProxyオブジェクトが設定されます。

例えば，フォルダと文書間の直接型リンクをターゲットリンクオブジェクトとするリンクProxyオブジェクトの場合，ターゲットオブジェクトプロパティには文書のProxyオブジェクトが設定されます。

ターゲットバージョン

バージョン付きオブジェクトの複数のバージョンオブジェクトのうち，操作の対象になるバージョンです。

ターゲットバージョン識別子プロパティ

Proxyオブジェクトのプロパティです。ターゲットバージョンであるバージョンオブジェクトのバージョン識別子が設定されます。

ターゲットプロパティ値集合プロパティ

Proxyオブジェクトのプロパティです。文書管理オブジェクトからロードしたプロパティ値集合が設定されます。

ターゲットリンクオブジェクト

リンクProxyオブジェクトが対象にするリンクオブジェクトのことです。

ターゲットリンク識別子プロパティ

リンクProxyオブジェクトのプロパティです。ターゲットリンクオブジェクトのリンク識別子が設定されます。

種文章

概念検索の検索条件に指定する文章です。概念検索では，種文章を特徴付ける単語が種文章から抽出され，さらに抽出された特徴タームの中から種文章の概念を表す（実際の検索に使用する）タームが選出されます。このタームが，検索タームとして使用されます。

チェックアウト

バージョン付き文書にバージョンを追加するために，仮のバージョンを追加することです。

チェックアウト情報

バージョン付きオブジェクトのチェックアウトに関する情報です。チェックアウトしているか，チェックアウトしている場合はだれがチェックアウトしているか，また，チェックアウトしたときに設定された仮のバージョン識別子は何かについての情報です。DbjCheckOutInfoインターフェースで扱います。

チェックイン

バージョン付き文書をチェックアウトして追加した仮のバージョンを最新バージョンとして確定することです。

直接型リンク

一つのフォルダを親として複数のオブジェクトを関連付けるリンクの種別です。ディレクトリにファイルを格納するイメージでの管理を実現します。

定数定義クラス

DocumentBrokerクラスライブラリのメソッドで指定する定数が定義されているDbjDefクラスのことです。

ディレクトリサービス

ネットワーク上にあるユーザや組織の情報などの資源とその属性を記憶し，検索できるようにしたシステムです。

DocumentBrokerでは，Active DirectoryやOracle Directory Server Enterprise Editionなどの製品を使用したLDAP対応のディレクトリサービスと連携できます。

同義語展開検索

全文検索条件として指定する検索タームまたは検索タームの同義語を含む文書を検索する方法です。例えば，検索タームとして「パソコン」を指定した場合に，「電子計算機」，「パーソナルコンピュータ」，「PC」など，検索タームと同じ意味を持つ単語を含む文書も検索できます。

独立データ

独立したデータを表すオブジェクトです。プロパティだけを持つことができる文書管理オブジェクトです。

edmClass_IndependentPersistenceクラスまたはそのサブクラスを基に作成したDocumentBrokerオブジェクトをトップオブジェクトとする文書管理オブジェクトです。

特権

アクセス制御機能を利用した文書空間で，アクセス権判定を受けることなく，すべてのオブジェクトに自由にアクセスする権利です。セキュリティ定義ファイルにセキュリティ管理者として定義されたユーザに与えられます。特権の有無は，ログイン時にセキュリティ定義ファイルが参照され，ログインユーザごとに作成されるユーザ情報に保持されます。

トップオブジェクト

文書管理オブジェクトを構成するDocumentBrokerオブジェクトのうち，代表的なDocumentBrokerオブジェクトです。例えば，バージョンなし文書の場合は，DocVersionオブジェクトです。

また，バージョン付きオブジェクトの場合，バージョニングオブジェクトのトップオブジェクトとバージョンオブジェクトのトップオブジェクトがあります。例えば，バージョン付き文書の場合は，ConfigurationHistoryオブジェクトとVersionTracedDocVersionオブジェクト（またはDocVersionオブジェクト）がトップオブジェクトです。

トップオブジェクトクラス

トップオブジェクトの基になるDocumentBrokerクラスです。文書管理オブジェクトのプロパティの定義元になります。

トランザクション

文書管理オブジェクトの処理単位です。トランザクション単位で，文書管理オブジェクトへの操作を確定または取り消すことができます。

トランザクションの単位は，ユーザが明示的に指定できます。指定しなかった場合は，メソッド単位でトランザクションが分割されます。

トレースクラス

DocumentBrokerクラスライブラリを使用してユーザアプリケーションプログラムを開発・運用する上で必要なトレース情報を出力するメソッドを提供しています。

トレース情報

DocumentBrokerクラスライブラリで発生した障害の原因を追求するための情報です。

ナ行

名前付き検索結果

列名が付いている検索結果集合です。列名には，edmSQL文でSELECT句に指定した項目の名前（プロパティ名など）が設定されます。

名前なし検索結果

列名が付いていない検索結果集合です。名前なし検索結果は，あとから列名を追加して，名前付き検索結果集合にすることができます。

ハ行

バージョニングオブジェクト

バージョン付きオブジェクトの一連のバージョンを統括する文書管理オブジェクトです。DocumentBrokerオブジェクトのConfigurationHistoryオブジェクトをトップオブジェクトとする文書管理オブジェクトです。

バージョンオブジェクト

バージョン付きオブジェクトの個々のバージョンを表す文書管理オブジェクトです。

バージョン付き文書の場合は，DocumentBrokerオブジェクトのVersionTracedDocVersionオブジェクト（またはDocVersionオブジェクト）をトップオブジェクトとする文書管理オブジェクトです。

バージョン管理

文書管理オブジェクトを更新する場合に，古いオブジェクトを残して新しい状態のオブジェクトを追加して，一連の履歴を管理することです。

バージョン管理権

組み合わせパーミッションの一つです。基本プロパティ参照権，基本プロパティ更新権，基本コンテンツ参照権，基本コンテンツ更新権および基本バージョン管理権を組み合わせたパーミッションです。

バージョン識別子

複数のバージョンを持つ文書管理オブジェクトの，バージョンを識別するための識別子です。特定のバージョンを指定して操作するときに使用します。この識別子はDocumentBrokerによってバージョンごとに設定される識別子であり，バージョンオブジェクトのOIIDとは異なります。

バージョン付き文書

複数のバージョンを保持できる文書を表す文書管理オブジェクトです。

バージョンなしフォルダ

バージョン管理しないフォルダを表す文書管理オブジェクトです。

バージョンなし文書

バージョン管理しない文書を表す文書管理オブジェクトです。

パーミッション

文書管理オブジェクトの作成，プロパティ参照，コンテンツ更新などの実行できる操作の範囲を表す値です。オブジェクト作成権限を与えるパーミッション，オブジェクトの操作の範囲を定めるパーミッションがあります。

バインド

文書やフォルダからパブリックACLを参照することです。

パブリックACL

文書管理オブジェクトとして存在するアクセス制御情報です。複数の文書管理オブジェクトで共有できます。

パラメタクラス

DocumentBrokerクラスライブラリ固有のデータをメソッドで受け渡す場合に使用するインターフェースの総称です。

ファクトリオブジェクト

DbjFactoryインターフェースの機能を実行するためのオブジェクトです。パラメタクラスのオブジェクトおよびセッションオブジェクトが作成できます。

ファクトリクラス

パラメタクラスのオブジェクトの生成，セッションオブジェクトの生成，および文書空間メタ情報アクセスインターフェースの取得を実行する，クラスならびにインターフェースです。

プライマリグループ

アクセス制御フラグ（ACFlag）でパーミッションを与えるグループです。

フラッシュ

Proxyオブジェクトのターゲットプロパティ値集合プロパティに設定した値を，文書管理オブジェクトのプロパティに反映することです。

フルコントロール

組み合わせパーミッションの一つです。すべての基本パーミッションを組み合わせたパーミッションです。文書管理オブジェクトに対するすべての操作を許可します。

プロパティ

オブジェクトに関する付加情報です。プロパティに設定される値をプロパティ値といいます。

プロパティ更新権

組み合わせパーミッションの一つです。基本プロパティ更新権と同じ操作を許可するパーミッションです。

プロパティ参照権

組み合わせパーミッションの一つです。基本プロパティ参照権と同じ操作を許可するパーミッションです。

プロパティ値集合

プロパティ名とプロパティ値の対応を要素として持つ集合です。DbjPropSetインターフェースで扱います。DbjPropSetインターフェースは，java.util.Mapインターフェースを継承しています。キーをプロパティ名，値をプロパティ値とするマップとして表されます。

Proxyオブジェクトにロードしたプロパティの値を操作したり，文書管理オブジェクトに設定するためのプロパティの値を設定したりするときに使用します。

プロパティ定義元のDocumentBrokerクラス

DocumentBrokerクラスライブラリで扱う文書管理オブジェクトのプロパティが実際に定義されているDocumentBrokerのクラスです。

プロパティディスクリプション

文書管理オブジェクトのプロパティについてのメタ情報です。プロパティごとに定義されています。

文書

dmaClass_DocVersionクラスまたはそのサブクラスをトップオブジェクトクラスとする文書管理オブジェクトです。コンテンツを保持できます。

文書管理オブジェクト

DocumentBrokerの文書管理で使用する，文書空間に存在するオブジェクトの総称です。バージョンなし文書，バージョン付き文書，バージョンなしフォルダ，独立データおよびパブリックACLがあります。

文書管理クラス

DocumentBrokerの文書管理モデルに基づいた管理を実現するための機能を提供するインターフェースの総称です。

文書間リンク

文書と文書を関連付けるリンクの種別です。

文書空間

DocumentBrokerオブジェクトモデルを実装するリポジトリです。

文書空間アクセスオブジェクト

セッションを確立した文書空間を，概念的なオブジェクトとして扱うためのオブジェクトです。DbjDocSpaceインターフェースの機能を実行できます。

文書空間構成定義ファイル

アクセス制御の運用情報を定義するファイルです。セキュリティ管理者，ユーザ権限定義ファイル名，および文書管理オブジェクト作成時にアクセス制御フラグにデフォルトで設定されるパーミッションを定義します。

文書空間識別子

セッションを確立する文書空間を特定するための識別子です。GUID文字列で表されます。

文書のアップロード情報

文書のコンテンツを更新するときに，コンテンツとして登録するファイルのパス名やファイル名，レンディションタイプなどを設定します。DbjUploadInfoインターフェースで扱います。

変換フラグ

マルチレンディション文書のサブレンディションのコンテンツを，レンディション変換の対象にするかどうかを表すフラグです。レンディション変換機能を使用してレンディション変換を実行する場合に使用します。また，レンディション変換機能によるレンディション変換でエラーが発生した場合には，エラーを示すフラグとしても使われます。dbrProp_RenditionStatusプロパティの上位2バイトに設定されます。

マ行

マスタレンディション

マルチレンディション文書の主要なレンディションです。マルチレンディション文書の参照・更新時には，レンディション形式を指定しますが，レンディション形式を指定しない場合は，マスタレンディションが対象になります。なお，マスタレンディションとして扱うレンディションは，登録後に変更できます。

マップ

java.util.Mapインターフェースの仕様に従うオブジェクトです。キーと値が対応付けられた要素オブジェクトの集合を表します。

マルチレンディション機能

一つの文書に，同一内容の複数の異なる形式のコンテンツを登録する機能です。

マルチレンディション文書

複数のレンディションを登録している文書のことです。一つの同じ内容を表す複数の形式のコンテンツを保持する文書です。バージョンなし文書クラスまたはバージョン付き文書クラスを使用して操作します。

メソッド

データを操作するために定義されている方法です。DocumentBrokerクラスライブラリでは，インターフェースおよびクラスごとにメソッドが定義されています。

メタクラス

文書空間のメタ情報を扱うためのインターフェースの総称です。

メッセージ情報

DocumentBrokerクラスライブラリのメソッドを実行してエラーが発生したときに取得できるエラーメッセージです。

ヤ行

ユーザ管理システム

DocumentBrokerにログインするユーザのユーザ名や所属グループなどの情報を管理しているシステムです。LDAP対応のディレクトリサービスなどが使用できます。

なお，ログイン時の認証に必要な情報，およびアクセス制御機能に必要な情報を取得する場合は，DocumentBrokerを介してユーザ管理システムにアクセスします。この場合にどのユーザ管理システムと連携するかについては，DocumentBrokerで定義されています。

ユーザ権限

文書空間にオブジェクトを作成する権利（オブジェクト作成権限）と，文書空間内のすべてのオブジェクトに対する操作の範囲（オブジェクト操作権限）をユーザまたはグループ単位で定めるアクセス制御情報の一つです。ユーザ権限定義ファイルに定義します。ユーザ権限の内容は，ログイン時にユーザ権限定義ファイルが参照され，ログインユーザごとに作成されるユーザ情報に保持されます。

ユーザ権限定義ファイル

ユーザ権限（オブジェクト作成権限およびオブジェクト操作権限）を定義するためのファイルです。

ユーザ情報

ログインユーザのユーザ識別子，所属グループ，特権およびユーザ権限を表す情報です。ログイン時にユーザごとに生成され，アクセス権判定に使用されます。

ユーザ定義プロパティ

ユーザが業務に応じて追加するプロパティです。

ラ行

ライブラリ情報取得クラス

DocumentBrokerのバージョン情報を返却するメソッドを提供するクラスです。

リスト

java.util.Listインターフェースの仕様に従うオブジェクトです。順序付けのある要素オブジェクトの集合を表します。

リファレンスファイル管理機能

DocumentBrokerが存在するマシンから接続可能なファイルシステムの任意のディレクトリで文書のコンテンツを管理し，文書のプロパティおよびコンテンツの格納先の情報をデータベースで管理する機能です。

リファレンスファイル文書

DocumentBrokerが存在するマシンから接続可能なファイルシステムの任意のディレクトリに格納されているファイルをコンテンツとして持つ文書のことです。データベースでは，文書のプロパティおよびコンテンツの格納先の情報を管理しています。

リレーション種別

文書間リンクで関連付けられた文書をたどる場合に，リンク先の文書を取得するか，リンク元の文書を取得するかを指定するための種別です。

リンクProxyオブジェクト

リンクオブジェクトを操作する場合に使用する代理オブジェクトです。

リンクProxyオブジェクトは，メモリ空間に存在します。不要になった場合は，Javaのガベージコレクションによって削除されます。

リンクオブジェクト

文書管理オブジェクトの関連付けに使用するオブジェクトです。文書空間およびデータベースに存在する永続オブジェクトです。

リンク権

組み合わせパーミッションの一つです。基本リンク権と同じ操作を許可するパーミッションです。

リンク先オブジェクト

リンクを設定する先になる文書管理オブジェクトです。

リンク識別子

文書管理オブジェクト間（フォルダとフォルダ間）のリンクを識別するための識別子です。リンクを解除したり，リンクのプロパティの参照または更新したりする場合に使用します。

この識別子は関連付けをしたときにDocumentBrokerによって設定される識別子です。同じフォルダに，同じオブジェクトを2度リンク付けした場合は，それぞれ異なるリンク識別子が設定されます。

リンク種別

リンクの種類です。直接型リンク，参照型リンク，文書間リンクがあります。

リンク設定情報

リンクの設定に関する情報です。リンク種別，リンクオブジェクトのプロパティ，リンク先になるオブジェクトに関する情報などがあります。DbjSetLinkInfoインターフェースのサブインターフェースで表されます。なお，DbjSetLinkInfoインターフェースのサブインターフェースは，リンク種別ごとに存在します。

リンクプロパティ値集合プロパティ

リンクProxyオブジェクトのプロパティです。リンクオブジェクトからロードしたプロパティ値集合が設定されます。

リンク元オブジェクト

リンクを設定する元になる文書管理オブジェクトです。

例外クラス

DocumentBrokerクラスライブラリで発生する例外のうち，DocumentBrokerクラスライブラリ固有の例外を扱うクラスの総称です。java.lang.Exceptionクラスまたはjava.lang.Errorクラスを継承しています。

列名

検索結果集合の列に付ける名前です。edmSQL文のSELECT句に指定したプロパティ名が設定されます。

レンディション

文書のコンテンツの形式およびそのコンテンツを併せた概念です。

レンディション情報

レンディションの情報です。レンディションタイプおよびレンディションのプロパティです。DbjRenditionInfoインターフェースで扱います。

レンディション情報リスト

レンディション情報を要素としたリストです。DbjRenditionListインターフェースで扱います。

レンディションタイプ

Wordなどのアプリケーションで編集したファイル，GIFなどの画像データのファイルのように，登録した文書のコンテンツのファイルの形式を表す文字列です。レンディションごとに設定します。DocumentBrokerでは，レンディションタイプとして，MIME形式を指定することを推奨しています。

レンディション定義ファイル

ファイルの拡張子とレンディションタイプ（MIME形式）の対応を定義するファイルです。DocumentBrokerクラスライブラリがコンテンツとして登録するファイルの拡張子によってレンディションタイプ（MIME形式）を自動的に判別して設定する場合に参照されます。

レンディション変換

マルチレンディション文書のマスタレンディションのコンテンツを変換して，サブレンディションのコンテンツを作成，登録することです。

ローカルACL

文書管理オブジェクトごとに設定できるアクセス制御リスト（ACL）です。VARRAY型のプロパティとして設定されます。

ロード

文書管理オブジェクトのプロパティを，Proxyオブジェクトのターゲットプロパティ値集合プロパティに読み込むことです。

ログアウト

文書空間とのセッションを切断することです。

ログイン

文書空間とのセッションを確立することです。ログインするときには，ユーザ識別子とパスワードによる認証処理も実行されます。

ロック指定検索

検索結果集合として取得した文書管理オブジェクトに，指定した種別のロックを設定する検索です。

ロック種別

排他制御を実行するために設定する，ロックの種類です。readロックとwriteロックがあります。

ロック種別プロパティ

Proxyオブジェクトのプロパティです。そのProxyオブジェクトのインターフェースのメソッドで設定するロック種別が設定されます。

ワ行

ワイルドカード

文字の代わりに指定する記号です。検索する単語の一部しかわからない場合，わかっている部分にワイルドカードを付けて検索条件のキーワードとして指定します。

索引

[記号]
[Ａ][Ｂ][Ｃ][Ｄ][Ｅ][Ｆ][Ｇ][Ｈ][Ｉ][Ｊ][Ｌ][Ｍ][Ｎ][Ｏ][Ｐ][Ｑ][Ｒ][Ｓ][Ｔ][Ｕ][Ｖ][Ｗ]
[ア行][カ行][サ行][タ行][ナ行][ハ行][マ行][ヤ行][ラ行][ワ行]

(記号)

?パラメタ ,[2]

?パラメタ値の取得

?パラメタに関する制限事項

?パラメタを指定する検索

@プレフィックス

(英字)

(Ａ)

absolute

ACE ,[2]

ACEの作成

ACEのプロパティ値集合の取得

ACEのプロパティ値集合の設定

ACFlag

ACL

aclMode（changeSearchACLMode）

addPropSet

addPropVals

addRendition

afterLast

AND条件

API（Application Programming Interface）

arg

(Ｂ)

beforeFirst

begin

Between述語

bindObjectList（createPublicACL）

bindPublicACL

BOOL型の?パラメタの作成

BOOL型の値を表す?パラメタ

BOOL型を表す定数

(Ｃ)

cacheKey（createFetchInfo）

cacheKey（setCacheKey）

cacheKeyプロパティ

cacheName（createFetchInfo）

cacheName（setCacheName）

cacheNameプロパティ

cacheTotal（setCacheTotal）

cacheTotalプロパティ

call

cancelCheckOut

changeMap（changePropNames） ,[2]

changeMaster（createConvertContentInfo）

changeMasterRendition

changeMasterプロパティ

changePropName ,[2]

changePropNames ,[2]

changeSearchACLMode

changeUserPrivilege

checkIn

checkOut

checkOutUserIdプロパティ

checkOutVersionIdプロパティ

checkOutプロパティ

checkRenditionStatus（createConvertContentInfo）

checkRenditionStatusプロパティ

checkSession

childLinkList（link）

childList（unlink）

childObjs（link）

className（call）

className（createDocument）

className（createFolder）

className（createIndependentData）

className（createPublicACL）

className（DbjTrace）

className（getClassDesc）

classNameVersion（createVrDocument）

classNameVersioning（createVrDocument）

close

columnIndex（getColumnMetaName）

columnIndex（getColumnName）

columnIndex（getColumnType）

columnIndex（getColumnVals）

columnIndex（getIntegerVal）

columnIndex（getIntVal）

columnIndex（getObjectRef）

columnIndex（getObjectVal）

columnIndex（getStringVal）

columnIndex（getTableName）

columnIndex（getVArrayRef）

columnIndex（getVArrayVal）

columnIndex（isNull）

columnIndex（setColumnMetaName）

columnIndexOfOiid（createObjList）

columnMetaName（setColumnMetaName）

columnName（findColumnName）

columnName（getColumnVals）

columnName（getIntegerVal）

columnName（getIntVal）

columnName（getObjectRef）

columnName（getObjectVal）

columnName（getStringVal）

columnName（getVArrayRef）

columnName（getVArrayVal）

columnName（isNull）

columnNameOfOiid（createObjList）

commit

comp（createFetchInfo）

comp（setComparator）

Comparatorインターフェースの取得

Comparatorインターフェースの設定

comparatorプロパティ

concept_with_score関数

Containerオブジェクト

contains_with_score関数

contains関数

contentLocationプロパティ（DbjReferenceContentInfo）

contentOperateMode（createReferencePathInfo）

contentOperateMode（setContentOperateMode）

contentOperateModeプロパティ（DbjReferencePathInfo）

convertInfo（convertContentType）

convertType（createConvertContentInfo）

convertTypeプロパティ

COUNT ,[2]

createACE

createBooleanQParam

createConvertContentInfo

createDocument

createFetchInfo

createFolder

createIndependentData

createInteger32QParam

createLinkObjList

createObjConnection

createObjList

createObjQParam

createOIIDQParam

createPropSet

createPublicACL

createPublicACLIdElm

createReferencePathInfo

createReferenceUploadInfo

createReferenceUploadInfoByStream

createSeedDocQParam

createSession

createSetDCRLinkInfo

createSetRCRLinkInfo

createSetRelLinkInfo

createStringQParam

createUploadInfo

createUploadInfoByStream

createVArray

createVrDocument

CURRENT_VERSION

(Ｄ)

DATATYPE_BOOL

DATATYPE_INT

DATATYPE_STR

DATATYPE_STRLIST

DATATYPE_UNKNOWN

DATATYPE_VARRAY

DbjAccessControlExceptionクラス

DbjAccessControlNotSupportedExceptionクラス

DbjACEOperationExceptionクラス

DbjACEインターフェース ,[2]

DbjACEインターフェースのメソッド一覧

DbjACLOutOfRangeExceptionクラス

DbjAlreadyCheckOutExceptionクラス

DbjBooleanQParamインターフェース

DbjCheckOutExceptionクラス

DbjCheckOutInfoインターフェース

DbjCheckOutInfoインターフェースのメソッド一覧

DbjClassDescインターフェース

DbjClassDescインターフェースのメソッド一覧

DbjContentInfoインターフェース

DbjContentInfoインターフェースのメソッド一覧

DbjConvertContentInfoインターフェース

DbjConvertContentInfoインターフェースのメソッド一覧

DbjDBDeadLockExceptionクラス

DbjDBExceptionクラス

DbjDBLockTimeoutExceptionクラス

DbjDefクラス ,[2]

DbjDocSpaceインターフェース

DbjDocSpaceインターフェースの機能

DbjDocSpaceインターフェースのメソッド一覧

DbjErrorクラス

DbjExceptionクラス

DbjFactory0200クラス ,[2]

DbjFactory0200クラスの機能

DbjFactory0200クラスのメソッド一覧

DbjFactoryインターフェース

DbjFactoryインターフェースの機能

DbjFactoryインターフェースのメソッド一覧

DbjFetchInfoインターフェース

DbjFetchInfoインターフェースのメソッド一覧

DbjFileAccessExceptionクラス

DbjFileNotFoundExceptionクラス

DbjFileReferenceCurrentContentNotfoundExceptionクラス

DbjFileReferenceMismatchStatusExceptionクラス

DbjFileReferenceOperationFailedExceptionクラス

DbjIllegalCacheStartIndexExceptionクラス

DbjIllegalDocSpaceIdExceptionクラス

DbjIllegalObjectTypeExceptionクラス

DbjIllegalPropValExceptionクラス

DbjInitializeErrorクラス

DbjInteger32QParamインターフェース

DbjInternalErrorクラス

DbjIOExceptionクラス

DbjIsMasterRenditionExceptionクラス

DbjLastVersionExceptionクラス

DbjLibInfoクラス ,[2]

DbjLibInfoクラスのメソッド

DbjLinkObjListインターフェース

DbjLinkObjListインターフェースのメソッド一覧

DbjLinkObjインターフェース

DbjLinkObjインターフェースのメソッド一覧

DbjMasterRenditionNotSetExceptionクラス

DbjMetaManagerインターフェース

DbjMetaManagerインターフェースのメソッド一覧

DbjMetaインターフェース

DbjMetaインターフェースのメソッド一覧

DbjNotAuthenticatedExceptionクラス

DbjNotCheckOutExceptionクラス

DbjNotLoginExceptionクラス

DbjNotSupportedExceptionクラス

DbjObjectNotFoundExceptionクラス

DbjObjListインターフェース

DbjObjListインターフェースのメソッド一覧

DbjObjQParamインターフェース

DbjObjインターフェース

DbjObjインターフェースのメソッド一覧

DbjOIIDQParamインターフェース

DbjPropDescインターフェース

DbjPropDescインターフェースのメソッド一覧

DbjPropSetインターフェース

DbjPropSetインターフェースのメソッド一覧

DbjPublicACLAlreadyBoundExceptionクラス

DbjPublicACLIdElmインターフェース

DbjPublicACLIdElmインターフェースのメソッド一覧

DbjPublicACLNotBoundExceptionクラス

DbjPublicACLNotFoundExceptionクラス

DbjPublicACLOperationExceptionクラス

DbjPublicACLOutOfRangeExceptionクラス

DbjQParamインターフェース

DbjQParamインターフェースのメソッド一覧

DbjReferenceContentInfoインターフェース

DbjReferenceContentInfoインターフェースのメソッド一覧

DbjReferenceContentInfoのgetter

DbjReferencePathInfoインターフェース

DbjReferencePathInfoインターフェースのメソッド一覧

DbjReferenceTypeMismatchExceptionクラス

DbjReferenceUploadInfoインターフェース

DbjReferenceUploadInfoインターフェースのメソッド一覧

DbjRenditionCountOutOfRangeExceptionクラス

DbjRenditionInfoインターフェース

DbjRenditionInfoインターフェースのメソッド一覧

DbjRenditionIsEmptyExceptionクラス

DbjRenditionListインターフェース

DbjRenditionListインターフェースのメソッド一覧

DbjRenditionNotFoundExceptionクラス

DbjRenditionTypeDuplicatedExceptionクラス

DbjResultSetインターフェース

DbjResultSetインターフェースのメソッド一覧

DbjSeedDocQParamインターフェース

DbjSessionExceptionクラス

DbjSessionNotConnectExceptionクラス

DbjSessionインターフェース

DbjSessionインターフェースの機能

DbjSessionインターフェースのメソッド一覧

DbjSetDCRLinkInfoインターフェース

DbjSetLinkInfoインターフェース

DbjSetLinkInfoインターフェースのメソッド一覧

DbjSetRCRLinkInfoインターフェース

DbjSetRelLinkInfoインターフェース ,[2]

DbjSubjectLengthOutOfRangeExceptionクラス

DbjTargetContentPathNotSetExceptionクラス

DbjTrace

DbjTraceDefクラス ,[2]

DbjTraceクラス ,[2]

DbjTraceクラスのメソッド ,[2]

DbjUnknownErrorクラス

DbjUploadInfoインターフェース

DbjUploadInfoインターフェースのメソッド一覧

DbjVArrayインターフェース

DbjVArrayインターフェースのメソッド一覧

DbjVerObjListインターフェース

DbjVerObjListインターフェースのメソッド一覧

DbjVerObjインターフェース

DbjVerObjインターフェースのメソッド一覧

DBMS関数 ,[2]

DEBUG

DEFAULT_DOCSPCID

deleteRendition

deleteRootPath（createReferencePathInfo）

deleteRootPath（setDeleteRootPath）

deleteRootPathプロパティ（DbjReferencePathInfo）

deleteVersion

distinct

DMA_FALSE

DMA_TRUE

DMA_UNKNOWN

dmaClass_ConfigurationHistoryクラス

dmaClass_Containerクラス

dmaClass_DocVersionクラス

docspaceId（createSession）

docspaceId（getMeta）

DocumentBrokerオブジェクト

DocumentBrokerクラス

DocumentBrokerクラス名の取得

DocumentBrokerクラスライブラリ

DocumentBrokerクラスライブラリのセッションオブジェクトの作成

DocumentBrokerで扱うデータ

DocVersionオブジェクト

downloadContents

(Ｅ)

edmClass_ContainerVersionクラス

edmClass_IndependentPersistenceクラス

edmClass_PublicACLクラス

edmClass_VersionTracedDocVersionクラス

edmSQL

edmSQL関数 ,[2]

edmSQL検索

edmSQLで使用できるデータ型

edmSQLの指定例

edmSQLプログラム

edmSQL文

edmSQL文だけを指定する単純な検索

enter

entry（createReferencePathInfo）

entry（setEntry）

entryプロパティ（DbjReferencePathInfo）

eqlStatement（executeSearch）

eqlStatement（removeObjects）

ERROR

error

ERRORLOG

ex（error）

executeMode（createConvertContentInfo）

executeModeプロパティ

executeSearch

Exists述語

exit

extension（getRenditionType）

extracts関数

(Ｆ)

fetchCount（createFetchInfo）

fetchCount（setFetchCount）

fetchCountプロパティ

fetchInfo（executeSearch）

fetchInfo（getBindObjectList）

fetchInfo（getChildList）

fetchInfo（getParentList）

fetchInfo（getRelList）

fetchInfo（getVersionObjList）

filePath（createReferenceUploadInfo）

filePath（createUploadInfo）

filePath（downloadContents）

filePath（setFilePath）

filePathプロパティ

fileStream（createReferenceUploadInfo）

fileStream（createUploadInfo）

fileStream（setFileStream）

fileStreamプロパティ ,[2]

fileStreamプロパティの取得

fileStreamプロパティの設定

findColumnName

first

FROM句

FROM句に関する制限事項

(Ｇ)

getBindObjectList

getCacheKey

getCacheName

getCacheTotal

getCheckOutStatus

getCheckOutUserId

getCheckOutVersionId

getChildList

getClassDesc

getClassName

getColumnCount

getColumnMetaName

getColumnName

getColumnType

getColumnVals

getComparator

getConnection

getContentLocation

getContentOperateMode

getDataType

getDCRParent

getDeleteRootPath

getDocSpaceId

getEntry

getExtFromRenditionType

getFactory

getFetchCount

getFilePath

getFileStream

getId

getIndexPath

getIndexStream

getInputStream

getIntegerVal ,[2]

getIntVal ,[2]

getLinkId

getLinkIdList

getLinkObj

getLinkType ,[2]

getListRef

getLockType

getLoginUserInfo

getMaxFetchCount

getMeta ,[2]

getMetaManager

getName ,[2]

getObj

getObjectRef

getObjectVal

getObjType

getOiid

getOwnerObj

getOwnerObjList

getParentList

getPermission

getPropCount

getPropDataType

getPropDesc

getProperties

getPropNameSet

getPropSet

getPropVals

getPublicACLList

getReferenceContentInfo

getReferencePathInfo

getReferenceType

getRelList

getRenditionInfo

getRenditionList

getRenditionType ,[2] ,[3] ,[4]

getRenditionTypeList

getRetrievalName ,[2]

getRow

getRowCount

getRowVals

getSearchACLMode

getStartIndex

getStringVal ,[2]

getSubClasses

getSubject

getSubjectType

getSuperClass

getTableName

getTargetObj ,[2]

getTargetObjList

getTargetPath

getTargetVersion

getterメソッド ,[2]

getVal

getVArrayClass

getVArrayRef ,[2]

getVArrayVal ,[2]

getVerObj

getVersion

getVersionId ,[2]

getVersionIdList

getVersioningInfo

getVersionObjList

GROUP BY句

grpSubject（setGroupSubject）

GUID

(Ｈ)

HAVING句

HINT

hint

(Ｉ)

id（setId）

Idプロパティ

index（getLinkObj）

index（getObj）

index（getRenditionInfo）

index（getVerObj）

INDEXPATH_SAME

indexPath（createreferenceuploadinfo）

indexPath（createUploadInfo）

indexPath（setIndexPath）

indexPathプロパティ

indexStream（createreferenceuploadinfo）

indexStream（createUploadInfo）

indexStream（setIndexStream）

indexStreamプロパティ ,[2]

indexStreamプロパティの取得

indexStreamプロパティの設定

INDEXTYPE_NOTHING

init

INITIAL_KEY

InputStreamプロパティ

Integer型でのプロパティ値の取得

Integer型での列データの取得

int型でのプロパティ値の取得

int型での列データの取得

INT型の?パラメタの作成

INT型の値を表す?パラメタ

investMode（createConvertContentInfo）

investModeプロパティ

investSourceComment（createConvertContentInfo）

investSourceCommentプロパティ

In述語

isAccessControlMode

isAfterLast

isAlsoChildren（removeObject）

isAlsoChildren（removeObjects）

isBeforeFirst

isCheckOut

isFirst

isLast

isNamed

isNull ,[2]

(Ｊ)

Javaの基本データ型およびJavaが提供するインターフェース

JDBCコネクションの取得

(Ｌ)

last

level（arg）

level（call）

level（enter）

level（error）

level（hint）

level（msg）

Like述語

link

LINK_ALL

LINK_DCR

LINK_NONE

LINK_RCR

LINK_REL

linkIds（unlinkByLinkId）

linkPropDefs（getChildList）

linkPropDefs（getParentList）

linkPropDefs（getRelList）

linkProps（createSetDCRLinkInfo）

linkProps（createSetRCRLinkInfo）

linkProps（createSetRelLinkInfo）

linkType（getChildList）

linkType（getParentList）

linkType（link）

linkTypeプロパティ

List型でのプロパティ値の取得

lock ,[2]

LOCK_NONE

LOCK_READ

LOCK_READFORUPDATE

LOCK_WRITE

lockType（executeSearch）

lockType（lock） ,[2]

login

logout

(Ｍ)

MANAGE

MAX_NUM

maxFetchCount（createFetchInfo）

maxFetchCount（setMaxFetchCount）

maxFetchCountプロパティ

message（error）

message（hint）

message（msg）

messageID（msg）

methodName（call）

methodName（DbjTrace）

MIME形式

move ,[2]

msg

(Ｎ)

name（arg）

newName（changePropName） ,[2]

next

NOT条件

Null述語

NULL値かどうかの判定

NULL値プロパティの設定

(Ｏ)

obj（createSetDCRLinkInfo）

obj（createSetRCRLinkInfo）

obj（createSetRelLinkInfo）

obj（setTargetObj）

Object型の?パラメタの作成

objref関数

OBJTYPE_ANY

OBJTYPE_DOC

OBJTYPE_FOLDER

OBJTYPE_IP

OBJTYPE_NVTFOLDER

OBJTYPE_PUBLICACL

OBJTYPE_UNKNOWN

OBJTYPE_VRDOC

objType（getBindObjectList）

objType（getChildList）

objType（getParentList）

objType（getRelList）

OIID ,[2]

oiid（createObjConnection）

oiidstr関数

oiid関数

OIIDの?パラメタの作成

OIIDの取得

OIID変換インターフェース

OIID文字列の値を表す?パラメタ

oldName（changePropName） ,[2]

OPERATEMODE_NONE

OPERATEMODE_USER_RELATIVE_CONTENT

ORDER_ASC

ORDER_DESC

ORDER_NONE

order（getVersionObjList）

ORDER BY句

OR条件

output（arg）

output（call）

output（enter）

output（error）

output（hint）

output（msg）

(Ｐ)

param（createBooleanQParam）

param（createInteger32QParam）

param（createObjQParam）

param（createOIIDQParam）

param（createSeedDocQParam）

param（createStringQParam）

parentFolder（move） ,[2]

parentLinkList（createDocument）

parentLinkList（createFolder）

parentLinkList（createVrDocument）

passWord（login）

pathInfo（downloadcontents）

pathInfo（removeobject）

PERM_CHANGE_PERM

PERM_CREATE

PERM_DELETE

PERM_FULL_CONTROL

PERM_LINK

PERM_NONE

PERM_PRIM_DELETE

PERM_PRIM_LINK

PERM_PRIM_READ_CONTENTS

PERM_PRIM_READ_PROPS

PERM_PRIM_VERSION

PERM_PRIM_WRITE_CONTENTS

PERM_PRIM_WRITE_PROPS

PERM_READ

PERM_READ_PROPS

PERM_READ_WRITE

PERM_VERSION

PERM_WRITE_PROPS

permission（createACE）

permission（setPermission）

permissionプロパティ

previous

PRIV_LOGIN_USER

PRIV_NONE

PRIV_SECURITY_ADMINISTRATOR

privilege（changeUserPrivilege）

PROMPT

propDefs（cancelCheckOut）

propDefs（checkIn）

propDefs（checkOut）

propDefs（createVArray）

propDefs（DbjLinkObj#readProperties）

propDefs（DbjLinkObj#writeProperties）

propDefs（DbjLinkObjList#readProperties）

propDefs（DbjLinkObjList#writeProperties）

propDefs（DbjObj#readProperties）

propDefs（DbjObj#writeProperties）

propDefs（DbjObjList#readProperties）

propDefs（DbjObjList#writeProperties）

propDefs（getBindObjectList）

propDefs（getChildList）

propDefs（getDCRParent）

propDefs（getLoginUserInfo）

propDefs（getParentList）

propDefs（getPublicACLList）

propDefs（getRelList）

propDefs（getRenditionList）

propDefs（getVersionObjList）

propName（addPropVals）

propName（getIntegerVal）

propName（getIntVal）

propName（getListRef）

propName（getPropDataType）

propName（getPropDesc）

propName（getPropVals）

propName（getStringVal）

propName（getVArrayRef）

propName（getVArrayVal）

propName（isNull）

propName（removeProp）

propName（setNull）

propName（setPropRef）

propName（setPropVal）

propSet ,[2] ,[3] ,[4] ,[5] ,[6] ,[7]

propSet（addPropSet）

propSet（cancelCheckOut）

propSet（checkIn）

propSet（checkOut）

propSet（createDocument）

propSet（createFolder）

propSet（createIndependentData）

propSet（createPublicACL）

propSet（createVrDocument）

propSet（DbjACE#setPropSet）

propSet（DbjLinkObj#setPropSet）

propSet（DbjLinkObj#writeProperties）

propSet（DbjLinkObjList#writeProperties）

propSet（DbjObj#setPropSet）

propSet（DbjObj#writeProperties）

propSet（DbjObjList#setPropSet）

propSet（DbjObjList#writeProperties）

propSet（DbjPublicACLIdElm#setPropSet）

propSet（DbjSetLinkInfo#setPropSet）

propSet（writeRenditionProperties）

propSetプロパティ（DbjACE）

propSetプロパティ（DbjPublicACLIdElm）

propSetプロパティ（DbjRenditionInfo）

propSetプロパティ（DbjSetLinkInfo）

Proxyオブジェクト ,[2]

Proxyオブジェクトのアクセスロック種別の取得

Proxyオブジェクトのプロパティ

Proxyオブジェクトのプロパティ値集合インターフェースの取得

Proxyオブジェクトのプロパティ値集合の設定

publicACLId（createPublicACLIdElm）

publicACLIdList（bindPublicACL）

publicACLIdList（unbindPublicACL）

(Ｑ)

qParamList（executeSearch）

qParamList（removeObjects）

(Ｒ)

readProperties ,[2] ,[3] ,[4]

reduct

ref（setPropRef）

referencePath（setReferencePath）

referencePathInfo（createReferenceUploadInfo） ,[2]

referencePathInfo（setReferencePathInfo）

referencePathInfoプロパティ（DbjReferenceUploadInfo）

referenceTargetPath（createConvertContentInfo）

referenceTargetPathプロパティ

REFERENCETYPE_NONE

REFERENCETYPE_USER_RELATIVE_CONTENT

referenceTypeプロパティ（DbjReferenceContentInfo）

RELATIONEND_HEAD

RELATIONEND_STATUS_ALL

RELATIONEND_STATUS_EXIST

RELATIONEND_STATUS_NOT_EXIST

RELATIONEND_TAIL

relationendType

removeObject ,[2]

removeObjects ,[2] ,[3]

removeProp

renditionComment（createConvertContentInfo）

renditionCommentプロパティ

renditionPropSet

renditionPropSet（createReferenceUploadInfo） ,[2]

renditionPropSet（createUploadInfo） ,[2]

renditionPropSet（setRenditionPropSet）

renditionPropSetプロパティ

renditionType（changeMasterRendition）

renditionType（createConvertContentInfo）

renditionType（createReferenceUploadInfo） ,[2]

renditionType（createUploadInfo） ,[2]

renditionType（downloadContents）

renditionType（getExtFromRenditionType）

renditionType（setRenditionType）

renditionType（uploadContents）

renditionType（writeRenditionProperties）

renditionTypeList（deleteRendition）

renditionTypeプロパティ

renditionTypeプロパティ（DbjContentInfo）

renditionTypeプロパティ（DbjRenditionInfo）

renditionTypeプロパティ（DbjUploadInfo）

RENDSTATUS_CONVERT_ERROR

RENDSTATUS_CONVERT_NOTREQUIRED

RENDSTATUS_CONVERT_REQUIRED

RENDSTATUS_MASTERD

RENDSTATUS_MASTERREND_UPDATE

RENDSTATUS_NO_SUBREND

RENDSTATUS_SUBREND_EXIST

result（createObjList）

retrievalName（createReferenceUploadInfo） ,[2]

retrievalName（createUploadInfo） ,[2]

retrievalName（setRetrievalName）

retrievalNameプロパティ（DbjContentInfo）

retrievalNameプロパティ（DbjUploadInfo）

returned

rollback

rowIndex（absolute）

rowIndex（getPropSet）

rowIndex（getRowVals）

rowIndex（propSet）

(Ｓ)

score_concept関数

score関数

selectItems（executeSearch）

SELECT句に関する制限事項

setCacheKey

setCacheName

setCacheTotal

setColumnMetaName

setComparator

setContentOperateMode

setDeleteRootPath

setEntry

setFetchCount

setFilePath

setFileStream

setGroupSubject

setId

setIndexPath

setIndexStream

setMaxFetchCount

setNull

setPermission

setPropRef

setPropSet ,[2] ,[3] ,[4] ,[5] ,[6]

setPropVal

setReferencePath

setReferencePathInfo

setRenditionPropSet

setRenditionType

setRetrievalName

setStartIndex

setSubject

setSubjectType

setSystemSubject

setTargetObj

setTargetPath

setTargetVersion

setterメソッド ,[2]

setUserSubject

sourceScope（createConvertContentInfo）

sourceScopeプロパティ

src（createACE）

src（createPropSet）

src（createPublicACLIdElm）

srcObjs（createLinkObjList）

srcObjs（createObjList）

startIndex（createFetchInfo）

startIndex（setStartIndex）

startIndexプロパティ

String型でのプロパティ値の取得

String型での列データの取得

String型の?パラメタの作成

STR型の値を表す?パラメタ

subject（createACE）

subject（setSubject）

SUBJECTTYPE_GRP

SUBJECTTYPE_SYS

SUBJECTTYPE_USR

subjectType（createACE）

subjectType（setSubjectType）

subjectTypeプロパティ

subjectプロパティ

SYSSUBJECT_SELF

sysSubject（setSystemSubject）

(Ｔ)

tableName（createObjList）

tableName（getPropSet）

targetObjプロパティ

targetPath（createReferencePathInfo）

targetPath（setTargetPath）

targetPathプロパティ（DbjReferencePathInfo）

TRACE

tracePrefix（init）

(Ｕ)

unbindPublicACL

unlink

unlinkByLinkId

uploadContents

uploadInfo（uploadContents）

uploadList（addRendition）

uploadList（createDocument）

uploadList（createVrDocument）

upName（DbjTrace）

upName（init）

userName（login）

usrSubject（setUserSubject）

(Ｖ)

val（setPropVal）

vals（addPropVals）

value（arg）

VariableArray型

VARRAY型

VARRAY型でのデータの参照の取得

VARRAY型でのデータの取得

VARRAY型でのプロパティ値の参照の取得

VARRAY型でのプロパティ値の取得

VARRAY型のプロパティの参照

VARRAY型プロパティを扱うクラスのクラスディスクリプションの取得

versionId（setTargetVersion）

versionIds（deleteVersion）

VersionTracedDocVersionオブジェクト

(Ｗ)

W3C

WHERE句

WHERE句に関する制限事項

WITH_ACL

WITHOUT_ACL

writeProperties ,[2] ,[3] ,[4]

writeRenditionProperties

(ア行)

(あ)

アクセス権

アクセス指定子 ,[2]

アクセス制御エレメント（ACE：Access Control Element）

アクセス制御機能

アクセス制御機能付き検索

アクセス制御機能付き検索を実行する場合の制限事項

アクセス制御情報

アクセス制御情報変更権

アクセス制御に関する操作

アクセス制御に使用するインターフェース

アクセス制御フラグ（ACFlag：Access Control Flag）

アクセス制御モードの取得

アクセス制御リスト（ACL：Access Control List）

アクセス対象ターゲットバージョンのバージョン識別子の取得

アクセス対象ターゲットバージョンのバージョン識別子の変更

アクセス対象文書管理オブジェクトを構成するDocumentBrokerクラス名の取得

アクセス対象文書管理オブジェクトのOIIDの取得

アクセス対象文書管理オブジェクトのオブジェクト種別の取得

アクセス方法に関する情報の取得と変更

アクセスロック種別

アクセスロック種別の異なる複数文書管理オブジェクトインターフェースの取得

アクセスロック種別の異なる文書管理オブジェクトインターフェースの取得

値式

アンバインド

(い)

異表記展開検索

インターフェース

インターフェースの取得

(え)

永続オブジェクト

永続プロパティ

エラー情報の出力

(お)

オーナーオブジェクト

オーナーオブジェクトプロパティ

オブジェクト型

オブジェクト作成権

オブジェクト作成権限

オブジェクト種別 ,[2]

オブジェクト種別の取得

オブジェクト種別プロパティ

オブジェクト種別を表す定数

オブジェクト操作権限

オブジェクトリファレンス ,[2]

オブジェクトリファレンスの値を表す?パラメタ

オペレータに指定する値についての制限

(カ行)

(か)

カーソルが最終行かどうかの判定

カーソルが最終行の後ろかどうかの判定

カーソルが先頭行かどうかの判定

カーソルが先頭行の前かどうかの判定

カーソル行インデクスの取得

カーソルの最終行の後ろへの移動

カーソルの最終行への移動

カーソルの絶対指定行への移動

カーソルの先頭行の前への移動

カーソルの先頭行への移動

カーソルの次の行への移動

カーソルの前の行への移動

下位オブジェクト ,[2]

概念検索

概念検索関数

下位のメソッドのエラー情報の出力

外部APIからのリターン情報の出力

外部APIの呼び出し情報の出力

拡張子に対応するレンディションタイプの取得

可変長配列 ,[2]

可変長配列オブジェクトの作成

可変長配列オブジェクトのプロパティ値のリストの取得

可変長配列オブジェクトのプロパティ名の一括変更

可変長配列オブジェクトのプロパティ名の変更

仮のバージョン識別子

仮のバージョン識別子の取得

カレントバージョン

関数指定

(き)

キーワード

既存の文書管理オブジェクト間のリンクの設定

既存の文書管理オブジェクトにアクセスするインターフェースの取得

基本コンテンツ更新権

基本コンテンツ参照権

基本削除権

基本バージョン管理権

基本パーミッション

基本プロパティ更新権

基本プロパティ参照権

基本リンク権

キャッシュキー

キャッシュキーの取得

キャッシュキーの設定

キャッシュ検索 ,[2]

キャッシュ名

キャッシュ名の取得

キャッシュ名の設定

行数の取得

行データの取得

行データをプロパティ値集合として取得

近傍条件検索

(く)

区切り文字

組み合わせパーミッション

クラス，インターフェースおよびメソッドの説明形式

クラスディスクリプション ,[2]

クラスディスクリプションおよびプロパティディスクリプションの取得

クラスの分類

クラス名の取得

(け)

継承

検索結果キャッシュ

検索結果キャッシュの全件数の取得

検索結果キャッシュの全件数の設定

検索結果集合 ,[2]

検索結果取得情報 ,[2]

検索結果取得情報オブジェクトの作成

検索結果の最大取得件数の取得

検索結果の最大取得件数の設定

検索結果の取得開始位置の取得

検索結果の取得開始位置の設定

検索結果の取得件数の取得

検索結果の取得件数の設定

検索実行時のアクセス制御モードの取得

検索実行時のアクセス制御モードの変更 ,[2]

検索実行時のアクセス制御モードを表す定数

検索条件

検索条件として指定できる値についての制限

検索条件に合致した文書管理オブジェクトの削除

検索条件を指定したオブジェクトの削除

検索対象式

検索の実行

(こ)

更新系の操作

更新系メソッド ,[2]

コミット

コレクション

コンストラクタ

コンテンツ

コンテンツ格納先パス

コンテンツ格納先パスの取得

コンテンツ格納先パスの設定

コンテンツ格納先ベースパス

コンテンツ格納先ベースパスの設定

コンテンツ種別

コンテンツ種別の変換

コンテンツ種別変換

コンテンツ情報 ,[2]

コンテンツ情報オブジェクトの作成

コンテンツ情報のクローズ

コンテンツのアップロード

コンテンツのダウンロード

コンテンツの入力ストリームの取得

コンテンツのパス操作モード

コンテンツのパス操作モードの取得

コンテンツのパス操作モードの設定

コンテンツのファイル名の取得

コンテンツのレンディションタイプの取得

コンテンツロケーション

コンテンツロケーションの取得

(サ行)

(さ)

削除権

削除するディレクトリのルートパスの取得

削除するディレクトリのルートパスの設定

サブインターフェース

サブクラス

サブクラスのクラスディスクリプションの取得

サブジェクト

サブジェクト種別

サブジェクト種別の取得

サブジェクト種別の設定

サブジェクト種別を表す定数

サブジェクトの取得

サブジェクトの設定

サブジェクトをグループサブジェクトとして設定

サブジェクトをシステムサブジェクトとして設定

サブジェクトをユーザサブジェクトとして設定

サブレンディション

参照型リンク

参照型リンク設定情報

参照型リンク設定情報の作成

参照系の操作

参照系メソッド ,[2]

参照権

参照更新権

サンプルWebアプリケーション

(し)

識別子

字句規則

システム管理者

システムサブジェクトを表す定数

指定したクラスのクラスディスクリプションの取得

指定したプロパティのデータ型の取得

指定したプロパティのプロパティディスクリプションの取得

集合関数

述語 ,[2]

上位オブジェクト ,[2]

状態フラグ

使用できる文字

使用できる文字コード種別

所有者

(す)

数値関数

スーパーインターフェース

スーパークラス

スーパークラスのクラスディスクリプションの取得

スカラー式

(せ)

整数型

セキュリティACL

セキュリティ管理者

セッション ,[2]

セッションオブジェクト ,[2]

セッションが有効かどうかのチェック

セッション管理

セッションチェック

セッションとトランザクション

セッションの確立 ,[2]

セッションの切断 ,[2]

絶対値関数

セット

全文検索

全文検索インデクス

全文検索インデクス作成用ファイルのフルパスの取得

全文検索インデクス作成用ファイルのフルパスの設定

全文検索インデクスの作成

全文検索インデクスの種別を表す定数

全文検索関数

全文検索機能付き文書クラス

(そ)

操作対象になるバージョンの取得と変更

属性検索

(タ行)

(た)

ターゲットOIID

ターゲットOIIDプロパティ

ターゲットオブジェクト ,[2] ,[3]

ターゲットオブジェクトプロパティ

ターゲットバージョン ,[2]

ターゲットバージョン識別子

ターゲットバージョン識別子プロパティ

ターゲットプロパティ値集合

ターゲットプロパティ値集合プロパティ

ターゲットリンクオブジェクト ,[2]

ターゲットリンク識別子

ターゲットリンク識別子プロパティ

ターゲットリンク識別子プロパティのリストの取得

代理オブジェクト

種文章

種文章の?パラメタの作成

種文章を表す?パラメタ

(ち)

チェックアウト ,[2]

チェックアウトしたユーザのユーザ識別子の取得

チェックアウト情報 ,[2]

チェックアウト中かどうかの判定

チェックアウトの取り消し

チェックイン ,[2]

重複排除

直接型リンク

直接型リンクが設定されている文書管理オブジェクトの一括移動

直接型リンクが設定されている文書管理オブジェクトの移動

直接型リンク設定情報

直接型リンク設定情報の作成

直接型リンクによるリンク元オブジェクトの取得

直接型リンクまたは参照型リンクをたどる参照

(て)

定数

定数定義クラス ,[2]

定数定義クラスのカテゴリ一覧 ,[2]

ディレクトリサービス

データ操作の構文規則

データの参照の取得

データの取得

(と)

問い合わせ式

問い合わせ指定

問い合わせ指定全体に関する制限事項

問い合わせ文

同義語展開検索

登録するコンテンツのパスまたはダウンロード先のパスの取得

登録するコンテンツのパスまたはダウンロード先のパスの設定

登録する文書のファイル名の取得

登録する文書のファイル名の設定

登録する文書のフルパスの取得

登録する文書のフルパスの設定

登録する文書のレンディションタイプの取得

登録する文書のレンディションタイプの設定

トークン

特殊なプロパティ

独立データ

独立データの作成

特権

トップオブジェクト

トップオブジェクトクラス

トランザクション ,[2]

トランザクション制御

トランザクションの開始

トランザクションの開始と終了

トランザクションの確定

トランザクションの取り消し

トランザクションの範囲 ,[2]

トレースクラス ,[2]

トレースクラス詳細

トレースクラスのクラス

トレースクラスのクラス，およびメソッド一覧

トレースクラスの初期化

トレースクラスのメソッド一覧

トレース出力先を表す定数

トレース情報

トレース情報の出力形式

トレース情報の出力先

トレース情報の出力範囲

トレース情報を出力するメソッドの機能

トレースレベルを表す定数

(ナ行)

(な)

名前

名前付き検索結果

名前付き検索結果かどうかの判定

名前付き検索結果を取得する検索

名前なし検索結果

名前なし列の削除

(に)

入力ストリーム

コンテンツのアップロード

コンテンツのダウンロード

文書の作成

入力ストリームを使用した文書のアップロード情報オブジェクトの作成

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

入力ストリームを使用したリファレンスファイル文書のアップロード情報オブジェクトの作成

(ハ行)

(は)

バージョニングオブジェクト

バージョニングオブジェクトのインターフェースの取得

バージョンオブジェクト

バージョンオブジェクトの一覧の取得

バージョンオブジェクトのバージョン識別子の取得

バージョン管理

バージョン管理権

バージョン識別子

バージョン識別子の取得

バージョン情報の取得順序を表す定数

バージョン付きオブジェクトのチェックアウト

バージョン付きオブジェクトのチェックアウト状態の取得

バージョン付きオブジェクトのチェックアウトの取り消し

バージョン付きオブジェクトのチェックイン

バージョン付きオブジェクトのバージョニングオブジェクトの取得

バージョン付きオブジェクトのバージョン一覧の取得

バージョン付きオブジェクトのバージョン操作

バージョン付きオブジェクトのプロパティの操作

バージョン付き文書

バージョン付き文書の作成

バージョンなしフォルダ

バージョンなしフォルダの作成

バージョンなし文書

バージョンなし文書の作成

バージョンの削除 ,[2]

バージョンの取得

パーミッション

パーミッションの取得

パーミッションの設定

パーミッションを表す定数

バイナリ型

バインド

バインドしているパブリックACL一覧の取得

バインドしているパブリックACLの一覧取得

バインドするパブリックACLの変更

パッケージ名

パブリックACL

パブリックACLにバインドしている文書管理オブジェクト一覧の取得

パブリックACLのOIIDエレメントの作成

パブリックACLのOIID値

パブリックACLのOIID文字列の取得

パブリックACLのOIID文字列の設定

パブリックACLのOIID文字列のプロパティ値集合の取得

パブリックACLのOIID文字列のプロパティ値集合の設定

パブリックACLのアンバインド ,[2]

パブリックACLの作成 ,[2]

パブリックACLの操作

パブリックACLのバインド ,[2]

パブリックACLをバインドしている文書管理オブジェクトの一覧取得

パラメタクラス ,[2]

パラメタクラスのインターフェース，およびメソッド一覧

パラメタクラスのインターフェース一覧 ,[2]

パラメタクラスのインターフェースで説明する項目

パラメタクラスのインターフェースの機能

パラメタクラスのインターフェースの継承関係 ,[2]

パラメタクラスのインターフェースの種類

パラメタクラスのメソッド一覧

パラメタ情報の出力

パラメタの操作

(ひ)

比較述語

否定演算

表名の取得

(ふ)

ファクトリインターフェースの取得

ファクトリオブジェクト

ファクトリクラス ,[2] ,[3]

ファクトリクラスのインターフェース，およびメソッド一覧

ファクトリクラスのクラスおよびインターフェース

ファクトリクラスのクラスおよびインターフェース一覧

ファクトリクラスのメソッド一覧

フィールド参照

フォルダのリンク先オブジェクト（下位オブジェクト）の取得

フォルダのリンク元オブジェクトの取得

複数のクラスを対象にした検索の制限事項

複数の文書管理オブジェクトアクセスインターフェースの取得

複数の文書管理オブジェクトに同じ種別のロックを設定するインターフェースの取得

複数の文書管理オブジェクトの一括移動

複数の文書管理オブジェクトの一括削除

複数の文書管理オブジェクトの一括操作

複数の文書管理オブジェクトのプロパティ一括操作

複数の文書管理オブジェクトプロパティ値の一括取得

複数の文書管理オブジェクトプロパティ値の一括設定

複数のリンクオブジェクトアクセスインターフェースの取得

複数文書管理オブジェクトアクセスオブジェクト

副問い合わせ

プライマリグループ

フラッシュ ,[2]

フルコントロール

プログラミング時の注意と設定

プログラムの流れ

プロパティ

プロパティ更新権

プロパティ参照権

プロパティ指定

プロパティ値（列）の追加

プロパティ値がNULL値かどうかの判定

プロパティ値集合 ,[2] ,[3]

プロパティ値集合（行）の追加

プロパティ値集合オブジェクトの作成

プロパティ値集合の取得

プロパティ値の参照の設定

プロパティ値の設定

プロパティ定義元のDocumentBrokerクラス

プロパティディスクリプション ,[2]

プロパティディスクリプションの取得

プロパティに関する制限事項

プロパティの値の更新

プロパティの値の参照

プロパティの削除

プロパティのデータ型とDocumentBrokerで扱うデータ型の対応

プロパティのデータ型の取得

プロパティ名の一括変更

プロパティ名の取得

プロパティ名の変更

文書

文書管理オブジェクト

文書管理オブジェクトアクセスインターフェースの取得

文書管理オブジェクト作成時のリンクの設定

文書管理オブジェクトの一括削除

文書管理オブジェクトの移動

文書管理オブジェクトの検索

文書管理オブジェクトの削除 ,[2]

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

文書管理オブジェクトの情報の取得

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

文書管理オブジェクトのバージョン識別子リストの取得

文書管理オブジェクトのプロパティ値の設定

文書管理オブジェクトのプロパティ値の読み込み

文書管理オブジェクトのプロパティの操作

文書管理オブジェクトのプロパティのデータ型

文書管理オブジェクトのプロパティのデータ型を表す定数

文書管理オブジェクトを操作するインターフェースの種類

文書管理クラス ,[2]

文書管理クラスのインターフェース，およびメソッド一覧

文書管理クラスのインターフェース一覧 ,[2]

文書管理クラスのインターフェースの継承関係 ,[2]

文書管理クラスのメソッド一覧

文書管理に対するユーザの特権を表す定数

文書管理のメタ情報の取得

文書間リンク

文書間リンク一覧の取得

文書間リンク設定情報

文書間リンク設定情報一覧の取得条件を表す定数

文書間リンク設定情報の作成

文書間リンクをたどる参照

文書空間

文書空間アクセスオブジェクト ,[2]

文書管理オブジェクトのバージョン識別子の取得

文書空間構成定義ファイル

文書空間識別子

文書空間識別子の取得

文書空間に接続中のユーザの特権変更

文書空間の情報の取得

文書空間へのアクセス

文書検索関数

文書のアップロード情報 ,[2]

文書のアップロード情報オブジェクトの作成

文書のコンテンツのアップロード

文書のコンテンツの操作

文書のコンテンツのダウンロード

(へ)

変換関数 ,[2]

変換フラグ

(マ行)

(ま)

マスタレンディション

マスタレンディションの変更 ,[2]

マップ

マルチスレッド環境での注意事項

マルチレンディション機能

マルチレンディション文書

マルチレンディション文書の作成

マルチレンディション文書のレンディションの操作

(め)

メソッド

メソッドで説明する項目

メソッドの入り口情報の出力

メソッドの出口情報の出力

メタクラス ,[2]

メタクラスのインターフェース，およびメソッド一覧

メタクラスのインターフェース一覧 ,[2]

メタクラスのメソッド一覧

メタ情報

メタ情報の取得 ,[2] ,[3]

メタ情報を取得するインターフェースの機能

メタ情報を取得するインターフェースの取得

メタプロパティ数の取得

メタプロパティの取得

メタマネージャーインターフェースの取得

メッセージ情報

メッセージの出力

(も)

文字コード種別

文字列型

(ヤ行)

(ゆ)

ユーザアプリケーションプログラムのトレース情報の出力

ユーザ管理システム

ユーザ権限

ユーザ権限定義ファイル

ユーザ情報

ユーザ情報の取得

ユーザ定義プロパティ

(よ)

要素参照

要素のDbjVerObjインターフェースの取得

要素のプロパティ値集合の設定

(ラ行)

(ら)

ライブラリ情報取得クラス ,[2]

ライブラリ情報取得クラスのクラス ,[2]

ライブラリ情報取得クラスのメソッド一覧

ライブラリ情報の取得

(り)

リスト ,[2] ,[3]

リスト要素のDbjLinkObjインターフェースの取得

リスト要素の取得

リテラル

リファレンス種別の取得

リファレンスタイプを表す定数

リファレンスファイル文書のアップロード情報

リファレンスファイル文書のアップロード情報オブジェクトの作成

リファレンスファイル文書のコンテンツ情報

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

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

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

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

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

リファレンスファイル文書のパス情報

リファレンスファイル文書のパス情報オブジェクトの作成

リファレンスファイル文書のパス情報の取得

リファレンスファイル文書のパス情報の設定

リレーション種別 ,[2]

リンクProxyオブジェクト ,[2]

リンクProxyオブジェクトのプロパティ

リンクProxyオブジェクトのプロパティ値集合インターフェースの取得

リンクProxyオブジェクトのプロパティ値集合の設定

リンクオブジェクト

リンクオブジェクトの一括削除

リンクオブジェクトの削除

リンクオブジェクトのプロパティ値集合の取得

リンクオブジェクトのプロパティ値集合の設定

リンク権

リンク先オブジェクト

リンク先オブジェクトとのリンク

リンク先オブジェクトとのリンクの解除

リンク先オブジェクトの取得 ,[2]

リンク先オブジェクトの設定

リンク先オブジェクトのリストの取得

リンク識別子

リンク識別子の指定によるリンク先オブジェクトとのリンクの解除

リンク識別子の取得

リンク種別

リンク種別の取得 ,[2]

リンク種別を表す定数

リンク設定情報

リンクの解除

リンクの操作

リンクのプロパティ

リンクのプロパティの操作

リンクプロパティ値集合

リンクプロパティ値集合プロパティ

リンクプロパティ値の一括取得

リンクプロパティ値の一括設定

リンクプロパティ値の設定

リンクプロパティの取得

リンク元オブジェクト

リンク元オブジェクトの取得

リンク元オブジェクトのリストの取得

リンクをたどる文書管理オブジェクトの参照

(る)

ルーチンの起動

(れ)

例外クラス ,[2]

例外クラスのインターフェースの継承関係

例外クラスのクラス一覧 ,[2]

例外クラスのクラス一覧，スーパークラス，およびコンストラクタ

例外処理

例外の種類

例外の種類ごとの処理方法

列インデクスの取得

列数の取得

列データの取得

列の重複の排除

列のデータ型の取得

列名

列名の取得

列名の取得（表名を含む）

列名の設定

レンディション

レンディション情報 ,[2]

レンディション情報一覧の取得

レンディション情報の取得

レンディション情報リスト ,[2]

レンディションステータスを表す定数

レンディションタイプ

レンディションタイプに対応する拡張子の取得

レンディションタイプの取得

レンディションタイプの変更

レンディションタイプのリストの取得

レンディション定義ファイル

レンディションの削除 ,[2]

レンディションの追加 ,[2]

レンディションのプロパティ値集合の取得

レンディションのプロパティの更新

レンディションのプロパティの参照

レンディションプロパティ値集合の取得

レンディションプロパティ値集合の設定

レンディションプロパティの設定

レンディション変換

レンディションを指定したコンテンツの更新

(ろ)

ローカルACL

ローカルACLとACEの操作

ロード ,[2]

ロールバック

ログアウト ,[2] ,[3]

ログイン ,[2] ,[3]

ログインユーザ情報の取得

ロック指定検索 ,[2]

ロック種別

ロック種別の取得と変更

ロック種別プロパティ

ロック種別を表す定数

論理演算子

論理型

論理述語

論理積演算

論理和演算

(ワ行)

(わ)

ワイルドカード

■ 商標類

Active Directoryは，米国Microsoft Corporationの，米国およびその他の国における登録商標または商標です。
GIFは，米国CompuServe Inc.が開発したフォーマットの名称です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Microsoft Office Wordは，米国 Microsoft Corporation の商品名称です。
Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。Microsoft Wordは，米国Microsoft Corporationの商品名称です。
OracleとJavaは，Oracle Corporation及びその子会社，関連会社の米国及びその他の国における登録商標です。
MicrosoftおよびWindowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
MicrosoftおよびWindows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
その他記載の会社名，製品名は，それぞれの会社の商標もしくは登録商標です。