X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.detached%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fdetached%2Fui%2FUiPart.java;h=7f3f2a91f608f688f0ac73c9a63c8f76f31d9ae3;hb=7a8f034133c1112e187e2a2bfd2c56a8d2452345;hp=84548d53ec7a378c6f14b662b6c84852e281adf7;hpb=93f3596116744a2c0588f93438c1c9f76b64fb50;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/ui/UiPart.java b/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/ui/UiPart.java index 84548d53e..7f3f2a91f 100644 --- a/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/ui/UiPart.java +++ b/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/ui/UiPart.java @@ -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; + } + }