org.hops.lg
Class LanguageGenerator

java.lang.Object
  extended by org.hops.lg.LanguageGenerator

public class LanguageGenerator
extends java.lang.Object

LanguageGenerator.java

Version:
3.0 The LanguageGenerator. Returns the prompts for all the attributes Has a UserModel assigned from the DM used for selecting the messages. Has a dateformat language dependent. This format is setter externally. Has a Hash of : - messages indexed by keys and order generated from a property file 0-> Open 2-> Directive - lexicon indexed by key generated from a property file
Author:
Meritxell Gonzalez

Constructor Summary
LanguageGenerator(java.lang.String nlgmessages, java.lang.String nlglexic)
          creates a new instance of LanguageGenerator
 
Method Summary
 java.lang.String GenerateValuePhrase(java.util.ArrayList values)
          Generates an enumerations of values uses the AND lexic to join the values.
 java.lang.String[] getFreePhrases(java.lang.String key, java.util.ArrayList values, java.lang.String linki)
          returns the phrases stored for the key
 java.lang.String[] getMenuPhrases(java.lang.String attribute, java.util.ArrayList attr_values, java.util.ArrayList values_phrase)
          Generates two menu-sentences.
 java.lang.String getPhrase(java.lang.String key, int ord)
          returns the phrase stored for the key
 void setDateFormat(java.lang.String _dateformat)
          set the date format
 void setUserModel(UserModel _um)
          set the User Model
protected  java.util.ArrayList TranslateDate(java.util.ArrayList values)
          Translates the date to the default date format (depends on the language value).
protected  java.lang.String translateDate(java.lang.String valuein)
          Translates the date to the default date format (depends on the language value).
protected  java.lang.String translateValue(java.lang.String valuein)
          Translate values using the lexicon.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LanguageGenerator

public LanguageGenerator(java.lang.String nlgmessages,
                         java.lang.String nlglexic)
creates a new instance of LanguageGenerator

Parameters:
nlgmessages - the file containing the messages
nlglexic - the file containing lexicon
Method Detail

setUserModel

public void setUserModel(UserModel _um)
set the User Model

Parameters:
_um - the user model

setDateFormat

public void setDateFormat(java.lang.String _dateformat)
set the date format

Parameters:
_dateformat - the String of format, for example MMMM dd'th' yyyy

getFreePhrases

public java.lang.String[] getFreePhrases(java.lang.String key,
                                         java.util.ArrayList values,
                                         java.lang.String linki)
returns the phrases stored for the key

Parameters:
key - the action key to search
values - the list of values for the current action
Returns:
[0] open phrase + [1] directed phrase

getPhrase

public java.lang.String getPhrase(java.lang.String key,
                                  int ord)
returns the phrase stored for the key

Parameters:
key - the action key to search
ord - the num of phrase we want
Returns:
the stored phrase

getMenuPhrases

public java.lang.String[] getMenuPhrases(java.lang.String attribute,
                                         java.util.ArrayList attr_values,
                                         java.util.ArrayList values_phrase)
Generates two menu-sentences. The first uses key-word phrases, and the second uses number-phrases.

Parameters:
attribute - the name of the attribute
attr_values - possible values of the attribute
values_phrase - the phrases for each value xx.0=Si tiene en mente @value@ diga @get_word()@ xx.1=Si quiere @value@ marque @get_number()@
Returns:
'2' phrases with the values replaced

GenerateValuePhrase

public java.lang.String GenerateValuePhrase(java.util.ArrayList values)
Generates an enumerations of values uses the AND lexic to join the values.

Parameters:
values - the array of values
Returns:
the sentence with the enumeration coma-separated

TranslateDate

protected java.util.ArrayList TranslateDate(java.util.ArrayList values)
Translates the date to the default date format (depends on the language value). The input format is VOICESIMPLEDATEFORMAT (yyyymmdd)

Parameters:
values - input in VOICESIMPLEDATEFORMAT
Returns:
the array of translated dates

translateDate

protected java.lang.String translateDate(java.lang.String valuein)
Translates the date to the default date format (depends on the language value). The input format is VOICESIMPLEDATEFORMAT (yyyymmdd)

Parameters:
valuein - the date in VOICESIMPLEDATEFORMAT
Returns:
the date in the language format

translateValue

protected java.lang.String translateValue(java.lang.String valuein)
Translate values using the lexicon. If the value doesn't exists, returns the same as inputs.

Parameters:
valuein -
Returns:
the valuein translated or the valuein