]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/ui/UiPart.java
Introduce examples modules
[gpl/argeo-slc.git] / org.argeo.slc.detached / src / main / java / org / argeo / slc / detached / ui / UiPart.java
index 84548d53ec7a378c6f14b662b6c84852e281adf7..7f3f2a91f608f688f0ac73c9a63c8f76f31d9ae3 100644 (file)
@@ -3,6 +3,30 @@ package org.argeo.slc.detached.ui;
 import org.argeo.slc.detached.DetachedContext;
 import org.argeo.slc.detached.DetachedRequest;
 
-public interface UiPart {
-       public void init(DetachedContext context, DetachedRequest request);
+public abstract class UiPart {
+       private boolean initialized = false;
+
+       public synchronized final void init(DetachedContext context,
+                       DetachedRequest request) {
+               initUi(context, request);
+               initialized = true;
+       }
+
+       public synchronized final void reset(DetachedContext context,
+                       DetachedRequest request) {
+               resetUi(context, request);
+               initialized = false;
+       }
+
+       protected abstract void initUi(DetachedContext context,
+                       DetachedRequest request);
+
+       protected void resetUi(DetachedContext context, DetachedRequest request) {
+
+       }
+
+       public synchronized boolean isInitialized() {
+               return initialized;
+       }
+
 }