package actionScript; import java.beans.XMLEncoder; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import expressionConsole.ExpressionConsoleHistory; import expressionConsole.ExpressionConsoleModel; import fileUtilities.SaveUtility; /** * A utilities class for saving scripts. * * @author Curran Kelleher * */ public class ActionScriptSaveUtilities { /** * Shows the user a file chooser. If the user clicks "Save", then * saveScript() is called with the chosen file as the argument. */ public static void promptUserToSaveScript() { File f = SaveUtility.promptUserToSave(ActionScriptFlags.FILE_EXTENTION); if (f != null) saveScript(f); } /** * Saves the current model of the history in the specified File. * * @param outputFile */ public static void saveScript(File outputFile) { ExpressionConsoleHistory expressionHistory = ExpressionConsoleModel .getInstance().getExpressionHistory(); try { XMLEncoder e = new XMLEncoder(new BufferedOutputStream( new FileOutputStream(outputFile))); e.writeObject(expressionHistory); e.close(); } catch (Exception e) { e.printStackTrace(); } } }