]> source.dussan.org Git - vaadin-framework.git/commitdiff
Document @PreserveOnRefresh 57/357/1
authorLeif Åstrand <leif@vaadin.com>
Fri, 23 Nov 2012 10:08:29 +0000 (12:08 +0200)
committerLeif Åstrand <leif@vaadin.com>
Fri, 23 Nov 2012 10:08:29 +0000 (12:08 +0200)
Change-Id: I620838632525851246fd2273d71312744bf27662

server/src/com/vaadin/annotations/PreserveOnRefresh.java

index 59c4abb723542f67cfa18a8cde54b9098b373aa4..eca7287c9c43adcc80eea4971b1aa80ef2b40d68 100644 (file)
@@ -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
 }