[发明专利]一种基于声明式的代码生成编译执行方法在审
| 申请号: | 202210061795.1 | 申请日: | 2022-01-19 |
| 公开(公告)号: | CN114461206A | 公开(公告)日: | 2022-05-10 |
| 发明(设计)人: | 黄涛;谭敏锋;王文友;魏俊华;刘意川 | 申请(专利权)人: | 北京致远互联软件股份有限公司 |
| 主分类号: | G06F8/35 | 分类号: | G06F8/35 |
| 代理公司: | 北京权智天下知识产权代理事务所(普通合伙) 11638 | 代理人: | 郑元昊 |
| 地址: | 100089 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 声明 代码 生成 编译 执行 方法 | ||
1.一种基于声明式的代码生成编译执行方法,其特征在于:包括以下步骤:
A、按项目功能划分功能模块,由不同模块的开发人员进行对应功能的代码生成开发;
B、初始化代码生成上下文;
C、异步执行代码生成任务;
D、异步输出代码文件。
2.根据权利要求1所述的一种基于声明式的代码生成编译执行方法,其特征在于:所述步骤A中具体方法如下:
1)编写ftl模板文件和其抽象类实现:通过实现这个freemarker抽象类或使用一个生成此freemarker抽象类的建造器来将编写好的ftl模板和模板参数传递相关联;
2)注入代码生成元数据;
3)添加代码生成任务。
3.根据权利要求1所述的一种基于声明式的代码生成编译执行方法,其特征在于:所述步骤B中上下文贯穿整个代码生成生命周期,使容器中所有声明的组件能够衔接到一起,同时此代码生成上下文是被代理的,根据需要对代码生成生命周期中的某个过程添加切面逻辑,实现高级功能;代码生成上下文的初始化过程会扫描所有的元数据注入声明,将开发人员自定义的元数据注入到上下文以在整个代码生成周期中共享这些元数据。
4.根据权利要求1所述的一种基于声明式的代码生成编译执行方法,其特征在于:所述步骤C中,代码生成上下文初始完成之后,代码生成执行引擎会扫描所有的代码生成任务并执行,所有的任务异步执行,任务之间互不影响,提升了代码生成效率,等待所有任务执行完成后才会返回代码生成结果。代码生成任务的执行主要是产生预执行的模板,这些模板只包含freemarker底层方法进行模板输出需要的最少参数。
5.根据权利要求1所述的一种基于声明式的代码生成编译执行方法,其特征在于:所述步骤D中,将代码生成任务和输出预置行模板任务均提交为异步任务,依托线程池技术运行这些异步任务,同类型的异步任务会并发执行,直到所有同类型的任务执行完成后返回代码生成结果。
6.根据权利要求4所述的一种基于声明式的代码生成编译执行方法,其特征在于:可装饰抽象freemarker类的执行过程如下:
1).执行主模板逻辑;
2).可装饰的模板通过两种方式指定以其为主模板的装饰模板,一个装饰的主模板包含多个装饰模板,装饰模板在不与主模板逻辑耦合的情况下,执行其他的附加逻辑;
3).在主模板运行的过程中添加附加逻辑,装饰模板会有一个可供实现的条件匹配接口,接口返回为布尔类型,接口以代码生成上下文为参数,开发人员根据当前系统的实际情况返回,只有结果为true时才会执行附加逻辑,这样可以保证附加逻辑要么全部生效,要么都不生效,达到装饰模板与主模板逻辑解耦的目的,附加逻辑主要包括添加代码片段,添加额外参数,添加额外文件输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京致远互联软件股份有限公司,未经北京致远互联软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210061795.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:提高的植物中的蛋白质表达
- 下一篇:单通道单脉冲跟踪方法及系统





