Graphic Rendering System
1.0
A Java-based graphic rendering system implementing various design patterns
Loading...
Searching...
No Matches
CommandManager.java
Go to the documentation of this file.
1
package
com.example.graphics.command;
2
3
import
java.util.Stack;
4
9
public
class
CommandManager
{
10
private
final
Stack<Command>
undoStack
;
11
private
final
Stack<Command>
redoStack
;
12
16
public
CommandManager
() {
17
undoStack
=
new
Stack<>();
18
redoStack
=
new
Stack<>();
19
}
20
25
public
void
executeCommand
(
Command
command
) {
26
command
.execute();
27
undoStack
.push(
command
);
28
redoStack
.clear();
// Clear redo stack when a new command is executed
29
}
30
35
public
boolean
undo
() {
36
if
(
undoStack
.isEmpty()) {
37
return
false
;
38
}
39
40
Command
command
=
undoStack
.pop();
41
command
.undo();
42
redoStack
.push(
command
);
43
return
true
;
44
}
45
50
public
boolean
redo
() {
51
if
(
redoStack
.isEmpty()) {
52
return
false
;
53
}
54
55
Command
command
=
redoStack
.pop();
56
command
.execute();
57
undoStack
.push(
command
);
58
return
true
;
59
}
60
65
public
boolean
canUndo
() {
66
return
!
undoStack
.isEmpty();
67
}
68
73
public
boolean
canRedo
() {
74
return
!
redoStack
.isEmpty();
75
}
76
80
public
void
clearHistory
() {
81
undoStack
.clear();
82
redoStack
.clear();
83
}
84
}
com.example.graphics.command.CommandManager.canUndo
boolean canUndo()
Definition
CommandManager.java:65
com.example.graphics.command.CommandManager.canRedo
boolean canRedo()
Definition
CommandManager.java:73
com.example.graphics.command.CommandManager.executeCommand
void executeCommand(Command command)
Definition
CommandManager.java:25
com.example.graphics.command.CommandManager.redoStack
final Stack< Command > redoStack
Definition
CommandManager.java:11
com.example.graphics.command.CommandManager.clearHistory
void clearHistory()
Definition
CommandManager.java:80
com.example.graphics.command.CommandManager.undoStack
final Stack< Command > undoStack
Definition
CommandManager.java:10
com.example.graphics.command.CommandManager.redo
boolean redo()
Definition
CommandManager.java:50
com.example.graphics.command.CommandManager.undo
boolean undo()
Definition
CommandManager.java:35
com.example.graphics.command.CommandManager.CommandManager
CommandManager()
Definition
CommandManager.java:16
com.example.graphics.command.Command
Definition
Command.java:7
com.example.graphics.command
Definition
AddShapeCommand.java:1
src
main
java
com
example
graphics
command
CommandManager.java
Generated on
for Graphic Rendering System by
1.14.0