package org.insightech.er.editor.controller.command.tracking;
import org.insightech.er.editor.controller.command.AbstractCommand;
import org.insightech.er.editor.model.ERDiagram;
import org.insightech.er.editor.model.tracking.ChangeTracking;
/**
* 変更履歴削除コマンド
*/
public class DeleteChangeTrackingCommand extends AbstractCommand {
private ERDiagram diagram;
// 変更履歴
private ChangeTracking changeTracking;
private int index;
/**
* 変更履歴削除コマンドを作成します。
*
* @param diagram
* @param index
*/
public DeleteChangeTrackingCommand(ERDiagram diagram, int index) {
this.diagram = diagram;
this.index = index;
this.changeTracking = this.diagram.getChangeTrackingList().get(index);
}
/**
* 変更履歴削除処理を実行する
*/
@Override
protected void doExecute() {
this.diagram.getChangeTrackingList().removeChangeTracking(index);
}
/**
* 変更履歴削除処理を元に戻す
*/
@Override
protected void doUndo() {
this.diagram.getChangeTrackingList().addChangeTracking(index,
changeTracking);
}
}