package org.thdl.tib.dictionary ; import org.thdl.tib.dictionary.DictionaryEntry ; import org.thdl.tib.dictionary.SimpleDictionaryEntryDefinitions ; import org.thdl.tib.dictionary.Phonetics ; import org.thdl.tib.scanner.Word ; public class SimpleDictionaryEntry implements DictionaryEntry { TextBody keyWord ; DictionaryEntryDefinitions definitions ; static boolean useDashes = true ; public static SimpleDictionaryEntry fromWord ( Word word ) { SimpleDictionaryEntry sde = new SimpleDictionaryEntry () ; sde.definitions = SimpleDictionaryEntryDefinitions.fromDefinitions ( word.getDefs () ) ; sde.keyWord = SimpleTextBody.fromWylie ( word.getWylie () ) ; //sde.spaceInfo = word.getSpaceInfo or something like that return sde ; } boolean hasSpaceBeforeSyllable ( int syllableIndex ) { // // TODO // return false ; } String joinSyllables ( String text ) { String [] syllables = text.split ( " " ) ; String out = "" ; for ( int i = 0; i < syllables.length; i++ ) { if ( i > 0 ) { if ( hasSpaceBeforeSyllable ( i ) ) out += " " ; else if ( useDashes ) out += "-" ; } out += syllables [i] ; } return out ; } public TextBody getKeyword () { return SimpleTextBody.fromWylie ( joinSyllables ( keyWord.getWylie () ) ) ; } public String getPhonetic () { // // if phonetics specified in the dictionary - use it // // otherwise, generate one (currently the only option) return joinSyllables ( Phonetics.wylieToStandardPhonetic ( keyWord.getWylie () ) ) ; } public DictionaryEntryDefinitions getDefinitions () { return definitions ; } }