added command sample
This commit is contained in:
32
command/src/main/java/com/iluwatar/ShrinkSpell.java
Normal file
32
command/src/main/java/com/iluwatar/ShrinkSpell.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package com.iluwatar;
|
||||
|
||||
public class ShrinkSpell extends Command {
|
||||
|
||||
private Size oldSize;
|
||||
|
||||
private Target target;
|
||||
|
||||
public ShrinkSpell() {
|
||||
oldSize = null;
|
||||
target = null;
|
||||
}
|
||||
|
||||
@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) {
|
||||
target.setSize(oldSize);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Shrink spell";
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user