Files
java-design-patterns/command/src/main/java/com/iluwatar/InvisibilitySpell.java
2015-04-15 14:30:21 +08:00

32 lines
549 B
Java

package com.iluwatar;
public class InvisibilitySpell extends Command {
private Target target;
@Override
public void execute(Target target) {
target.setVisibility(Visibility.INVISIBLE);
this.target = target;
}
@Override
public void undo() {
if (target != null) {
target.setVisibility(Visibility.VISIBLE);
}
}
@Override
public void redo() {
if (target != null) {
target.setVisibility(Visibility.INVISIBLE);
}
}
@Override
public String toString() {
return "Invisibility spell";
}
}