dmcl

更新时间:2023-01-04 16:43:22 阅读: 评论:0


2023年1月4日发(作者:致200米运动员)

DFC接口手册

DFC接口手册

1

DFC接口手册

1.0.0

DFC接口手册

DFC接口手册

2

一.前言

DocumentumFoundationClass(DFC)是ContentApplication和ContentServer进行通信的主要接

口。它提供了完整的访问DocumentumObjectModel的基于对象的应用程序接口。DFC能够使程序员

通过High-level的操作或者Low-level的对象方法调用来访问内容管理。

图1DFC的层次结构

DFC是基于JAVA的,如果客户端程序是由JAVA实现的话,就能够直接通过接口访问DFC。DFC

还提供DocumentumJava-COMBrigde,使微软组件对象模型(COM)能够使用DFC的接口,这就说

明其他能够COM模型的语言都能够运用DFC的接口。DFCPIA还提供在dotNet环境下访问DFC的

能力。

上面这一点讲到外部应用程序可以通过什么样的途径来访问DFC。那么DFC本身是怎么访问外部

资源的呢?Java软件开发工具箱(JavaSoftwareDevelopmentKit(SDK))提供了Java本机接口(Java

NativeInterface(JNI))这么一个本机编程接口。JNI允许Java代码使用以其它语言(譬如C和C++)

编写的代码和代码库。因为DFC是基于JAVA的,所有就有能力来访问其他语言写的代码库。

DFC是有许多包组成的,每个包的类和接口都是具有一组特定的功能。

包名描述

包含通过OLE/COM访问DFC的接口

包含管理SESSION和维护DocumentumRepository

数据的类和接口

包含所有DFC对象都可能用到的有用的类和接口

ions包含通用client功能的接口,如checkingin和

checkingout文档的操作

ery包含在客户端本地系统管理Documentum信息需要

用到的类和接口

包含查询DocumentumRepository返回XML结果

所需要用到的类和接口

通过这个手册的描述,掌握DocumentumServer对象模型和DFC接口模型之间的关系是非常重要

的。

DFC接口手册

DFC接口手册

3

二.Clientsandssions

Documentum采用的是client/rver模型的架构。DFC把所有client功能压缩到一个叫IDfClient的

接口,这个接口是所有DFC代码的入口。从IDfClient对象可以获得一个IDfSessionManager。

IDfSession对象是DFC的核心概念。一个DFCSession实现了Documentumrver和它提供的服务

之间的一个连接。一个ssion对象是一个IDfSession的实例,所有访问repository的功能都需要一个

repositoryssion和DFCssion。DFCclients可以通过ssionmanager来得到一个ssionobject。

SessionManager管理着一个或多个repository的ssion。Client应用程序从Sessionmanager获得

ssion,使用完后,把ssion释放给Sessionmanager。SessionManager也维护着一个repositoryssion

pool来提供DFCssion。通常,DFCssion应该从Sessionmanager获得,而不是使用IDfClient对象

得到。Sessionmanager提供了很多方法,能够让我们处理:

1.ManageIdentities/accesscredentials

2.Authenticateuraccess

3.Acquireandreleassions

4.ProcessTransactions

5.Authenticateuraccess

6.Obtainssionstatistics

7.CatchcheckedanduncheckedExceptions

SessionManager提供repositoryssionpool来有效的处理ssion。当你释放一个从SessionManager

获得的ssion时,SessionManager并不马上切断这个ssion的连接。如果你在SessionManager切断

刚才释放的ssion连接前,再次申请一个针对同一个repository的ssion的话,SessionManager会把

原来的返回给你。如果SessionManager已经切断了你所释放的ssion连接,或者你明确要申请一个新

ssion,或者你申请一个不同repository的ssion,那么SessionManager就提供一个新的ssion给你。

Session能够支持Transaction来处理多个repository的相互作用。这里需要说明的是,Session管理

Transactions不使用两阶段提交算法(two-phacommitalgorithm)。举个例子,如果一个多repository的

Transaction,如果其中的一个repository已经commit了transaction,那么这个事务操作就会失败。还有

SessionTransaction和SessionManagerTransaction是不同的。IDfSession接口通过beginTran来启动事务,

IDfSessionManager接口通过beginTransaction方法来启动事务,但是beginTransaction方法启动的是一

个受管制的事务,只有在beginTransaction方法调用之后获得的ssion才能参与Transaction,否则就不

行。

每一个DFCClient应用的功能,和复杂度是随着业务需求而变化的。但是DFCClient处理ssion

的典型过程是固定的:

1.获得一个DFCClient对象

2.取得一个SessionManager的实例

3.通过SessionManager注册一个访问repository的用户帐号

4.取得操作repository的一个DFCssion

5.对repository执行业务功能

6.释放ssion回SessionManager

7.销毁SessionManager

在WDK应用中,可以通过sionManager()方法来得到一个Session

Manager实例,但是如果我们在WDK应用中需要得到一个IDfSession来处理业务,那么我们应该使用

WDK提供的component类的getDfSession方法,而不是从SessionManager里获得。原因是我们不应该

DFC接口手册

DFC接口手册

4

让SysObject存在于多个request/respon周期,而从Component里得到的ssion所获得的对象的生存

周期只有一个request/respon周期。

DFC接口手册

DFC接口手册

5

接口IDfClientX

entX

语法

entX

描述

IDfClientX接口提供了一组工厂方法,这些方法列举了其他对象,例如IDfClient,它使JAVA与COM

程序通信成为了可能。我们可以通过newDfClientX()来创建一个IDfClientX对象。

主要成员变量

主要成员方法

getLocalClient()

目的IDfClient对象的工厂方法

语法publicIDfClientgetLocalClient()throwsDfException

描述通过返回一个DFC本地客户对象来调用跟DocumentumServer进行通信。在程

序中可以多次使用这个方法。

参数

返回IDfClient对象

示例下面的示例为实例化一个IDfClient对象

IDfClientXclientx=newDfClientX();

IDfClientclient=alClient();

getQuery()

目的IDfQuery对象的工厂方法

语法publicIDfQuerygetQuery()

描述构造了一个IDfQuery对象来进行对DocumentumServer的DQL查询。

参数

返回IDfQuery对象

示例下面的示例为通过IDfQuery执行DQL查询

IDfCollectioncol=null;//Collectionfortheresult

IDfClientXclientx=newDfClientX();

IDfQueryq=ry();//Createqueryobject

(queryString);//Giveitthequery

col=e(ssion,_READ_QUERY);

getLoginInfo()

目的IDfLoginInfo对象的工厂方法

语法publicIDfLoginInfogetLoginInfo()

描述构造了一个IDfLoginInfo空对象,设置登录到DocumentumServer的连接信息。

