]> source.dussan.org Git - vaadin-framework.git/commitdiff
Add some performance guidance to renderer javadocs.
authorLeif Åstrand <leif@vaadin.com>
Fri, 13 Nov 2015 08:58:35 +0000 (10:58 +0200)
committerTeemu Suo-Anttila <teemusa@vaadin.com>
Fri, 27 Nov 2015 09:42:13 +0000 (11:42 +0200)
Change-Id: Ia9f83688f70d08d51370bb342f00238a98f40293

client/src/com/vaadin/client/renderers/Renderer.java
client/src/com/vaadin/client/renderers/WidgetRenderer.java

index a3faa1e9df6830c31014f70d51b0b51b59b1f485..b2e9acd58256d2f2d39e74ebe7e88d069c5fa42b 100644 (file)
@@ -35,7 +35,13 @@ import com.vaadin.client.widgets.Grid;
 public interface Renderer<T> {
 
     /**
-     * Called whenever the {@link Grid} updates a cell
+     * Called whenever the {@link Grid} updates a cell.
+     * <p>
+     * For optimal performance, work done in this method should be kept to a
+     * minimum since it will be called continuously while the user is scrolling.
+     * It is recommended to set up the cell's DOM structure in
+     * {@link ComplexRenderer#init(RendererCellReference)} and only make
+     * incremental updates based on cell data in this method.
      * 
      * @param cell
      *            The cell. Note that the cell is a flyweight and should not be
index 1a33894e8e9cf6a83df0bc6e7c0d1e8cc397cb4f..d7219e7241b12a19b6cfe69058b949b2fa76b0fc 100644 (file)
@@ -60,6 +60,11 @@ public abstract class WidgetRenderer<T, W extends Widget> extends
      * information in the widget that is cell specific. Do not detach the Widget
      * here, it will be done automatically by the Grid when the widget is no
      * longer needed.
+     * <p>
+     * For optimal performance, work done in this method should be kept to a
+     * minimum since it will be called continuously while the user is scrolling.
+     * The renderer can use {@link Widget#setLayoutData(Object)} to store cell
+     * data that might be needed in e.g. event listeners.
      * 
      * @param cell
      *            The cell to render. Note that the cell is a flyweight and