#95 Updated and clarified Command pattern example

This commit is contained in:
Ilkka Seppala
2015-06-30 17:52:53 +03:00
parent fb446c2991
commit db6ec3cc1a
9 changed files with 224 additions and 237 deletions

View File

@@ -1,33 +1,38 @@
package com.iluwatar.command;
public class ShrinkSpell extends Command {
private Size oldSize;
private Target target;
@Override
public void execute(Target target) {
oldSize = target.getSize();
target.setSize(Size.SMALL);
this.target = target;
}
@Override
public void undo() {
if (oldSize != null && target != null) {
Size temp = target.getSize();
target.setSize(oldSize);
oldSize = temp;
}
}
@Override
public void redo() {
undo();
}
@Override
public String toString() {
return "Shrink spell";
}
}
package com.iluwatar.command;
/**
*
* ShrinkSpell is a concrete command
*
*/
public class ShrinkSpell extends Command {
private Size oldSize;
private Target target;
@Override
public void execute(Target target) {
oldSize = target.getSize();
target.setSize(Size.SMALL);
this.target = target;
}
@Override
public void undo() {
if (oldSize != null && target != null) {
Size temp = target.getSize();
target.setSize(oldSize);
oldSize = temp;
}
}
@Override
public void redo() {
undo();
}
@Override
public String toString() {
return "Shrink spell";
}
}