参数

返回IDfLoginInfo对象

示例参考接口IDfClient的getLocalClient方法

DFC接口手册

DFC接口手册

6

接口IDfClient

ent

语法

ent

描述

IDfClient接口提供

ssion管理功能

设定PrincipalSupportmode,如果需要singlelogin的话。

查询connectionbroker

获得DBOR管理对象

主要成员变量

主要成员方法

newSessionManager()

目的IDfSessionManager对象的工厂方法

语法publicIDfSessionManagernewSessionManager()

描述返回一个IDfSessionManager对象。

参数

返回IDfSessionManager对象

示例下面的示例为获得一个IDfSessionManager对象

IDfSessionManagercreateSessionManager(Stringrepository,

Stringur,Stringpassword)throwsException{

IDfClientXclientx=newDfClientX();

IDfClientclient=alClient();

//IDfTypedObjectconfig=entConfig();

//ing("primary_host","192.168.41.128");

IDfSessionManagersMgr=sionManager();

IDfLoginInfologinInfo=inInfo();

r(ur);

sword(password);

ntity(repository,loginInfo);

returnsMgr;

}

getDocbaMap()

目的从connectionbroker里获得repository信息

语法publicIDfDocbaMapgetDocbaMap()throwsDfException

DFC接口手册

DFC接口手册

7

描述这个方法返回一个拥有therepositoryIDs,repositorynames,andverborepositorydescriptions

的IDfDocbaMap对象。

参数

返回IDfDocbaMap对象

示例下面的示例为获得一个repositorymap

voidobtainDocbaMap()throwsException{

IDfClientXclientx=newDfClientX();

IDfClientclient=alClient();

IDfDocbaMapmyMap=baMap();

n("Repositoriesforconnectionbroker:"+

tName());

n("TotalnumberofRepositories:"+

baCount());

for(inti=0;i

n("Repository"+(i+1)+":"+

baName(i));

}

}

getClientConfig()

目的返回DMCLlibrary的信息

语法publicIDfTypedObjectgetClientConfig()throwsDfException

描述client配置信息存储在DMCLAPIConfigobject里面,通过调用这个方法来得到配置信息,来

修改client配置信息,需要注意的是,这个修改是进程相关的,不会影响其他进程上的ssion。

参数

返回client配置信息的IDfTypedObject对象

示例下面的示例为获得client配置信息,并修改一个名称为primary_host的属性

IDfClientXclientx=newDfClientX();

IDfClientclient=alClient();

IDfTypedObjectconfig=entConfig();

ing("primary_host","192.168.1.4");

DFC接口手册

DFC接口手册

8

接口IDfSessionManager

sionManager

语法

sionManager

描述

IDfSessionManager接口管理identities,ssions和transactions

主要成员变量

主要成员方法

tIdentity(Stringdocba,IDfLoginInfoidentity)

目的设置用户验证的身份

语法publicvoidtIdentity(Stringdocba,IDfLoginInfoidentity)throwsDfServiceException

描述设置用户验证的身份,如果该身份已经存在于ssion中的话,会抛异常。

参数docba

Repository名

identity

已经设置了用户证明的IDfLoginInfo对象

返回

示例参考接口IDfClient的getLocalClient方法

getSession(Stringdocba)

目的获得一个IDfSession对象

语法publicIDfSessiongetSession(Stringdocba)throwsDfIdentityException,

DfAuthenticationException,DfPrincipalException,DfServiceException

描述取得处理具体应用所需要的ssion信息,通过该方法可以多次恢复ssion。

参数docba

Repository名

返回IDfSession对象

示例下面的示例为获得一个IDfId对象

publicIDfIdgetObjectId(Stringqual,Stringrepo)throwsDfException{

//Getassionfromthessionmanager

//thatcomesfromextendingDfService

IDfSessions=getSession(repo);

if(s!=null){

//UthessiontogettheIDofan

//objectmeetingthequalification

yQualification(qual);

}el{

returnnull;

}

}

DFC接口手册

DFC接口手册

9

relea(IDfSessionssion)

目的把ssion对象释放掉

语法publicvoidrelea(IDfSessionssion)

描述释放ssion对象,如果你不再使用一个ssion对象的时候,应尽快调用这个方法把它释放掉。

参数ssion

DFCssion对象

返回

示例

DFC接口手册

DFC接口手册

10

接口IDfSession

sion

语法

sion

描述

IDfSession接口封装了DocumentumRepository的ssion对象,Client可以通过这个接口来执行

Repository操作,查询Repository信息,取得存储在Repository里的持久化对象。

主要成员变量

主要成员方法

getObject(IDfIdobjectId)

目的返回一个Repository对象

语法publicIDfPersistentObjectgetObject(IDfIdobjectId)throwsDfException

描述通过对象ID来得到一个持久化对象。

参数objectId

包含objectID的一个IDfId对象

返回IDfPersistentObject对象

示例下面的示例为通过对象ID来得到一个持久化对象

IDfIdmyId=("0900d5bb8001fd00");

IDfSysObjectsysObj=(IDfSysObject)ect(myId);

StringmyName=ectName();

disconnect()

目的切断一个DFCssion连接

语法publicvoiddisconnect()throwsDfException

描述切断一个DFCssion连接,如果结下来仍在使用这个ssion,就会抛出

_DFCSESS_E_DISCONNECTED这个异常。

参数

返回

示例下面的示例为执行整个IDfSession操作的过程

//createclientxandclientobjects

IDfClientXclientx=newDfClientX();

IDfClientclient=alClient();

IDfLoginInfologinInfoObj=inInfo();

r(ur);

sword(password);

ain(null);

//createassionusingnewSession

IDfSessionssion=sion(strDocbaName,login);

DFC接口手册

DFC接口手册

11

//accesstheDocbahere

//disconnectfromthession

nect();

if(!ected()){

//Successfullydisconnected...

}

getRunnableProcess(StringadditionalAttributes)

目的返回repository里所有已安装的dm_process对象的object_name和r_object_id属性集合

语法publicIDfCollectiongetRunnableProcess(StringadditionalAttributes)throwsDfException

描述返回repository里所有已安装的dm_process对象的object_name和r_object_id属性集合,在

repository里,workflow是定义在dm_process对象里的,适用前必须确保它合法和已安装。

参数additionalAttributes

添加你想得到的其他dm_process对象的属性

返回repository里所有已安装的dm_process对象的object_name,r_object_id和用户指定的属性集合

示例下面的示例为打印指定repository的所有已安装的workflow

IDfCollectionWorkflows=nableProcess("");

while(())

