@@ -0,0 +1,1347 @@
+/**%0A * %0A */%0Apackage mathsquared.resultswizard2;%0A%0Aimport javax.swing.table.TableModel;%0A%0A/**%0A * Represents data that can be edited in one or more stages and then transformed into another object.%0A * %0A * @author MathSquared%0A * @param %3CT%3E the type of data that can be obtained from this model using %7B@link #getResult()%7D%0A *%0A */%0Apublic interface EditorTableModel%3CT%3E extends TableModel %7B%0A%09/**%0A%09 * Returns the number of stages used by this editor.%0A%09 * %0A%09 * @return a number indicating the number of stages; this number must always be greater than or equal to 1%0A%09 */%0A%09public int numStages ();%0A%09%0A%09/**%0A%09 * Returns the current stage.%0A%09 * %0A%09 * @return a zero-based index for the current stage; this is guaranteed to be %3Ccode%3E&gt;= 0%3C/code%3E and %3Ccode%3E&lt; %7B@link #numStages()%7D%3C/code%3E%0A%09 */%0A%09public int currentStage ();%0A%09%0A%09/**%0A%09 * Moves to the next stage.%0A%09 * %0A%09 * @throws IllegalStateException if we are at the last stage%0A%09 */%0A%09public void nextStage ();%0A%09%0A%09/**%0A%09 * Moves to the previous stage.%0A%09 * %0A%09 * @throws IllegalStateException if we are at the first stage%0A%09 */%0A%09public void previousStage ();%0A%09%0A%09/**%0A%09 * Obtains the current result of this model. This only works if we are at the last stage.%0A%09 * %0A%09 * @return an object representing the data stored in this model%0A%09 * @throws IllegalStateException if we are not at the last stage%0A%09 */%0A%09public T getResult ();%0A%7D%0A

Add EditorTableModel