summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-11-23 12:08:29 +0200
committerLeif Åstrand <leif@vaadin.com>2012-11-23 12:08:29 +0200
commitaf2cd858e31691e09d2bec00ec03643bdfb991d1 (patch)
treef823296520b212e0949bc945184c62a5c5956486 /server
parente78cfa7e6ca953e0ecd030cfffb760425a1293bc (diff)
downloadvaadin-framework-af2cd858e31691e09d2bec00ec03643bdfb991d1.tar.gz
vaadin-framework-af2cd858e31691e09d2bec00ec03643bdfb991d1.zip
Document @PreserveOnRefresh
Change-Id: I620838632525851246fd2273d71312744bf27662
Diffstat (limited to 'server')
-rw-r--r--server/src/com/vaadin/annotations/PreserveOnRefresh.java19
1 files changed, 18 insertions, 1 deletions
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.
+ * <p>
+ * 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
}