Files
design-patterns/03-behavioral/command/DeleteCommand.java

24 lines
720 B
Java

package command;
public class DeleteCommand implements Command {
private final TextEditor editor;
private final int start;
private final int length;
private String deletedText; // saved for undo
public DeleteCommand(TextEditor editor, int start, int length) {
this.editor = editor;
this.start = start;
this.length = length;
}
@Override
public void execute() {
deletedText = editor.getText().substring(start, start + length);
editor.deleteText(start, length);
}
@Override public void undo() { editor.insertText(deletedText, start); }
@Override public String getDescription() { return "Delete " + length + " chars at " + start; }
}