org.speakright.tools.srogen
Class SROGenerator

java.lang.Object
  extended by 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

Constructor Summary
SROGenerator()
           
 
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
 

Constructor Detail

SROGenerator

public SROGenerator()
Method Detail

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