*/
public class EditCommand implements CommandI
{
- public enum Action
+ public enum Action
{
INSERT_GAP
- {
- @Override
- public Action getUndoAction()
- {
- return DELETE_GAP;
- }
- },
+// {
+// @Override
+// public Action getUndoAction()
+// {
+// return DELETE_GAP;
+// }
+// }
+ ,
DELETE_GAP
- {
- @Override
- public Action getUndoAction()
- {
- return INSERT_GAP;
- }
- },
+// {
+// @Override
+// public Action getUndoAction()
+// {
+// return INSERT_GAP;
+// }
+// }
+ ,
CUT
- {
- @Override
- public Action getUndoAction()
- {
- return PASTE;
- }
- },
+// {
+// @Override
+// public Action getUndoAction()
+// {
+// return PASTE;
+// }
+// }
+ ,
PASTE
- {
- @Override
- public Action getUndoAction()
- {
- return CUT;
- }
- },
+// {
+// @Override
+// public Action getUndoAction()
+// {
+// return CUT;
+// }
+// }
+ ,
REPLACE
- {
- @Override
- public Action getUndoAction()
- {
- return REPLACE;
- }
- },
+// {
+// @Override
+// public Action getUndoAction()
+// {
+// return REPLACE;
+// }
+// }
+ ,
INSERT_NUC
- {
- @Override
- public Action getUndoAction()
- {
- return null;
- }
- };
- public abstract Action getUndoAction();
+// {
+// @Override
+// public Action getUndoAction()
+// {
+// return null;
+// }
+// }
+ ;
+ public Action getUndoAction() {
+ switch (this) {
+ case INSERT_GAP:
+ return DELETE_GAP;
+ case CUT:
+ return PASTE;
+ case DELETE_GAP:
+ return INSERT_GAP;
+ case INSERT_NUC:
+ return null;
+ case PASTE:
+ return CUT;
+ case REPLACE:
+ return REPLACE;
+ }
+ return null;
+ }
};
private List<Edit> edits = new ArrayList<Edit>();