mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-14 16:58:47 +00:00
32 lines
549 B
Java
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";
|
|
}
|
|
}
|