org.speakright.tools.srogen
Class SROGenerator
java.lang.Object
org.speakright.tools.srogen.SROGenerator
- All Implemented Interfaces:
- org.antlr.stringtemplate.StringTemplateErrorListener
public class SROGenerator
- extends java.lang.Object
- implements org.antlr.stringtemplate.StringTemplateErrorListener
Generates the generated code for SROs in SpeakRight.
To aid code consistency we use code-generation to create a base class for
each SRO. The base class handles its prompts, where each prompt has a field
(m_outOfRangePrompt), a set method (set_outOfRangePrompt), and a prompt id ("id:outOfRange").
A prompt xml file ({sroname}_prompts.xml) file is created with the prompt text for each
id. You must copy these xml files into your project (see copy_sro_files.cmd in SampleServlet).
Once the base class is generated (in a 'gen' sub-package), the real SRO class (such as SRONumber)
is created by hand in the main sro package. The real class handles everything that the generated
code doesn't, such as validation.
We have a GenSRO.java class in the sro package that uses this SROGenerator object. Every time
we update an SRO xml file, we run GenSRO.java as a Java application to generate the new
java and prompt xml files.
- Author:
- IanRaeLaptop
|
Method Summary |
void |
error(java.lang.String msg,
java.lang.Throwable e)
|
java.lang.String |
generateBaseClass(java.lang.String sroName,
java.lang.String packageName,
java.lang.String xmlPath)
|
java.lang.String |
generatePromptsXML(java.lang.String sroName,
java.lang.String xmlPath)
|
void |
warning(java.lang.String msg)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SROGenerator
public SROGenerator()
generateBaseClass
public java.lang.String generateBaseClass(java.lang.String sroName,
java.lang.String packageName,
java.lang.String xmlPath)
generatePromptsXML
public java.lang.String generatePromptsXML(java.lang.String sroName,
java.lang.String xmlPath)
error
public void error(java.lang.String msg,
java.lang.Throwable e)
- Specified by:
error in interface org.antlr.stringtemplate.StringTemplateErrorListener
warning
public void warning(java.lang.String msg)
- Specified by:
warning in interface org.antlr.stringtemplate.StringTemplateErrorListener