API函数使用手册v11.docx
- 文档编号:7795317
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:56
- 大小:1.21MB
API函数使用手册v11.docx
《API函数使用手册v11.docx》由会员分享,可在线阅读,更多相关《API函数使用手册v11.docx(56页珍藏版)》请在冰豆网上搜索。
API函数使用手册v11
新一代信息系统建设
浦发银行架构建模管理工具平台建设项目
数据建模工具及实施服务
API函数使用手册
V1.1
文档编排规范及约定
【文档编排规范及约定】的内容仅是对本文档编写的规范和约定进行描述,文档编写人员须严格按照本规范和约定进行编写,在文档正式发布时删除该部分内容;
须填写“文档修订控制记录”;
文档目录须更新为最新的,与实际内容相对应;
序号
修订内容
修订日期
版本号
修订人
审核人
1
创建
2014-11-04
0.1
曹凯华
2
完善了API帮助文档的介绍
2014-11-29
0.2
曹凯华
3
编写PowerDesigner脚本开发示例
2014-11-30
0.3
曹凯华
4
清稿
2015-01-16
1.0
曹凯华
5
补充脚本开发示例的简介
2015-01-30
1.1
曹凯华
目录
1.前言4
1.1.编写目的4
1.2.适用范围4
1.3.预期读者4
2.PowerDesignerAPI简介5
2.1.概述5
2.2.查询API帮助文档5
2.3.常用API简介15
3.PowerDesigner脚本开发示例43
3.1.概述43
3.2.创建和打开模型43
3.3.浏览和修改模型的集合44
3.4.操纵知识库45
3.5.PDM模型的正向工程45
3.6.PDM模型的反向工程48
1.前言
1.1.编写目的
为了指导开发人员初步掌握SybasePowerDesignerAPI帮助文档的查询方法、了解SybasePowerDesigner脚本程序的开发步骤,特编写此手册。
本手册分为两部分,第一部分介绍了API帮助文档的目录结构和常用的API类库;第二部分并针对一些常用的使用场景,给出了API函数的使用示例。
1.2.适用范围
本手册叙述的产品特性、操作命令、用户界面均基于下列版本的产品
ØWindow2008EnterpriseSP2
ØSQLServer2008R2
1.3.预期读者
SybasePowerDesigner脚本开发人员
2.PowerDesignerAPI简介
2.1.概述
PowerDesigner客户端提供了丰富的API及详尽的说明文档,开发人员通过编写VBS脚本、调用API,可以执行大批量、重复性的模型管理和维护任务。
2.2.查询API帮助文档
2.2.1.打开方法
用户可以通过点击PowerDesigner客户端的[Help->MetamodelObjectsHelp]菜单项,打开PowerDesignerAPI帮助文档。
如下图:
2.2.2.目录结构说明
PowerDesignerAPI帮助文档采用CHM文件格式,文档的目录树将文档分成三部分:
1)BasicElements–基础元素
这部分包含PowerDesigner自定义的集合类型(Collections)、结构体类型(StructuredTypes)、全局属性(GlobalProperties)、全局常数(GlobalConstans)以及全局函数(GlobalFunctions)。
2)Libraries–类库
在Libraries目录下,每个文件夹代表一个类库,类库包含了所有相关类的API文档。
其中,普通类的API文档直接位于类库文件夹下;
抽象类的API文档在类库文件夹下的AbstractClasses文件夹下。
下图展示了Libraries目录及其下PdWSP类库的完整结构。
类库从功能上分为两大类:
公共类库和模型类库。
类别
类库
说明
公共类库
PdCommon
通用类库,包含了模型或组件的基类,以及模型比较、模型检查等通用功能类
PdWSP
对应于PowerDesigner客户端的工作空间组件
PdRMG
对应于PowerDesigner客户端的知识库组件
模型类库
[PdXXX]
模型对应的类库名以“Pd”+模型的缩写组成,包含了该模型类及模型子元素类
PdGLM
对应于Glossary模型
PdLDM
对应于LDM模型
PdPDM
对应于PDM模型
类库包含了所有相关类的API文档。
其中,普通类的API文档直接位于类库文件夹下;
抽象类的API文档在类库文件夹下的AbstractClasses文件夹下。
下图展示了Libraries目录及其下PdWSP类库的完整结构。
3)Appendix–附录
附录包含三部分内容:
ØClassesHierarchy(所有类的层次结构)
ØCodesample(代码示例)
ØClassesIDs(所有类的类型标识列表)
2.2.3.API文档说明
2.2.3.1.总体结构
每个类的API文档都包含以下几部分内容:
ØClassName(类名称)
ØClassesHierarchy(类层次结构)
ØDescription(类描述信息)
ØSpecificMembers(特有成员列表)
ØFullDefinition(全部成员接口)
下面以PdPDM类库下的抽象类BaseTable为例,说明各部分的含义。
2.2.3.2.详细说明
2.2.3.2.1.ClassName(类名称)
在API文档页首,会以蓝色背景红色粗体字“类的类型名称:
类的显示名称”的形式标示类名称信息,如果是抽象类,名称之后还会有“(abstract)”字样的提示,如下图:
其中,
类的显示名称是类的ClassName属性的值;
类的类型名称是类的ObjectType属性的值,“cls_”前缀加上类型名称构成了类型标识常数,如BaseTable类的类型常数是cls_BaseTable。
⏹判断一个对象是否是某类的方法
使用对象的ClassKind属性与类型标识常数作比较,如果相等,则该对象的类就是类型标识常数所代表的类。
例如:
通过以下语句可以判断对象Obj是否是BaseTable类。
IfObj.ClassKind=cls_BaseTablethen
Output“是BaseTable类型”
Else
Output“不是BaseTable类型”
EndIf
2.2.3.2.2.ClassesHierarchy(类层次结构)
在类名称下方,有一个类层次结构树,如下图:
类层次结构树描述了从基类到当前类之间的所有层次结构。
如果有子类继承,可以通过点击继承树右侧的“...”按钮来显示和隐藏子类的层次结构。
API中的所有类都继承于BaseObject类,且所有类的层次结构都遵循于
“BaseObject类—>PdCommon类库类—>类库抽象类—>类库类”规则。
2.2.3.2.3.Description(类描述信息)
Description部分描述了类所对应的PowerDesigner对象,有些还会包含类的使用示例。
在描述信息的最后会有一个该类所对应的PowerDesigner对象的图标。
2.2.3.2.4.SpecificMembers(特有成员列表)
对应大多数类,很多成员都是从父类继承而来。
SpecificMembers部分则列出了当前类所特有的成员的列表,包括属性、集合和方法。
开发人员可以着重关注这些类特有成员,以了解该类有哪些特殊功能。
2.2.3.2.5.FullDefinition(全部成员接口)
2.2.3.2.5.1.成员接口的显示顺序
API文档的FullDefinition部分包含了当前类的所有成员的接口说明,这些成员分为属性(Properties)、集合(Collections)和方法(Methods)三部分,每部分又按照类的层次结构依次罗列。
以PdPDM类库的抽象类BaseTable类为例,其层次结构如下:
在FullDefinition部分,先依次罗列了继承于BaseObject类、IdentifiedObject类、ExtensibleObject类、NamedObject类、NamedClassifier类的属性
在罗列完所有继承于父类的属性之后,再列出BaseTable类特有的属性
可以发现,由于BaseObject类是所有类的基类,所以每一个类都包含“Parent”、“ClassName”、“ObjectType”、“ClassKind”等BaseObject类的属性。
相应地,其他父类的属性也会被继承下来。
一般来说,要了解某个类所的功能,除了阅读类的描述信息(Description)与类的层次结构,还应重点关注类的特有成员,即SpecificMembers中所列出的属性、集合和方法。
2.2.3.2.5.2.Properties(属性列表)
属性列表按照类的继承顺序,依次罗列了从父类继承的属性,以及当前类所特有的属性。
列表包含两列,第一列以“属性名称As类型”的形式描述了属性的定义(Properties);
第二列描述了属性的使用方法(Usage)。
2.2.3.2.5.3.Collections(集合列表)
集合列表按照类的继承顺序,罗列了从父类继承的集合,以及当前类所特有的集合。
列表包含两列,第一列以“集合名称As类型”的形式描述了集合的定义(Collections);
第二列描述了集合的使用方法(Usage),使用方法中说明了该集合中包含元素的类型,并给出类型所在类的链接。
2.2.3.2.5.4.Methods(方法列表)
方法列表按照类的继承顺序,罗列了从父类继承的方法,以及当前类所特有的方法。
每个方法都包含方法定义,以及参数用法的说明。
方法的定义格式如下:
方法名(ByVal|ByRef参数1As类型[=默认值]
[,ByVal|ByRef参数2As类型[=默认值],…])As类型
其中,
Ø使用ByVal申明的参数是输入参数
Ø使用ByRef申明的参数是输出参数
Ø带有默认值的参数可以省略,省略时实参以默认值替代
2.2.4.API文档的查询方法
1.先根据所要查询的功能找到对应的类库。
Ø对于通用功能,如:
模型比较、模型检查、系统参数设置等,
请查找PdCommon类库;
Ø对工作空间的操纵,请查找PdWSP类库
Ø对知识库的操纵,请查找PdRMG类库
Ø对某一种模型的操纵,请查找相应模型类库
2.在类库中,进一步对所要查询的功能进行分类,查找对应的类。
一般地,PowerDesinger中的一个组件、模型或模型的子元素,都有各自对应的API类。
常见的有:
Ø工作空间有对应的Workspace类;
Ø工作空间下的文件夹和模型有对应的WorkspaceFolder类和WorkspaceModel类;
Ø每种模型都对应于各自的类库下的Model类;
Ø模型中包含的子元素如:
PDM模型的表、字段等都有相应的Table类、Column类;
3.在类文档中,根据应用场景和使用需求,查找适合的属性、集合和方法。
可以按CTRL+F输入关键字在类文档中直接搜索,对找到的内容进行过滤。
一般的经验有:
Ø客户端中可以看到的对象属性,在API的类中都有相应的属性
Ø名称以“s”结尾的复数形式的对象,在API类中都可以找到相应的集合类型的成员。
集合可以方便地通过“ForEachvariableIncollection”的语法进行遍历。
例如:
客户端的PDM模型树的Tables节点,对应于PdPDM类库下的Model类的Tables成员,通过该集合可以取得模型目录树根目录下的所有Table对象。
Ø类的方法从功能上可分为取值、设值和执行3种类型。
Ø取值类型的方法一般以“Get”和“Find”开头。
前者返回单个对象的值,后者返回的是对象集合。
Ø设值类型的方法通常以“Set”、“Add”开头。
前者设置单个对象的值,后者通常是往集合中新添加对象。
2.3.常用API简介
2.3.1.Basicelements-基础元素
2.3.1.1.Collections–集合
集合类型代表了某一种对象的集合,很多模型类的下级成员都是集合类型,如PDM模型类(PdPDM.model)的表集合(Tables)、视图集合(Views)、域集合(Domains)。
所有集合都能够通过“ForEachvariableIncollection”的语法进行遍历。
集合
说明
ReadOnlycollections(ObjectSet)
此集合只读
Unorderedcollections(ObjectBag)
这种集合只能在集合队列的末尾插入新元素
Orderedcollections(ObjectCol)
这种集合可以在集合队列的任意位置插入新元素
2.3.1.2.Structuredtypes–结构体类型
结构体类型主要用于对模型图表(diagram)中符号(symbol)元素的定位。
结构体
说明
Points
定义了最基本的位置元素“点”的结构
Rectangles
定义了由点组成的矩形的结构
Lists-Of-Points
定义了点的列表,以及列表的操纵方法
2.3.1.3.Globalproperties–全局属性
全局属性是由PowerDesigner客户端的脚本执行环境提供的全局变量,用于设置和返回当前运行环境下的特定属性或对象,以下是所有全局属性的介绍。
全局属性
说明
ActiveDiagram
被激活的图表对象
ActivePackage
被激活的包对象
ActiveModel
被激活的模型对象
ActiveGlossary
被激活的GLM对象
ActiveSelection
被激活的图表中选中的符号元素集合,此集合只读
ActiveWorkspace
工作空间的对象
MetaModel
当前PowerDesigner客户端程序的元模型对象
Models
当前所有打开的模型的集合,此集合只读
ValidationMode
打开或关闭模型校验功能
InteractiveMode
设置PowerDesigner客户端的交互模式
UserName
当前登录知识库的用户名称
RepositoryConnection
当前知识库的连接对象,可用于操纵当前知识库
ScriptInputParameters
只读属性,ExecuteCommand函数执行内部脚本时使用
ScriptInputArray
只读属性,ExecuteCommand函数执行内部脚本时使用
ScriptResult
只读属性,ExecuteCommand函数执行内部脚本时使用
ShowMode
设置当前PowerDesigner客户端程序的可视状态
MainWindowHandle
提供当前PowerDesigner客户端程序的访问句柄
Locked
设置OLE方式启动的PowerDesigner客户端,在主程序执行完成后是否保持运行或关闭
PicturesTransparentColor
设置当前所有IconPicture对象的色彩透明度
Viewer
只读属性,显示当前PowerDesigner客户端程序是否处于功能受限的观察者模式
UserDataDictionary
一个全局的集合对象,用于存放用户自己的数据字典
2.3.1.4.Globalconstants–全局常数
全局常数是由PowerDesigner客户端的脚本执行环境提供的全局常量,包括当前运行环境中的环境变量和模型创建、PowerDesigner客户端交互等相关的各种常数。
以下仅列出部分常用常数,全部的全局常数请查询API帮助文档的相关章节。
全局常数
说明
Version
当前PowerDesigner客户端程序的版本号
HomeDirectory
当前PowerDesigner客户端程序的所在的全路径
RegistryHome
当前PowerDesigner客户端程序在注册表[local-machine]或[current-user]目录下的相对路径
omf_Default
模型打开方式:
默认方式(OpenModel/CreateModel函数)
omf_DontOpenView
模型打开方式:
创建后不打开Diagram窗口(CreateModel函数)
omf_QueryType
模型打开方式:
强制询问初始Diagram类型
omf_NewFileLock
模型打开方式:
自动创建并锁定相关模型文件(CreateModel函数)
omf_Hidden
模型打开方式:
不在工作空间中显示创建的模型(OpenModel/CreateModel函数)
im_Batch
PowerDesigner客户端的交互模式:
不显示任何对话框并自动采用默认值(这是默认交互模式)
im_Dialog
PowerDesigner客户端的交互模式:
总是显示对话框
im_Abort
PowerDesigner客户端的交互模式:
不显示任何对话框但是取消使用默认值
cls_...AsLong
类型标识,常数名称为cls加上对象的类型。
例如:
PdPDM类库下的Model类的类型标识是PdPDM.cls_Model。
要获得完整的类型标识,请查询API帮助文档的[Appendix–ClassesIDs]章节
2.3.1.5.Globalfunctions–全局函数
全局函数是由PowerDesigner客户端的脚本执行环境提供的全局函数,提供全局或通用功能的实现,如模型的创建与打开、文件导入、消息输出、编码方式的转变等。
以下仅列出部分常用常数,全部的全局函数请查询API帮助文档的相关章节。
全局函数
说明
CreateModel(modelkindAsLong,filenameAsString="",flagsAsLong=omf_Default)AsBaseObject
创建一个新模型。
必须参数modelkind指定模型的类型标识;可选参数filename指定模型保存的路径及文件名,可选参数flags指定了模型的创建方式,取值请参考常数:
omf_Default、omf_DontOpenView、omf_QueryType、omf_NewFileLock、omf_Hidden
CreateModelWithDialog(modelkindAsLong,modelnameAsString="",flagsAsLong=omf_Default)AsBaseObject
启动模型创建对话框,必须参数modelkind指定模型类型,可选参数modelname指定模型默认的文件名,用户可以从对话框中修改文件保存的路径及文件名,但不能改变模型类型。
可选参数flags指定了模型的创建方式,取值请参考常数:
omf_Default、omf_DontOpenView、omf_QueryType、omf_NewFileLock、omf_Hidden
CreateModelFromTemplate(filenameAsString,flagsAsLong=omf_Default)AsBaseObject
通过指定的模板来创建模型。
必须参数modelkind指定模型的类型标识;可选参数filename指定模型保存的路径及文件名,可选参数flags指定了模型的创建方式,取值请参考常数:
omf_DontOpenView、omf_Hidden
OpenModel(filenameAsString,flagsAsLong=omf_Default)AsBaseObject
打开一个模型文件。
必须参数filename指定模型保存的路径及文件名;可选参数flags指定了模型的打开方式,取值请参考常数:
omf_DontOpenView、omf_Hidden
Output(messageAsString="")
在PowerDesigner客户端的Output栏输出字符串内容
ConvertToUTF8(InputFileNameAsString,OutputFileNameAsString)
将InputFileName参数指定的文件转换成UTF8格式保存成OutputFileName参数指定的文件。
输入文件和输出文件不能是同一个文件
2.3.2.Libraries–类库
2.3.2.1.全部类库
类库
描述
PdCommon
通用类库,定义了所有模型通用的组件类
PdWSP
工作空间类库
PdRMG
知识库类库
PdGLM
GLM模型类库
PdPDM
PDM模型类库
PdBPM
BPM模型类库
PdCDM
CDM模型类库
PdLDM
LDM模型类库
PdILM
ILM模型类库
PdFRM
FRM模型类库
PdPRJ
PRJ模型类库
PdEAM
EAM模型类库
PdIAM
IAM模型类库
PdMTM
MTM模型类库
PdOOM
OOM模型类库
PdRQM
RQM模型类库
PdXSM
XSM模型类库
2.3.2.2.PdCommon类库
抽象类
Class名称
描述
AbstractRequirement
这个抽象类代表与设计对象有关的需求,需求文本存储在标准描述属性,以RTF格式存储,使用Rtf2ascii()全局函数查看不带格式的文本
ArrowSymbol
一个内部类,可以链接绘图上的箭头
BaseActivity
该类用于UUM的活动(UML活动图)和BPM的过程
BaseActivitySymbol
该类用于OOM中的活动符号(UML活动图)BPM的过程
BaseArea
一个抽象类,可以用自定义的语义分组对象,该地区和其他对象不是母/子关系,而是简单的关联,通过这种方法,一个对象可以依赖对个方面
BaseAssociationMapping
该类用来映射源文件和链接对象,像关联和引用。
获取父类、类名、类ID、对象表类型、文件夹、对象位置等相关属性
BaseCheckNamedClassifier
为命名对象提供约束定义和对象映射
BaseCheckNamedStructuralFeature
为命名子对象提供约束定义和对象映射
BaseClassifierMapping
映射源文件到对象,通过名字取得属性
BaseComposite
公共抽象类,用于不是包但是可以分解为子图的对象。
像BPM中的进程、OOM中的类、接口和活动。
BaseCompositeClassifier
为复合对象提供映射的基础抽象类
BaseCompositeDataStructure
对应一个拥有一系列属性的概念或者物理数据实体,如果Barker符号已经被使用,这个对象可以变成混合物,这种情况
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- API 函数 使用手册 v11
![提示](https://static.bdocx.com/images/bang_tan.gif)