Files
java-design-patterns/command/src/main/java/com/iluwatar/ShrinkSpell.java

34 lines
565 B
Java
Raw Normal View History

2014-08-17 14:42:10 +03:00
package com.iluwatar;
public class ShrinkSpell extends Command {
private Size oldSize;
private Target target;
2014-08-17 14:42:10 +03:00
@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) {
2015-04-15 11:47:25 +08:00
Size temp = target.getSize();
2014-08-17 14:42:10 +03:00
target.setSize(oldSize);
2015-04-15 11:47:25 +08:00
oldSize = temp;
2014-08-17 14:42:10 +03:00
}
}
2015-04-15 11:47:25 +08:00
@Override
public void redo() {
undo();
}
2014-08-17 14:42:10 +03:00
@Override
public String toString() {
return "Shrink spell";
}
}