From: Leif Åstrand Date: Fri, 23 Nov 2012 10:08:29 +0000 (+0200) Subject: Document @PreserveOnRefresh X-Git-Tag: 7.0.0.beta10~30^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fchanges%2F57%2F357%2F1;p=vaadin-framework.git Document @PreserveOnRefresh Change-Id: I620838632525851246fd2273d71312744bf27662 --- diff --git a/server/src/com/vaadin/annotations/PreserveOnRefresh.java b/server/src/com/vaadin/annotations/PreserveOnRefresh.java index 59c4abb723..eca7287c9c 100644 --- a/server/src/com/vaadin/annotations/PreserveOnRefresh.java +++ b/server/src/com/vaadin/annotations/PreserveOnRefresh.java @@ -21,8 +21,25 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import com.vaadin.server.UIProvider; + +/** + * Marks a UI that should be retained when the user refreshed the browser + * window. By default, a new UI instance is created when refreshing, causing any + * UI state not captured in the URL or the URI fragment to get discarded. By + * adding this annotation to a UI class, the framework will instead reuse the + * current UI instance when a reload is detected. + *

+ * By using + * {@link UIProvider#isPreservedOnRefresh(com.vaadin.server.UICreateEvent)}, the + * decision can also be made dynamically based on other parameters than only + * whether this annotation is present on the UI class. + * + * @author Vaadin Ltd + * @since 7.0.0 + */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface PreserveOnRefresh { - + // Empty marker annotation }