    001    package ttsolver;
    002
    003    import ifs.solution.Solution;
    004    import java.io.*;
    005
    006    /**
    007     * Abstract timetable saver class.
    008     *
    009     * @author <a href="mailto:muller@ktiml.mff.cuni.cz">Tomáš Müller</a>
    010     * @version 1.0
    011     */
    012
    013    public abstract class TimetableSaver {
    014        private Solution iSolution = null;
    015        /** Constructor
    016         * @param solution solution to be saved
    017         */
    018        public TimetableSaver(Solution solution) {
    019            iSolution = solution;
    020        }
    021        /** Solution to be saved */
    022        protected Solution getSolution() { return iSolution; }
    023        /** Model of the solution */
    024        protected TimetableModel getModel() { return (TimetableModel)iSolution.getModel(); }
    025        /** Save the solution
    026         * @param out some error/warning/info messages could be printed here
    027         */
    028        public abstract void save(PrintWriter out) throws Exception;
    029    }