オブジェクトを保管するときに、DKLobICM クラスを変更して、 カスタム・アプリケーションの中で代替のリソース・マネージャー・コレクションを指定できます。
ItemSetRMCollection 特権は、DKLobICM クラスの 既存の特権セットに追加されます。ItemSetRMCollection 特権によって、 管理者が設定したリソース・マネージャー・コレクションを オーバーライドできます。リソース・マネージャー名とコレクション名は、 有効であって、IBM® Content Manager システム内に存在していなければなりません。 リソース・マネージャー名とコレクション名を指定しなければ、DKUsageError 例外を 取得することがあります。また、コレクション名は、他のリソース・マネージャーではなく、 指定されたリソース・マネージャー内に定義する必要があります。指定されたリソース・マネージャー内に コレクション名を定義しなければ、DKUsageException 例外を 取得することがあります。詳細は、「Application Programming Reference」の DKLobICM クラスを参照してください。
文書パーツと、 項目レベルのユーザー指定の場所を伴うリソース項目に関連付けられたコンテンツを 保管するために、Java™ および C++ API は、 次のメソッドを提供します。
DKTextICM xdo = (DKTextICM) datastore.createDDO(itemTypeName,
(int) DKConstantICM. DK_ICM_XDO_TEXT_CLASS_ID);
DKPidICM apid = (DKPidICM)xdo.getPidObject();
apid.setVersionNumber("1"); xdo.setMimeType(mimeType);
DKStorageManageInfoICM storageInfo = (DKStorageManageInfoICM)
xdo.getExtension("DKStorageManageInfoICM");
storageInfo.setStoreLocation(resourceManagerName,
collectionName);
xdo.add(inputFileName); // Become persistent
DKDDO ddo_doc = datastore.createDDO(itemTypeName,
DKConstant.DK_CM_FOLDER);
DKParts partColl = null;
short dataId =
ddo_doc.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,
DKConstant.DK_CM_DKPARTS);
if (dataId == 0) {
dataId = ddo_doc.addData(
DKConstant.DK_CM_NAMESPACE_ATTR,DKConstant.DK_CM_DKPARTS);
partColl = new DKParts();
ddo_doc.setData(dataId, partColl);
} else {
partColl = (DKParts)ddo_doc.getData(dataId);
if (partColl == null){
partColl = new DKParts();
ddo_doc.setData(dataId, partColl);
}
}
DKTextICM part_xdo = (DKTextICM)datastore.
createDDO(partName,
(int) DKConstantICM. DK_ICM_XDO_TEXT_CLASS_ID);
DKPidICM apid = (DKPidICM)part_xdo.getPidObject();
apid.setVersionNumber("1");
part_xdo.setMimeType(mimeType);
DKStorageManageInfoICM storageInfo =
(DKStorageManageInfoICM)
part_xdo.getExtension("DKStorageManageInfoICM");
storageInfo.setStoreLocation(resourceManagerName,
collectionName);
part_xdo.loadDataFromFile(inputFileName);
part_xdo.setAddLocationOption("MEMORY");
partColl.addElement(part_xdo);
ddo_doc.add();
前の例で、DKStorageManageInfoICM::setStoreLocation( string resourceManagerName, string collectionName) メソッドを DKStorageManageInfoICM::setStoreSite(string resourceManagerName) メソッドと DKStorageManageInfoICM::setCollectionName(string collectionName) メソッドで置き換えることができます。
