Мне нужно сгенерировать скрипт (сценарий OBD Asterisk), тип сценария оболочки, с подпрограммами и подпрограммами, из набора входов для скрипта. Мне нужно сделать это на Java. Какой шаблон проектирования использовать для генерации кода? Я пробовал шаблон шаблона и шаблон команды, но был на полпути запутанным и остановлен. любая идея, дизайн, doc и другие были бы оценены.Генерация кода - шаблон проектирования
Ниже приведен пример кода. примечание 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
полностью зависит от спецификации процесса генерации кода , Если вам просто нужно выплюнуть всегда одни и те же единицы кода, вы пойдете на другую технику, а не на создание кода, который является парсером для данной грамматики, например. Поэтому, не зная, что такое вход, и что должен сгенерировать сценарий, никто не может дать хороший ответ. Возможно, неплохо было бы опубликовать код, который вы пробовали до сих пор, каким бы пустым это ни оставляло вас. – TheBlastOne
Я отредактировал вопрос, предоставив образец кода сценария вывода, который будет сгенерирован. –