org.speakright.core.render
Class Grammar

java.lang.Object
  extended by org.speakright.core.render.FormElement
      extended by org.speakright.core.render.Grammar
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
InlineGrammar

public class Grammar
extends FormElement
implements java.io.Serializable

Represent a VoiceXML grammar. SpeakRight supports three types of grammars: external grammars (referenced by URL), built-in grammars, and inline grammars (which use a simplified GSL format).

Author:
IanRaeLaptop
See Also:
Serialized Form

Nested Class Summary
static class Grammar.GrammarCondition
          A prompt condition controls whether a prompt plays or not.
 
Field Summary
 GrammarItem m_item
           
 
Constructor Summary
Grammar()
           
Grammar(java.lang.String gtext)
          Create.
Grammar(java.lang.String gtext, GrammarType type)
           
Grammar(java.lang.String gtext, java.lang.String slotName)
           
Grammar(java.lang.String gtext, java.lang.String slotName, java.lang.String modelVar)
           
 
Method Summary
 void addBinding(java.lang.String slotName, java.lang.String modelVar)
           
 boolean applyCondition(RenderContext rcontext)
           
 java.util.ArrayList<ModelBindingSpec> bindingList()
          Used internally by the grammar pipeline
 java.lang.String gtext()
           
 boolean isDTMFGrammar()
           
 void renderGrammars(GrammarPipeline pipeline)
          Render any grammars in this element using the pipeline.
 void setConditionCustom(boolean b)
           
 void setConditionDTMFOnlyMode()
           
 void setConditionNone()
           
 void setSlotName(java.lang.String slotName)
          Set the slotName.
 java.lang.String slotName()
           
 GrammarType type()
           
 
Methods inherited from class org.speakright.core.render.FormElement
renderPrompts
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_item

public transient GrammarItem m_item
Constructor Detail

Grammar

public Grammar()

Grammar

public Grammar(java.lang.String gtext)
Create.

Parameters:
gtext - if no prefix then assume it's a url. otherwise it can be "inline:" followed by inline grammar words, or "builtin:" followed by built-in grammar specification.

Grammar

public Grammar(java.lang.String gtext,
               GrammarType type)

Grammar

public Grammar(java.lang.String gtext,
               java.lang.String slotName)

Grammar

public Grammar(java.lang.String gtext,
               java.lang.String slotName,
               java.lang.String modelVar)
Method Detail

addBinding

public void addBinding(java.lang.String slotName,
                       java.lang.String modelVar)

bindingList

public java.util.ArrayList<ModelBindingSpec> bindingList()
Used internally by the grammar pipeline

Returns:

gtext

public java.lang.String gtext()

type

public GrammarType type()

isDTMFGrammar

public boolean isDTMFGrammar()

slotName

public java.lang.String slotName()

setSlotName

public void setSlotName(java.lang.String slotName)
Set the slotName. Be careful if there is also a model binding for this grammar not to add a binding with one slot name and then use setSlotName to change it!

Parameters:
slotName -

renderGrammars

public void renderGrammars(GrammarPipeline pipeline)
Description copied from class: FormElement
Render any grammars in this element using the pipeline.

Overrides:
renderGrammars in class FormElement

setConditionNone

public void setConditionNone()

setConditionDTMFOnlyMode

public void setConditionDTMFOnlyMode()

setConditionCustom

public void setConditionCustom(boolean b)

applyCondition

public boolean applyCondition(RenderContext rcontext)