package builtin.web; import builtin.BuiltinSub; import java.awt.Desktop; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import gui.Constants; import gui.MintException; import gui.Pointer; import gui.PointerTools; import gui.SmartList; /** * * @author Oliver Chu */ public class OpenWebBrowser extends BuiltinSub { @Override public Pointer apply(SmartList<Pointer> args) throws MintException { URI uri = null; String u = ""; try { u = PointerTools.dereferenceString(args.get(0)); uri = new URI(u); } catch (URISyntaxException ex) { throw new MintException("Bad URI syntax: " + u); } try { Desktop.getDesktop().browse(uri); } catch (IOException ex) { throw new MintException("IO Exception while opening URI: " + u); } return Constants.MINT_NULL; } }