Add all 23 GoF design pattern implementations (2026-06-13)
This commit is contained in:
23
03-behavioral/command/DeleteCommand.java
Normal file
23
03-behavioral/command/DeleteCommand.java
Normal file
@@ -0,0 +1,23 @@
|
||||
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; }
|
||||
}
|
||||
Reference in New Issue
Block a user