projet-donnees-reparties/linda/whiteboard/Command.java
2021-11-27 17:50:33 +01:00

47 lines
1.1 KiB
Java

package linda.whiteboard;
import java.util.*;
public class Command implements java.io.Serializable {
enum Action { DRAW, ERASEALL, ROTATE, LOCK, UNLOCK };
public Action action;
public ColoredShape shape; // only if action = DRAW
public int angle; // in degrees; only if action = ROTATE
private Command() {}
public static Command newCommandLock() {
Command c = new Command();
c.action = Action.LOCK;
return c;
}
public static Command newCommandUnlock() {
Command c = new Command();
c.action = Action.UNLOCK;
return c;
}
public static Command newCommandEraseAll() {
Command c = new Command();
c.action = Action.ERASEALL;
return c;
}
public static Command newCommandDraw(ColoredShape rc) {
Command c = new Command();
c.action = Action.DRAW;
c.shape = rc;
return c;
}
public static Command newCommandRotateAll(int angle) {
Command c = new Command();
c.action = Action.ROTATE;
c.angle = angle;
return c;
}
}