[发明专利]根据模式的命令行外壳命令生成有效
| 申请号: | 201110150687.3 | 申请日: | 2011-05-26 |
| 公开(公告)号: | CN102289367A | 公开(公告)日: | 2011-12-21 |
| 发明(设计)人: | J·卡列夫;E·杨;N·A·卡梅达 | 申请(专利权)人: | 微软公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 杨洁 |
| 地址: | 美国华*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 根据 模式 命令行 外壳 命令 生成 | ||
1.一种至少部分在计算设备中执行的,用于根据一模式的自动命令外壳命令代码生成的方法,所述方法包括:
接收所述模式(610);
生成与所述模式相关联的类的模型(630);
优化所述模型以允许直接将所述模式转换成应用程序编程接口API(640);以及
生成命令代码以允许根据由已优化的模型定义的类来操作按照所述模式结构化了的数据(650)。
2.如权利要求1所述的方法,还包括:
解析所接收到的模式(620)。
3.如权利要求2所述的方法,其特征在于,所述模型(344)包括以下一组中的至少一个:类名称、属性,以及与所述类(230)相关联的数据类型。
4.如权利要求3所述的方法,其特征在于,所述模型(344)还包括与以下至少之一相关联的信息:选项和枚举。
5.如权利要求1所述的方法,还包括:
在所述模型的优化(346)之后,插入插件(348),其中所述插件执行以下一组中的至少一个:修改所述模型、插入插件代码、禁用代码生成,以及生成所述插件代码(352)。
6.如权利要求5所述的方法,其特征在于,所述插件修改所述模型,并将插件生成的代码插入到表示所述数据的模型的类中。
7.如权利要求5所述的方法,其特征在于,所述插件(348)利用由类生成器展示的对象模型来提供关于已生成的类和接口的信息。
8.如权利要求7所述的方法,其特征在于,所述类生成器是独立于产品的,而所述插件(348)是依赖于产品的。
9.一种用于提供根据一模式的自动命令外壳命令代码生成的计算设备,所述计算设备包括:
存储器(504);
处理器(502),耦合到所述存储器,其中所述处理器执行一代码生成工具(522),所述代码生成工具被配置为:
接收所述模式(610);
生成与所述模式相关联的类的模型(630);
优化所述模型以允许直接将所述模式转换成应用程序编程接口API(640);
如果提供了插件(348),则插入所述插件,其中所述插件被配置为:
修改所述模型,
禁用代码生成,
生成插件代码,以及
插入所述插件代码,以及
生成命令代码以允许根据由已优化的模型定义的类来操作按照所述模式结构化了的数据(650)。
10.如权利要求9所述的计算设备,其特征在于,所述模式(342)是XSD模式。
11.如权利要求9所述的计算设备,其特征在于,所述代码生成工具522还被配置为根据所生成的模型228来生成各类,且所述各类允许如下之一:利用XML元素来序列化和去序列化。
12.如权利要求11所述的计算设备,其特征在于,所述各类还允许验证所述模式222中包含的条件。
13.一种计算机可读存储介质,其上储存有用于根据一模式的自动命令外壳cmdlet代码生成的指令,所述指令包括:
接收定义要操作的数据的结构的所述模式(610);
生成与所述模式相关联的类的模型(630);
优化所述模型以允许直接将所述模式转换成应用程序编程接口API(640);
如果提供了插件,则插入所述插件,其中所述插件执行来自以下一组中的至少一个:修改所述模型、禁用代码生成、生成cmdlet的插件代码,及插入所述插件代码;以及
生成所述cmdlet的命令代码以允许根据由已优化的模型定义的类来操作按照所述模式结构化了的数据(650)。
14.如权利要求13所述的计算机可读介质,其特征在于,所述指令还包括:
通过所述API(106)来允许所述数据的操作。
15.如权利要求13所述的计算机可读介质,其特征在于,所述指令还包括以下之一:
利用Xelement进行序列化和去序列化,所述XML元素响应于对应类(230)中的至少一个属性的更新而自动更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110150687.3/1.html,转载请声明来源钻瓜专利网。





