42 lines
1.2 KiB
Java
42 lines
1.2 KiB
Java
package org.thdl.tib.dictionary ;
|
|
|
|
import org.thdl.tib.scanner.TibetanScanner ;
|
|
import org.thdl.tib.scanner.LocalTibetanScanner ;
|
|
import org.thdl.tib.scanner.RemoteTibetanScanner ;
|
|
import org.thdl.tib.scanner.Word ;
|
|
import org.thdl.tib.dictionary.DictionaryEntries ;
|
|
import org.thdl.tib.dictionary.TextBody ;
|
|
import org.thdl.tib.dictionary.SimpleDictionaryEntry ;
|
|
import org.thdl.tib.dictionary.SimpleDictionaryEntries ;
|
|
|
|
public class ScannerBasedDictionary implements DictionaryInterface
|
|
{
|
|
TibetanScanner scanner ;
|
|
|
|
public ScannerBasedDictionary ( TibetanScanner ts )
|
|
{
|
|
scanner = ts ;
|
|
}
|
|
|
|
public DictionaryEntries lookup ( TextBody tb )
|
|
{
|
|
DictionaryEntries entries = new SimpleDictionaryEntries () ;
|
|
//
|
|
// TibetanScanner expects romanized wylie for lookup
|
|
//
|
|
String input = tb.getRomanizedWylie () ;
|
|
|
|
scanner.scanBody ( input ) ;
|
|
scanner.finishUp () ;
|
|
Word [] words = scanner.getWordArray () ;
|
|
for ( int i = 0; i < words.length; i++ )
|
|
{
|
|
SimpleDictionaryEntry entry = SimpleDictionaryEntry.fromWord ( words [i] ) ;
|
|
entries.add ( entry ) ;
|
|
}
|
|
|
|
scanner.clearTokens () ;
|
|
|
|
return entries ;
|
|
}
|
|
}
|