summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java
new file mode 100644
index 00000000..f9d10d08
--- /dev/null
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java
@@ -0,0 +1,32 @@
+package at.asit.pdfover.gui.workflow;
+
+/**
+ * Base state class
+ * @author afitzek
+ */
+public abstract class WorkflowState {
+
+ private WorkflowState _next = null;
+
+ /**
+ * Gets the next logical state or null if this their is no state transition
+ * @return the next state (or null)
+ */
+ public WorkflowState nextState() {
+ return this._next;
+ }
+
+ /**
+ * Sets the next logical state
+ * @param state
+ */
+ protected void setNextState(WorkflowState state) {
+ this._next = state;
+ }
+
+ /**
+ * Perform main logic for this state
+ * @param workflow
+ */
+ public abstract void update(Workflow workflow);
+}