]> source.dussan.org Git - vaadin-framework.git/commitdiff
#6527 Minor protected API improvement in AbstractInMemoryContainer
authorHenri Sara <henri.sara@itmill.com>
Wed, 27 Apr 2011 09:15:06 +0000 (09:15 +0000)
committerHenri Sara <henri.sara@itmill.com>
Wed, 27 Apr 2011 09:15:06 +0000 (09:15 +0000)
svn changeset:18487/svn branch:6.6

src/com/vaadin/data/util/AbstractBeanContainer.java
src/com/vaadin/data/util/AbstractInMemoryContainer.java
src/com/vaadin/data/util/IndexedContainer.java

index fb9cd23d715a4a63aba1a85261d6b10d78c300df..b1d0b0672bb32dee2577a097a49f02c5432dfb4c 100644 (file)
@@ -493,7 +493,7 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
             return null;
         }
         return internalAddItemAfter(previousItemId, newItemId,
-                createBeanItem(bean));
+                createBeanItem(bean), true);
     }
 
     /**
@@ -515,7 +515,7 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
         if (!validateBean(bean)) {
             return null;
         }
-        return internalAddItemAt(index, newItemId, createBeanItem(bean));
+        return internalAddItemAt(index, newItemId, createBeanItem(bean), true);
     }
 
     /**
index f8ad4b530adcb222718494dcc256b812f3cede69..3a9a0a89877b4817c319656fa3d04728ff37c1ca 100644 (file)
@@ -631,8 +631,8 @@ public abstract class AbstractInMemoryContainer<ITEMIDTYPE, PROPERTYIDCLASS, ITE
      * 
      * For internal use only - subclasses should use
      * {@link #internalAddItemAtEnd(Object, Item, boolean)},
-     * {@link #internalAddItemAt(int, Object, Item)} and
-     * {@link #internalAddItemAfter(Object, Object, Item)} instead.
+     * {@link #internalAddItemAt(int, Object, Item, boolean)} and
+     * {@link #internalAddItemAfter(Object, Object, Item, boolean)} instead.
      * 
      * @param position
      *            The position at which the item should be inserted in the
@@ -672,7 +672,9 @@ public abstract class AbstractInMemoryContainer<ITEMIDTYPE, PROPERTYIDCLASS, ITE
      *            new item to add
      * @param filter
      *            true to perform filtering and send event after adding the
-     *            item, false to skip them
+     *            item, false to skip these operations for batch inserts - if
+     *            false, caller needs to make sure these operations are
+     *            performed at the end of the batch
      * @return item added or null if no item was added
      */
     protected ITEMCLASS internalAddItemAtEnd(ITEMIDTYPE newItemId,
@@ -702,10 +704,15 @@ public abstract class AbstractInMemoryContainer<ITEMIDTYPE, PROPERTYIDCLASS, ITE
      * @param newItemId
      * @param item
      *            new item to add
+     * @param filter
+     *            true to perform filtering and send event after adding the
+     *            item, false to skip these operations for batch inserts - if
+     *            false, caller needs to make sure these operations are
+     *            performed at the end of the batch
      * @return item added or null if no item was added
      */
     protected ITEMCLASS internalAddItemAfter(ITEMIDTYPE previousItemId,
-            ITEMIDTYPE newItemId, ITEMCLASS item) {
+            ITEMIDTYPE newItemId, ITEMCLASS item, boolean filter) {
         // only add if the previous item is visible
         ITEMCLASS newItem = null;
         if (previousItemId == null) {
@@ -733,20 +740,26 @@ public abstract class AbstractInMemoryContainer<ITEMIDTYPE, PROPERTYIDCLASS, ITE
      * @param index
      *            position where to add the item (visible/view index)
      * @param newItemId
+     * @param item
+     *            new item to add
+     * @param filter
+     *            true to perform filtering and send event after adding the
+     *            item, false to skip these operations for batch inserts - if
+     *            false, caller needs to make sure these operations are
+     *            performed at the end of the batch
      * @return item added or null if no item was added
-     * @return
      */
     protected ITEMCLASS internalAddItemAt(int index, ITEMIDTYPE newItemId,
-            ITEMCLASS item) {
+            ITEMCLASS item, boolean filter) {
         if (index < 0 || index > size()) {
             return null;
         } else if (index == 0) {
             // add before any item, visible or not
-            return internalAddItemAfter(null, newItemId, item);
+            return internalAddItemAfter(null, newItemId, item, filter);
         } else {
             // if index==size(), adds immediately after last visible item
             return internalAddItemAfter(getIdByIndex(index - 1), newItemId,
-                    item);
+                    item, filter);
         }
     }
 
index 6c8e5f0f2e42cf7ff56e26ecad98ff09daea81dd..1ddc830e4e9b24180ed345f040a75566457be41f 100644 (file)
@@ -331,7 +331,7 @@ public class IndexedContainer extends
     @Override
     public Item addItemAfter(Object previousItemId, Object newItemId) {
         return internalAddItemAfter(previousItemId, newItemId,
-                new IndexedContainerItem(newItemId));
+                new IndexedContainerItem(newItemId), true);
     }
 
     /*
@@ -360,7 +360,7 @@ public class IndexedContainer extends
     @Override
     public Item addItemAt(int index, Object newItemId) {
         return internalAddItemAt(index, newItemId, new IndexedContainerItem(
-                newItemId));
+                newItemId), true);
     }
 
     /*