package com.xenoage.zong.desktop.utils; import static com.xenoage.utils.error.Err.handle; import static com.xenoage.utils.jse.async.Sync.sync; import static com.xenoage.utils.log.Report.fatal; import com.xenoage.utils.PlatformUtils; import com.xenoage.utils.jse.JsePlatformUtils; import com.xenoage.zong.Voc; import com.xenoage.zong.io.symbols.SymbolPoolReader; import com.xenoage.zong.symbols.SymbolPool; import com.xenoage.zong.util.ZongPlatformUtils; /** * Java SE implementation of {@link ZongPlatformUtils}. * * @author Andreas Wenger */ public class JseZongPlatformUtils extends ZongPlatformUtils { public static final JseZongPlatformUtils instance = new JseZongPlatformUtils(); private SymbolPool symbolPool; /** * Initializes the {@link JseZongPlatformUtils} as the {@link ZongPlatformUtils} instance * and {@link JsePlatformUtils} as the {@link PlatformUtils} instance with the given program name. */ public static void init(String programName) { JsePlatformUtils.init(programName); ZongPlatformUtils.init(instance); //load default symbol pool try { instance.symbolPool = sync(new SymbolPoolReader("default")); } catch (Exception ex) { handle(fatal(Voc.CouldNotLoadSymbolPool, ex)); } } @Override public SymbolPool getSymbolPool() { return symbolPool; } }