{

IDfTypedObjectNext=edObject();

atione=trs();

while(eElements())

{

IDfAttrNextAttr=(IDfAttr)ement();

(e()+"=");

intAttrCount=0;

if(ating())

AttrCount=ueCount(e());

el

AttrCount=1;

for(inti=0;i

{

//Getthenextvalue!

IDfValueNextAttrValue=eatingValue

(e(),i);

(NextAttrValue);

(",");

}

}

}

DFC接口手册

DFC接口手册

12

newWorkflowBuilder(IDfIdprocessId)

目的创建一个workflowbuilder对象

语法publicIDfWorkflowBuildernewWorkflowBuilder(IDfIdprocessId)throwsDfException

描述创建一个workflowbuilder对象,workflowbuilder对象能够把dm_process对象转换成

dm_workflow对象。

参数procesd

你想追加到workflowbuilder对象上去的dm_process对象ID

返回IDfWorkflowBuilder接口

示例参考IDfWorkflowBuilder接口的initWorkflow方法示例

DFC接口手册

DFC接口手册

13

三.TypeRelatedInterface

这一部分介绍的接口是类型相关的,这一部分接口是可以被继承的,下图描述了所有类型相关的

接口的继承关系。

图2TypeRelatedInterfaceHierarchyandObjectHierarchy

观察上面这张图,这些类型相关的接口基本都能与Documentum的具体ObjectType联系起来。这

里最重要的一个类型相关接口是IDfSysObject,它提供很多功能相关的方法。

1.属性相关

2.内容管理相关(checkin,lock等,接口IDfOperation也能执行这些操作)

3.内容相关(取得内容路径,存储类型等)

4.版本相关(控制版本树,标记版本等)

5.链接/引用相关(控制对象间关系)

6.ACL相关(对象权限控制)

7.Lifecycle相关(对象生命周期控制)

8.VDM相关(虚拟文档管理)

9.Alias相关(别名控制)

10.Events相关(事件注册、注销等)

11.其他(工作流,日志等)

上面有几个功能相关的方法都涉及到Documentum本身的一些设计模型,比如版本控制模型,ACL模

型,了解这些模型的内涵,对实际的应用是有很大的作用的。

DFC接口手册

DFC接口手册

14

在上面这个图中。可以发现,与工作流相关的对象有好几个IDfWorkflow,IDfWorkItem,

IDfWorkflowAttachment,IDfProcess。如果要执行一个Workflow,还需要其他的接口,下面描述一下

完整的执行一个工作流模版的过程。

创建一个Workflow实例使用IDfWorkflowBuilder接口将一个工作流

模版(dm_process)转化成一个工作流对象

(dm_workflow)

处理Aliasts从Workflow获得一个IDfAliasSet对象

处理Package和Activity从IDfWorkflowBuilder获得Activity集合

添加Package给Activity

Inbox处理需要用到IDfWorkItem接口

DFC接口手册

DFC接口手册

15

接口IDfTypedObject

edObject

语法

edObject

描述

IDfTypedObject接口提供所有类型对象的基本操作。

主要成员变量

主要成员方法

getObjectId()

目的返回对象的objectID

语法publicIDfIdgetObjectId()throwsDfException

描述取得对象的objectID。

参数

返回拥有objectID的IDfId对象

示例

DFC接口手册

DFC接口手册

16

接口IDfPersistentObject

edObject

sistentObject

语法

sistentObject

edObject

描述

IDfPersistentObject接口提供了一些与持久对象进行交互所必需的基本功能,还提供验证,对象关联,

审计相关的方法。

主要成员变量

主要成员方法

destroy()

目的从Repository移除对象

语法publicvoiddestroy()throwsDfException

描述使用该方法可以从Repository移除对象,但是该方法不能销毁多版本的对象。

参数

返回

示例下面的示例为从Repository中移除一个对象

IDfIdmyId=("09...1");

IDfPersistentObjectperObj=ect(myId);

//canalsocalldestroyAllVersions()

y();

fetch()

目的从Repository取得一个对象,且不锁定该对象

语法publicbooleanfetch(StringinternalType)throwsDfException

描述使用该方法可以从Repository取得一个当前版本的对象,你必须拥有browpermission来调

用它,并且无法使用checkin方法更新源对象。

参数internalType

对象的objecttype,例如如果fetch的是document对象,输入dm_document,这是一个可选参

数,不使用就输入null

返回true,如果在Server找到一个新版本的对象

fal,如果在Serve没有找到一个新版本的对象

示例

save()

目的保存一个对象到Repository

语法publicvoidsave()throwsDfException

描述对一个对象使用该方法,你必须对该对象拥有writepermission。该方法一般使用在创建一个

新的对象。也可以使用在版本不发生变化的更新操作。

DFC接口手册

DFC接口手册

17

参数

返回

示例下面的示例为在Repository创建一个对象

IDfFolderfolder=(IDfFolder)ect("dm_folder");

ectName(DIR_NAME);

("/Temp");

();

DFC接口手册

DFC接口手册

18

接口IDfSysObject

edObject

sistentObject

Object

语法

Object

sistentObject

描述

IDfSysObject接口提供了与Repository里的"dm_sysobject"对象进行交互所必需的功能,它扩展了

IDfPersistentObject对象。IDfSysObject接口提供的许多内容管理相关的方法,也可以通过IDfOperation

接口在实现,例如addNode(),checkin(),checkout()等方法,这里推荐使用IDfOperation接口来实现这

些任务。

主要成员变量

主要成员方法

getObjectName()

目的返回对象的object_name属性

语法publicStringgetObjectName()throwsDfException

描述返回对象的object_name属性。

参数

返回对象的object_name

示例

getObjectName()

目的返回对象的object_name属性

语法publicStringgetObjectName()throwsDfException

描述返回对象的object_name属性。

参数internalType

对象的objecttype,例如如果fetch的是document对象,输入dm_document,这是一个可选参

数,不使用就输入null

返回true,如果在Server找到一个新版本的对象

fal,如果在Serve没有找到一个新版本的对象

示例

getContent()

目的取得一个对象的内容

语法publicByteArrayInputStreamgetContent()throwsDfException

描述从ContentServer复制一个对象到ByteArrayInputStream对象。

参数

返回返回一个包含对象内容的ByteArrayInputStream对象

示例下面的示例为从Repository取得一个对象的内容

DFC接口手册

DFC接口手册

19

IDfIdmyId=("09...1");

IDfSysObjectsysObj=(IDfSysObject)ect(myId);

ByteArrayInputStreambais=tent();

if(ble()>0){

StringstrTemp=rayInputStreamToString(bais);

}

getContentType()

目的取得一个对象的内容文件格式

语法publicStringgetContentType()throwsDfException

描述返回一个对象的内容文件格式,就是说返回的是dm_sysobject对象的a_content_type属性。

参数

返回返回一个对象的内容文件格式

示例下面的示例为复制了一个rendition

IDfIdmyId=("09...1");

IDfSysObjectsysObj=(IDfSysObject)ect(myId);

IDfFormatmyFormat=mat(tentType());

Stringext=Extension();

StringfilePath="c:/temp/"+ectName()+"."+ext;

eEx2(filePath,tentType(),0,"",fal);

tContentType(StringcontentType)

目的设置一个对象的内容文件格式

语法publicvoidtContentType(StringcontentType)throwsDfException

描述设置一个对象的内容文件格式,这个对象必须是DocumentumServer能够识别的。

参数contentType

内容文件格式,例如crtext是文本文件的格式,msw8是microsoftword文档的格式

返回

示例下面的示例为创建一个新对象到Repository

document=(IDfDocument)ect("dm_document");

ectName(FILE_NAME);

tentType("crtext");

//addcontenttothisdm_document

e("c:/");

();

link(StringfolderSpec)

目的关联对象到folder或者cabinet

语法publicvoidlink(StringfolderSpec)throwsDfException

描述这个关联操作只有在执行save和checkin操作后才生效。

参数folderSpec

定义你想关联的folder,cabinet对象ID,或者是folderpath

返回

示例下面的示例为移动一个对象

DFC接口手册

DFC接口手册

20

IDfIdmyId=("09...1");

IDfSysObjectsysObj=(IDfSysObject)ect(myId);

("/DFCSourceCab");

("/DFCTargetCab");

();

unlink(StringfolderSpec)

目的移除对象到folder或者cabinet的关联

语法publicvoidunlink(StringfolderSpec)throwsDfException

描述这个移除关联操作只有在执行save和checkin操作后才生效。

参数folderSpec

定义你想移除关联的folder,cabinet对象ID,或者是folderpath

返回

示例参考link()

checkin(booleanfRetainLock,StringversionLabels)

目的创建一个新版本的对象,解除给前一个版本所加的锁

语法publicIDfIdcheckin(booleanfRetainLock,StringversionLabels)throwsDfException

描述创建一个新版本的对象,解除给前一个版本所加的锁,并且保证前面已经checkout该对象。

参数fRetainLock

True,给新创建的版本加锁

Fal,不给新创建的版本加锁

versionLabels

给新版本创建一个新的字符标签,可以是一个或多个,如果不指定,则系统会默认赋

CURRENT给它

返回返回对象新版本的一个IDfId对象

示例下面的示例为checkin指定的对象

IDfIdmyId=("09...1");

IDfSysObjectsysObj=(IDfSysObject)ect(myId);

if(!kedOut()){

ut();

}

e(ectName());

("APPROVED");//tssymbolicversionlabel

IDfIdnewSysObjId=n(fal,"");

checkout()

目的给一个对象加锁

语法publicvoidcheckout()throwsDfException

描述执行这个动作的过程,实际上是对checkout的对象的r_lock_machine属性进行设值得过程。

参数

返回

示例下面的示例为checkout指定的对象

IDfSysObjectsysObj=(IDfSysObject)ect(new

DFC接口手册

DFC接口手册

21

DfId("09...1"));

if(!kedOut()){

ut();

e(ectName());

}

其它有用的操作

如果想得到一个类型的所有子类,可以执行下面的代码

StringBuilderbldr=newStringBuilder(24);

("lectr_type_namefromdmi_type_infowhereANYr_supertypeIN

('");

(superType);

("')");

StringstrQuery=ng();

clientX=newDfClientX();

query=ry();

(strQuery);

collection=e(ssion,_READ_QUERY);

while(())

{

Stringtype=ing("r_type_name");

}

如果想得到所有DocumentumServer支持的内容对象类型,可以执行下面的代码

IDfClientXclientx=newDfClientX();

IDfQueryquery=ry();

Stringdql="lectnamefromdm_format";

(dql);

IDfCollectioncollection=e(ssion,_READ_QUERY);

try{

while(()){

n(ing("name"));

}

}finally{

if(collection!=null){

();

}

}

如果要获得一个IDfTypedObject对象,察看这个对象的某些属性的话,不要通过ect()来

取得这个对象,最好使用DQLQuery,因为IDfTypedObject对象有70多个属性,通过Session获得在性能

上比DQLQuery要差。

DFC接口手册

DFC接口手册

22

接口IDfWorkflowBuilder

kflowbuilder

语法

kflowbuilder

描述

IDfCollection接口提供了启动一个workflow需要的方法。

主要成员变量

主要成员方法

initWorkflow()

目的创建并保存一个workflow对象

语法publicIDfIdinitWorkflow()throwsDfException

描述在DocumentumServer上创建并保存一个workflow对象,只有在调用这个方法以后,才能调

用runWorkflow方法启动workflow。

参数

返回包括dm_workflowobjectID的IDfId对象

示例下面的示例为创建一个workflow实例

IDfWorkflowBuilderworkflowBuilder=ssion

.newWorkflowBuilder(newDfId("4b4d"));

//Inittheworkflow!

IDfIdNewWorkflowId=rkflow();

n("Workflowinitted!Id:"+NewWorkflowId);

//Starttheworkflowrunning!

IDfIdNewWorkflowId2=kflow();

n("Workflowstarted!Id:"+NewWorkflowId2);

//Youwouldaddyourpackagehereifnecessary

//Gettheworkflowobjectwecreated

IDfWorkflowworkflow=kflow();

DFC接口手册

DFC接口手册

23

四.CommonTools

这一部分接口的作用是辅助DFC编程,使DFC开发变得更有效率。

DFC接口手册

DFC接口手册

24

接口IDfCollection

edObject

lection

语法

lection

edObject

描述

IDfCollection接口提供了访问collection对象的方法。

主要成员变量

主要成员方法

next()

目的得到collection的下一行记录

语法publicbooleannext()throwsDfException

描述该方法通常用在返回DQL查询结果,每执行一次这个方法,返回一行记录。

参数

返回true:如果还有下一行记录存在

fal:如果不存在下一行记录

示例下面的示例为DQL查询结果保存为collection对象

collection=e(ssion,_READ_QUERY);

intattributeCount=rCount();

IDfAttr[]attributes=newIDfAttr[attributeCount];

for(inti=0;i

attributes[i]=r(i);

while(()){

for(inti=0;i

switch(attributes[i].getDataType()){

_STRING:

Strings=ue(attributes[i].getName());

}

}

}

getTypedObject()

目的返回一个IDfTypedObject对象作为下一行记录

语法publicIDfTypedObjectgetTypedObject()throwsDfException

描述在调用IDfCollection接口的next方法以后,是不可以在得到前一个行的记录,那么可以通过

调用这个方法把记录行缓存到内存,方便以后使用。

参数

DFC接口手册

DFC接口手册

25

返回IDfTypedObject接口对象

示例下面的示例为缓存collection行对象

//Suckalltherowsintomemory.

Vector[]rows=newVector();

while(()){

ment(edObject());

//Sorttherowsbyr_modify_dateandthendisplay.

...

//Sorttherowsbyr_object_nameandthendisplay.

...

}

要避免在以下情况使用这个方法

while(()){

IDfPersistentObjectrow=edObject();

Stringname=ing("r_object_name");

IDfTimemodifyDate=e("r_modify_date");

//Dosomethingwiththevaluesfromthecurrentrow.

}

DFC接口手册

DFC接口手册

26

接口IDfId

语法

描述

IDfId接口对象对r_object_id进行了封装。

主要成员变量

主要成员方法

getId()

目的返回一个ID的字符串

语法publicStringgetId()

描述返回一个ID的字符串。

参数

返回ID字符串

示例

DFC接口手册

DFC接口手册

27

五.Operations

这一部分主要针对IDfOperationi相关的接口。Operations包是一组高层次的执行通用内容管理的功

能的接口集合,例如import,checkin,checkout,export,delete。使用IDfOperationi相关的接口执行内

容管理是一种推荐的操作方式,它有如下一些特点:

1.能够在同一时间处理多个对象

2.处理了很多底层的细节

3.操作XML文档

4.多repository操作

Operations可以不使用ssion处理事务,因为Operations支持分布式,一个operation对象可以处理多

个来自不同repository的对象,可能某种操作需要多个对象,或者需要管理systemregistry,本地文件系

统。Session管理事务的时候,也可以利用operations,这一点在Clients和Session里讲到了。

在编程实现Operation的时候,需要与对应的Nodes接口协同工作,Nodes就是你要进行Operation操

作的项。

Operations也有继承关系,所有的IDfXXXOperation都继承自IDfOperation接口(XXX具体代表

import,checkin,checkout等动作),所有的IDfXXXNode都继承自IDfOperationNode接口(XXX具体代

表import,checkin,checkout等动作)。

IDfOperationIDfOperationNode

具体操作描述

ImportintoarepositoryIDfImportOperationIDfImportNode

ExportfromarepositoryIDfExportOperationIDfExportNode

CheckintoarepositoryIDfCheckinOperationIDfCheckinNode

CheckoutofarepositoryIDfCheckoutOperationIDfCheckoutNode

CancelacheckoutIDfCancelCheckoutOperationIDfCancelCheckoutNode

DeletefromarepositoryIDfDeleteOperationIDfDeleteNode

CopyfromonerepositoryIDfCopyOperationIDfCopyNode

locationtoanother

MovefromonerepositoryIDfMoveOperationIDfMoveNode

locationtoanother

ValidateanXMLdocumentIDfValidationOperationIDfValidationNode

againstaDTDorSchema

TransformanXMLIDfXMLTransformOperationIDfXMLTransformNode

documentusingXSLT

上面这张继承图的最后两个是Operation针对XML文档的操作,

1.IDfValidationOperation支持对于DTD和schema的验证,这需要用到XercesXMLparr,这

个在里能够找到。

2.IDfXMLTransformOperation支持XML转化,需要用到XalanTransformationengine并指定

XSLTstylesheet来转化XML文档。,这个engine也能在里找到。

任何Operations都遵循下面这种典型的执行过程,我们称之为Operation设计模式:

DFC接口手册

DFC接口手册

28

1.创建一个合适的Operation对象(例如IDfCheckinOperation)

2.使用Operation对象的add方法创建Nodes

3.执行这个Operation

4.异常处理

5.处理结果操作

和DFC其他的接口不同的是,operations发生错误,一般不抛出异常(除非发生致命错误),而是

把错误存储在IDfOperationError。如果在对多个nodes执行一种操作的时候,其中一个对象发生错误,

operations仍旧执行下去,执行完成以后,返回出错的nodes,你可以选择放弃这次操作,或者接受这

种操作结果。

对每一个Node执行

相同的操作步骤

VirtualDocuments

Objects

Folders

Files

Directories

Import

Export

Checkin

Checkout

CancelCheckout

Copy

Delete

Move

Validation

XMLTransform

OperationDesignPattern

创建Operation对象添加操作对象

Excute()

A

S

C

B

DE

DFC接口手册

DFC接口手册

29

ions

接口IDfOperation

ration

语法

ration

描述

IDfOperation接口是所有operations服务的基类,operations支持任何简单文档,虚拟文档,复合文档和

深层目录的操作,这些操作包括checkin,checkout,cancelcheckout,import,export,copy,delete,XML

transformation和validation。

每个operation都有一个或多个根nodes组成,每个node都有一个或者多个子nodes组成。

主要成员变量

数值

语法

描述

主要成员方法

add(ObjectnewObject)

目的追加操作对象

语法publicIDfOperationNodeadd(ObjectnewObject)throwsDfException

描述追加操作对象,返回新追加对象的操作结点。

参数newObject

添加到operation的对象,这个对象可以是IDfSysObject,文件路径,虚拟文件等。

返回追加的结点,如果未追加成功则返回null

示例下面的示例为执行import操作

IDfIddestinationFolderId=getDestinationFolderId("0ba5");

IDfImportOperationimportOperation=newDfImportOperation();

sion(ssion);

tinationFolderId(destinationFolderId);

IDfImportNodenode=(IDfImportNode)(fullPath);

ePath(fullPath);

if(e()==fal){

n("nImportOperationfailed!");

}el

n("nImportOperationsuccessful!");

}

execute()

目的执行operation

DFC接口手册

DFC接口手册

30

语法publicbooleanexecute()throwsDfException

描述顺序执行所有的operation步骤,如果遇到致命错误,抛出DfException,否则由getErrors方

法捕获一般的错误。

参数

返回true:operation执行成功

fal:operation执行不成功

示例参考add方法示例

getSteps()

目的返回操作步骤列表

语法publicIDfListgetSteps()throwsDfException

描述返回操作步骤列表。

参数

返回操作步骤IDfList对象

示例下面的示例为显示import操作步骤

IDfListsteps=ps();

intstepCount=nt();

for(intstepIndex=0;stepIndex

IDfOperationStepstep=(IDfOperationStep)(stepIndex);

n("Executingstep:"+e());

e();

}

DFC接口手册

DFC接口手册

31

ions

接口IDfOperationNode

rationNode

语法

rationNode

描述

实现了operation的一个节点。

主要成员方法

getChildren()

目的返回node后代的IDfList对象

语法publicIDfListgetChildren()throwsDfException

描述返回node后代的IDfList对象。

参数

返回IDfList对象,如果children不存在,则返回null

示例下面的示例为打印所有node的后代

publicstaticvoidprintChildrenNodes(IDfOperationNodenode)throwsException

{

IDfListchildren=ldren();

intchildrenCount=nt();

for(inti=0;i

IDfOperationNodechildrenNode=(IDfOperationNode)(i);

n("Childrennode'sid:"+

().toString());

}

}

DFC接口手册

DFC接口手册

32

ions

接口IDfImportOperation

ration

ortOperation

语法

ortOperation

ration

描述

cludesdetecting

compoundfilereferences,creatingnewdocbaobjectsfortoplevelandreferencedfiles,uploadingcontent

filestotherver,performingtheinitialsave,atcompound

referencestoexistingdocbaobjects(hXMLlinks)willcauthoexistingobjectstobe

atyouMUSTspecifyassionusingthetSession()

uldalsotthedestinationcabinetor

folderusingthetDestinationFolderId()an

IDfportingXML

content,

applicationdefinestheconfigurationrulestobeappliedtotheXML,suchashowthecontentwillbebroken

outintodocbaobjects,therelationshipsbetweenXMLcontentchunks,etc。

主要成员变量

数值

语法

描述

主要成员方法

tDestinationFolderId(IDfIddestinationFolderId)

目的设置目标文件夹的objectid

语法publicvoidtDestinationFolderId(IDfIddestinationFolderId)throwsDfException

描述设置目标文件夹的objectid,该方法可以被IDfOperationNode的tDestinationFolderId方法覆

写。

参数destinationFolderId

目标Folder或者cabinet的IDfId对象。

返回

示例下面的示例为执行一个XML文件的import操作

IDfClientXclientx=newDfClientX();

IDfImportOperationoperation=ortOperation();

sion(ssion);

IDfFolderfolder=null;

folder=derByPath("/Temp");

if(folder==null){

DFC接口手册

DFC接口手册

33

return;

}

tinationFolderId(ectId());

StringsrcFileOrDir="d:/DFC/";

IDfFilemyFile=e(srcFileOrDir);

if(()==fal){

return;

}

IDfImportNodenode=(IDfImportNode)(srcFileOrDir);

e();

IDfListmyNodes=es();

intiCount=nt();

n("Numberofnodesafteroperation:"+iCount);

for(inti=0;i

IDfImportNodeaNode=(IDfImportNode)(i);

("ObjectID"+i+":"+

ObjectId().toString()+"");

n("Objectname:"+ObjectName());

}

tSession(IDfSessionimportSession)

目的设置ssion来创建一个新的repository对象

语法publicvoidtSession(IDfSessionimportSession)throwsDfException

描述设置ssion来创建一个新的repository对象。

参数importSession

import对象时需要用到的ssion。

返回

示例参考tDestinationFolderId方法示例

DFC接口手册

DFC接口手册

34

ions

接口IDfImportNode

rationNode

ortNode

语法

ortNode

rationNode

描述

IDfImportNode实现了一个import操作的对象。

主要成员方法

tFilePath(StringnewFilePath)

目的设置node对象的内容路径

语法publicvoidtFilePath(StringnewFilePath)throwsDfException

描述设置node对象的内容路径。

参数newFilePath

本地文件系统的文件路径。

返回

示例参考接口IDfOperation的add方法示例

DFC接口手册

DFC接口手册

35

六.QueryRelatedInterface

IDfQuery接口是一个非持久化对象,用来传送一条DQL语句给DQL引擎,返回查询结果。IDfQuery

本身也只是一个辅助DFC编程的工具,具体执行时需要传送ssion给IDfQuery对象。

DFC操作DB有以下方式:

1.直接查询Documentum对象类型,这个时候,可以认为IDfQuery查询的是一个对象型数据库。

2.直接通过JDBC,或者ODBC来访问DB

查询的基本流程如下

获得一个IDfQuery对象

给查询对象设置DQL查询属性

执行查询,得到结果集

迭代查询结果,返回需要的值

关闭连接

DFC接口手册

DFC接口手册

36

接口IDfQuery

ry

语法

ry

描述

IDfCollection接口提供了对repository进行查询的基本功能。

主要成员变量

DF_READ_QUERY

数值0

语法publicstaticfinalintDF_READ_QUERY

描述

主要成员方法

execute(IDfSessionssion,intqueryType)

目的执行一个DQL查询

语法publicIDfCollectionexecute(IDfSessionssion,intqueryType)throwsDfException

描述在执行这个方法之前,先调用tDQL方法设置一个DQL查询语句。

参数ssion

当前ssion

queryType

0READQUERY

1QUERY

2CACHEQUERY

3EXECUTEQUERY

4EXECUTEREADQUERY

5APPLY

返回保存查询结果的IDfCollection对象

示例下面的示例为DQL查询结果保存为collection对象

Stringdql="SELECTr_object_id,object_namefromdm_documentwhere

folder('"+DIR_PATH+"');";

IDfQueryquery=newDfQuery();

(dql);

collection=null;

StringdocName=null;

try{

collection=e(ssion,_READ_QUERY);

while(()){

docName=ing("object_name");

}

}finally{

//ALWAYS!cleanupyourcollections

DFC接口手册

DFC接口手册

37

if(collection!=null){

();

}

}

DFC接口手册

DFC接口手册

38

七.DocumentumBusinessObjectFramework

Documentum使开发人员可以利用业务对象框架(BOF)将业务逻辑封装在多个独立的组件里。BOF

里包含业务逻辑,业务逻辑是可以重用的功能单元,开发人员可以把业务逻辑和repository类型或独立

的服务关联起来。

BOF位于Documentum基本类库(DFC)之中,它提供了开发可插入控件的功能,每个组件实现了一

个或多个中间层业务规则。由于BOF是核心DFC层的一部分,所以用户界面方面的行为是一致的;业

务逻辑层与表示层相互分离。

业务对象框架支持两类业务对象:

基于服务的对象(SBO)

基于类型的对象(TBO)

SBO公开了对所有对象类型(例如工作流、收件箱)都可用的功能,而TBO只实现了针对特定对

象类型的分散的功能片断。此外,SBO也接受利用任何TBO实现的自定义行为。

随Documentum5安装直接提供的SBO数量是有限的,但是SBO可以从Documentum开发人员项目

的组件交换中心()得到,也可以自行设计。

对于任何需要与Documentum资源交互的应用程序来说,SBO会成为程序的重要部分。BOF是

Documentum中的策略架构。下图是BOF的架构图。

图3BOFArchitecture

DFC接口手册

DFC接口手册

39

八.BPMrelatedInterface

图4ComponentofWorkflow

DFC接口手册

DFC接口手册

40

附录1DMCLAPIs和DFCMethods的对应表

AbortIDfSession::abortTrans

AcquireIDfRouter::acquire.

AddnoteIDfSysObject::addNote

AddrenditionIDfSysObject::addRendition

IDfSysObject::addRenditionEx

AnyeventsIDfSession::hasEvents

AppendIDfTypedObject::appendBoolean

IDfTypedObject::appendDouble

IDfTypedObject::appendId

IDfTypedObject::appendInt

IDfTypedObject::appendString

IDfTypedObject::appendTime

IDfTypedObject::appendValue

AppendcontentIDfSysObject::appendContent

AppendfileIDfSysObject::appendFile

AppendpartIDfSysObject::appendPart

AppendtaskIDfRouter::appendTask

ApplyIDfSession::apply

ArchiveIDfSession::archive

AsmbleIDfSysObject::asmble

AttachIDfSysObject::attachPolicy

BegintranIDfSession::beginTrans

BindfileIDfSysObject::bindFile

BranchIDfSysObject::branch

ChangepasswordIDfSession::changePassword

CheckinIDfSysObject::Checkin

IDfSysObject::CheckinEx

CheckinappIDfSysObject::checkinApp

CheckoutIDfSysObject::Checkout

IDfSysObject::CheckoutEx

CloIDfCollection::clo

CommitIDfSession::commitTrans

ConnectIDfClient::newSession

IDfClient::getSharedSession

CountIDfTypedObject::getAttrCount

CreateIDfSession::newObject

IDfSession::newObjectWithType

DatatypeIDfTypedObject::getAttrDataType

DemoteIDfSysObject::demote

DequeueIDfSession::dequeue

DescribeIDfSession::describe

DestroyIDfPersistentObject::destroy

DFC接口手册

DFC接口手册

41

DisasmbleIDfSysObject::disasmble

DisconnectIDfSession::disconnect

DumpIDfTypedObject::dump

EndIDfRouter::end

FetchIDfPersistentObject::fetch

IDfSession::getObject

IDfSession::getObjectWithType

FlushIDfSession::flush

FlushcacheIDfSession::flushCache

ForceIDfRouter::force

ForwardIDfRouter::forward

FreezeIDfSysObject::freeze

GetIDfTypedObject::getBoolean

IDfTypedObject::getDouble

IDfTypedObject::getId

IDfTypedObject::getInt

IDfTypedObject::getString

IDfTypedObject::getTime

IDfTypedObject::getValue

IDfTypedObject::getAllRepeatingStrings

IDfTypedObject::getRepeatingBoolean

IDfTypedObject::getRepeatingDouble

IDfTypedObject::getRepeatingId

IDfTypedObject::getRepeatingInt

IDfTypedObject::getRepeatingString

IDfTypedObject::getRepeatingTime

IDfTypedObject::getRepeatingValue

GetcontentIDfSysObject::getContent

IDfSysObject::getContentEx

GetdocbamapIDfClient::getDocbaMap

IDfClient::getDocbaMapEx

GetdocbrokermapIDfClient::getDocbrokerMap

IDfClient::getDocbrokerMapEx

GeteventsIDfSession::getEvents

GetfileIDfSysObject::getFile

IDfSysObject::getFileEx

GetlastcollIDfSession::getLastCollection

GetloginIDfSession::getLoginTicket

Getmessagethishappensautomaticallywhentheerroroccurs

IDfSession::getMessage

GetpathIDfSysObject::getPath

GetrvermapIDfClient::getServerMap

IDfClient::getServerMapEx

GrantIDfACL::grant

DFC接口手册

DFC接口手册

42

IDfSysObject::grant

HaltIDfRouter::halt

IdIDfSession::getIdByQualification

InrtIDfTypedObject::inrtBoolean

IDfTypedObject::inrtDouble

IDfTypedObject::inrtId

IDfTypedObject::inrtInt

IDfTypedObject::inrtString

IDfTypedObject::inrtTime

IDfTypedObject::inrtValue

InrtcontentIDfSysObject::inrtContent

InrtfileIDfSysObject::inrtFile

InrtpartIDfSysObject::inrtPart

InrttaskIDfRouter::inrtTask

LinkIDfSysObject::link

LocateIDfTypedObject::findBoolean

IDfTypedObject::findDouble

IDfTypedObject::findId

IDfTypedObject::findInt

IDfTypedObject::findString

IDfTypedObject::findTime

IDfTypedObject::findValue

MarkIDfSysObject::mark

NextIDfCollection::next

OfftIDfTypedObject::findAttrIndex

PauIDfRouter::pau

PrintIDfSysObject::print

PromoteIDfSysObject::promote

PruneIDfSysObject::prune

PurgelocalIDfSession::purgeLocalFiles

e

QueueIDfSysObject::queue

e

ReassignIDfRouter::reAssign

RegisterIDfSysObject::register

ReinitIDfSession::reInit

RemoveIDfTypedObject::remove

IDfTypedObject::removeAll

RemovecontentIDfSysObject::removeContent

RemovenoteIDfSysObject::removeNote

RemovepartIDfSysObject::removePart

RemoverenditionIDfSysObject::removeRendition

IDfSysObject::removeRenditionEx

RemovetaskIDfRouter::removeTask

DFC接口手册

DFC接口手册

43

RepeatingIDfTypedObject::isAttrRepeating

RetHappensautomaticallywhentheerroroccurs

RestartIDfSession::reStart

RestoreIDfSession::restore

ResumeIDfRouter::resumeRouter

IDfSysObject::resume

RetrieveIDfSession::getObjectByQualification

ReverIDfRouter::rever

RevertIDfPersistentObject::revert

IDfSysObject::revertACL

RevokeIDfACL::revoke

IDfSysObject::revoke

SaveIDfPersistentObject::save

IDfSysObject::saveLock

SaveasnewIDfSysObject::saveAsNew

ScopeIDfSession::tDocbaScope

SetIDfTypedObject::tBoolean

IDfTypedObject::tDouble

IDfTypedObject::tId

IDfTypedObject::tInt

IDfTypedObject::tString

IDfTypedObject::tTime

IDfTypedObject::tValue

IDfTypedObject::tRepeatingBoolean

IDfTypedObject::tRepeatingDouble

IDfTypedObject::tRepeatingId

IDfTypedObject::tRepeatingInt

IDfTypedObject::tRepeatingString

IDfTypedObject::tRepeatingTime

IDfTypedObject::tRepeatingValue

SetbatchhintIDfSession::tBatchHint

SetcontentIDfSysObject::tContent

IDfSysObject::tContentEx

SetdocIDfSysObject::tIsVirtualDocument

SetfileIDfSysObject::tFile

IDfSysObject::tFileEx

SetpathIDfSysObject::tPath

ShutdownIDfSession::shutdown

SignoffIDfRouter::signOff

StartIDfRouter::start

SuspendIDfSysObject::suspend

TraceIDfSession::traceDMCL

TruncateIDfTypedObject::truncate

TypeIDfSession::getTypeDescription

DFC接口手册

DFC接口手册

44

UnfreezeIDfSysObject::unfreeze

UnlinkIDfSysObject::unlink

UnlockIDfSysObject::cancelCheckout

IDfSysObject::cancelCheckoutEx

UnmarkIDfSysObject::unmark

UnregisterIDfSysObject::unRegister

UpdatepartIDfSysObject::updatePart

UaclIDfSysObject::uACL

ValidateIDfRouter::validateRouter

ValuesIDfTypedObject::getValueCount

DFC接口手册

DFC接口手册

45

附录2DFC接口索引

Clientsandssions

IDfClientX

IDfClient

IDfAdminClient

IDfSessionManager

IDfSession

IDfSessionManagerStatistics

IDfSessionManagerEventListener

IDfDocbaMap

IDfDocbrokerClient

TypeRelated

IDfTypedObject

IDfPersistentObject

IDfSysObject

CommonTools

IDfConnection

IDfAttr

IDfBasicAttributes

IDfChangeDescription

IDfDynamicInheritance

IDfException

IDfFileObrver

IDfld

IDfInterProcessLock

IDfList

IDfLoginInfo

IDfProperties

IDfSearchable

IDfTime

IDfValue

OperationsandNodes

IDfCancelCheckoutNode

IDfCancelCheckoutNodeOperation

IDfCancelCheckoutNodeOperationInternal

IDfCheckinNode

IDfCheckinNodeInternal

IDfCheckinOperation

IDfCheckinOperationInternal

DFC接口手册

DFC接口手册

46

IDfCheckoutNode

IDfCheckoutNodeInternal

IDfCheckoutOperation

IDfCheckoutOperationInternal

IDfContentPackageItemMapInternal

IDfCopyNode

IDfCopyOperation

IDfCopyOperationInternal

IDfDeleteNode

IDfDeleteOperation

IDfDeleteOperationInternal

IDfExportNode

IDfExportNodeInternal

IDfExportOperation

IDfExportOperationInternal

IDfFile

IDfFilePathResolver

IDfFormatRecognizer

IDfImportNode

IDfImportNodeInternal

IDfImportOperation

IDfImportOperationInternal

IDfMoveNode

IDfMoveOperation

IDfMoveOperationInternal

IDfNodeAction

IDfOperation

IDfOperationError

IDfOperationInternal

IDfOperationMonitor

IDfOperationNode

IDfOperationNodeInternal

IDfOperationPopulator

IDfOperationStep

IDfDMPlatformUtils

IDfValidationNode

IDfValidationOperation

IDfValidationOperationInternal

IDfXMLDocType

IDfXMLTransformNode

IDfXMLTransformNodeInternal

IDfXMLTransformOperation

IDfXMLTransformOperationInternal

IDfXMLUtils

DFC接口手册

DFC接口手册

47

IDfXMLUtilsInternal

QueryRelated

IDfQuery

IDfAttrLine

IDfQueryComparator

IDfQueryFullText

IDfQueryLocation

IDfQueryMgr

IDfQueryResultEvent

IDfQueryResultItem

IDfQueryResultListener

IDfAttrExpression

IDfExpression

IDfExpressionSet

IDfFullTextExpression

IDfLocationQueryScope

IDfPassThroughQuery

IDfQueryBuider

IDfQueryDefinition

IDfQueryEvent

IDfQueryListener

IDfQueryManager

IDfQueryProcessor

IDfQueryScope

IDfQueryStatus

IDfRelativeDateExpression

IDfResultContent

IDfResultEntry

IDfResultObjectManager

IDfResultsManipulator

IDfResultsSet

IDfSearchMetadataManager

IDfSearchOperation

IDfSearchService

IDfSearchSource

IDfSearchSourceContainer

IDfSearchSourceMap

IDfSearchTypeAssistant

IDfSimpleAttrExpression

IDfSmartList

IDfSmartListDefinition

IDfSourceStatus

IDfValueListAttrExpression

DFC接口手册

DFC接口手册

48

IDfValueRangeAttrExpression

RegistryandLocalFiles

IDfAppSupportDocumentInternal

IDfCheckedOutObject

IDfCheckedOutObjectInternal

IDfClientRegistry

IDfClientRegistryInternal

IDfClientRegistryObject

IDfHouKeepingObject

IDfInlineDescendantInternal

IDfLocalObject

IDfRegistry

IDfRegistryHandler

IDfRegistryIniFile

IDfRegistryPlayback

IDfRegistryWin32

IDfViewedObject

ValidationRelated

IDfValidator

IDfValueAssistance

VirtualDocument

IDfVirtualDocument

IDfVirtualDocumentNode

Lifecycle

LDfLifecycleAction

LDfLifecycleUrActoin

LDfLifecycleEntryCriteria

LDfLifecycleUrPostProcess

LDfLifecycleValidate

BusinessObjectFramework

IDfBusinessObject

IDfModule

IDfService

IDfDbor

IDfDborEntry

XMLSupport

WebServicesFramework

DFC接口手册

DFC接口手册

49

OtherInterface

IDfWorkflowBuilder

IDfTrustManager

IDfRetensionStatus

IDfRetensionService

IDfRetensionRuleType

IDfVDMNumberingScheme

IDfAuditTrailManager

IDfEnumeration

IDfGroupHelper

IDfModuleCategory

IDfModuleDescriptor

IDfModuleFilter

IDfNetworkLocationEntry

IDfObjectPath

IDfPersistentObjectFactory

IDfPredicate

IDfPrincipalSupport

IDfRetainerFactory

IDfRetainerInternal

IDfRetainerStrategy

IDfRetainerDispositionRule

IDfRetainerEnforcementRule

IDfRetainerRenditionRule

IDfRetainerImmutabilityRule

IDfSeekRoot

IDfVersionLabels

IDfVersionPolicy

IDfTypeObjectHelper

IDfStorageRuleEvaluator

IDfSysObjectRetention

IDfStorageRuleFactor

IDfStorageRuleLine

IDfModuleRegistry

IDfGrobalModuleRegistry

IDfLocalModuleRegistry

IDfPermit

IDfDDInfo

IDfTypeObjectInternal

IDfPersistentObjectInternal

IDfSysObjectInternal

IDfFolderInternal

DFC接口手册

DFC接口手册

50

IDfTypeInternal

IDfSessionInternal

本文发布于:2023-01-04 16:43:22,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/91729.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:辽宁查分
标签:dmcl
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图