]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/ui/UiStep.java
Start introducing detached ui
[gpl/argeo-slc.git] / org.argeo.slc.detached / src / main / java / org / argeo / slc / detached / ui / UiStep.java
diff --git a/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/ui/UiStep.java b/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/ui/UiStep.java
new file mode 100644 (file)
index 0000000..9c9d914
--- /dev/null
@@ -0,0 +1,28 @@
+package org.argeo.slc.detached.ui;
+
+import org.argeo.slc.detached.DetachedAnswer;
+import org.argeo.slc.detached.DetachedContext;
+import org.argeo.slc.detached.DetachedRequest;
+import org.argeo.slc.detached.DetachedStep;
+
+public abstract class UiStep implements DetachedStep {
+       private UiPart uiPart;
+
+       public final DetachedAnswer execute(DetachedContext detachedContext,
+                       DetachedRequest detachedStepRequest) {
+               uiPart.init(detachedContext, detachedStepRequest);
+               return executeUiStep(detachedContext, detachedStepRequest);
+       }
+
+       protected abstract DetachedAnswer executeUiStep(DetachedContext context,
+                       DetachedRequest request);
+
+       public UiPart getUiPart() {
+               return uiPart;
+       }
+
+       public void setUiPart(UiPart uiPart) {
+               this.uiPart = uiPart;
+       }
+
+}