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小时内删除。
留言与评论(共有 0 条评论) |