代码生成 - 设计模式

时间:2013-09-25 10:00:47

标签: java design-patterns asterisk

我需要从脚本的一组输入生成一个脚本(星号OBD脚本),一种带有例程和子例程的shell脚本。我需要用Java来做。用于代码生成的设计模式是什么?我尝试了模板模式和命令模式,但中途困惑并停止了。任何想法,设计,文档和其他人将不胜感激。

下面是示例代码。 注1:<>是作为输入提供的参数。 注2:嵌套的dtmf信息,取决于子程序的编码。 如果需要更多解释,请告诉我。

[<context_name>]
exten => answered,1,set(actionid=actionid:${ACTIONID})
same => n, wait(1)
same => n, read(input,<file path>/<file>,1,,,10)
same => n, gotoif($[${input}=1]?1pressed,1)
same => n, gotoif($[${input}=2]?2pressed,1)
same => n, noop("No/Invalid input")
same => n,hangup

exten => 1pressed,1,read(inputsub,<file path>/<play1>,1,,,10)
same => n, gotoif($[${input}=1]?1subpressed,1)
same => n, gotoif($[${input}=2]?2subpressed,1)
same => n, noop("No/Invalid input")
same => n,hangup
same => n(1subpressed),playback(<file path>/<playsub11>)
same => n,hangup
same => n(2subpressed),playback(<file path>/<playsub12>)
same => n,hangup

exten => 2pressed,1,playback(<file path>/<play2>)
same => n,hangup


exten =>h,1, set(CDR(userfield)=$actionid)
same => n, hangup

1 个答案:

答案 0 :(得分:0)

这可能对你需要做的事情有点过分,但在模型驱动的项目中,我使用Eclipse M2T(http://www.eclipse.org/modeling/m2t/)实现了几个基于EMF模型的广泛代码生成器,尽管它被称为openArchitectureWare然后

您的输入需要作为模型提供,并且您需要熟悉M2T中使用的语言以生成像XP和

这样的代码
相关问题