Cisco Cisco Customer Voice Portal 8.0(1) Developer's Guide

Page of 122
The method must still return a 
SayItSmartContent
 object since the plugin may still decide
to play back the TTS content with pauses at certain points. In this case, the filename value
would be set to 
null
.
Note: 
convertToTTS()
 is not abstract, 
SayItSmartBase
 actually provides a default
implementation of this method. The default implementation simply calls the
c
onverToFiles()
 method, combines the TTS transcripts it receives and returns a new
SayItSmartContent
 object with just those transcripts and any pauses. The plugin need
only provide its own implementation of this method if the desired behavior is different.
The developer can throw a 
SayItSmartException
 in this method indicating the data passed
to the plugin could not be converted using the specified configuration. This would most likely
end the call prematurely so the exception should be thrown only when the Say It Smart plugin
cannot do what it is supposed to do and is unable to recover.
Configuration Methods
The following bullets describe the configuration methods:
SayItSmartDisplay getDisplayInformation()
This method is used to specify display information for Builder for Call Studio to render this
plugin’s configuration. The 
SayItSmartDisplay
 object lists the plugin type, input formats,
output format, and filesets. Each type, input format, output format, and fileset must have a
real name, display name, and description. The relationship between the input formats, output
formats, and filesets are defined by the methods listed below.
This method throws a 
SayItSmartException
 if the 
SayItSmartDisplay
 object is not
configured correctly.
getDisplayInformation()
 is abstract, meaning every Say It Smart plugin must implement
this method.
SayItSmartDependency getFormatDependencies()
As described in the design section, a plugin’s output formats are dependent on the input
formats. This method defines those relationships. The 
SayItSmartDependency
 object is
used to specify which output formats listed in the 
getDisplayInformation()
 method
apply to which input formats.
The 
SayItSmartDependency
 class is defined generically with the concepts of parents and
children. For this method, the parents are input formats and the children are output formats.
The developer simply uses the 
addParent()
 methods to add a new input format and the
output formats that depend on it. The 
addChild()
 and 
addChildren()
 methods are used
to add additional output formats that are dependent on the specified parent. This is done until
all input formats are listed and all the output formats that depend on it are listed. Remember
that the names to use here are the real names, the display names are used only by the Builder.
All the input formats and output formats defined in the 
getDisplayInformation()
 method
must be mapped here.
Programming Guide for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 8.0(1)
78
Chapter 12: Say It Smart Plugins
Configuration Methods