aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc
diff options
context:
space:
mode:
authorelmot <elmot@vaadin.com>2015-09-25 16:40:44 +0300
committerelmot <elmot@vaadin.com>2015-09-25 16:40:44 +0300
commita1b265c318dbda4a213cec930785b81e4c0f7d2b (patch)
treeb149daf5a4f50b4f6446c906047cf86495fe0433 /documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc
parentb9743a48a1bd0394f19c54ee938c6395a80f3cd8 (diff)
downloadvaadin-framework-a1b265c318dbda4a213cec930785b81e4c0f7d2b.tar.gz
vaadin-framework-a1b265c318dbda4a213cec930785b81e4c0f7d2b.zip
Framework documentation IN
Change-Id: I767477c1fc3745f9e1f58075fe30c9ac8da63581
Diffstat (limited to 'documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc')
-rw-r--r--documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc66
1 files changed, 66 insertions, 0 deletions
diff --git a/documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc b/documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc
new file mode 100644
index 0000000000..595085822f
--- /dev/null
+++ b/documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc
@@ -0,0 +1,66 @@
+---
+title: Non-Implemented Methods
+order: 8
+layout: page
+---
+
+[[sqlcontainer.nonimplemented]]
+= Non-Implemented Methods
+
+Due to the database connection inherent to the SQLContainer, some of the methods
+from the container interfaces of Vaadin can not (or would not make sense to) be
+implemented. These methods are listed below, and they will throw an
+[classname]#UnsupportedOperationException# on invocation.
+
+
+----
+public boolean addContainerProperty(Object propertyId,
+ Class<?> type,
+ Object defaultValue)
+public boolean removeContainerProperty(Object propertyId)
+public Item addItem(Object itemId)
+public Object addItemAt(int index)
+public Item addItemAt(int index, Object newItemId)
+public Object addItemAfter(Object previousItemId)
+public Item addItemAfter(Object previousItemId, Object newItemId)
+----
+
+Additionally, the following methods of the [classname]#Item# interface are not
+supported in the [classname]#RowItem# class:
+
+
+----
+public boolean addItemProperty(Object id, Property property)
+public boolean removeItemProperty(Object id)
+----
+
+[[sqlcontainer.nonimplemented.getitemids]]
+== About the getItemIds() method
+
+To properly implement the Vaadin [classname]#Container# interface, a
+[methodname]#getItemIds()# method has been implented in the
+[classname]#SQLContainer#. By definition, this method returns a collection of
+all the item IDs present in the container. What this means in the
+[classname]#SQLContainer# case is that the container has to query the database
+for the primary key columns of all the rows present in the connected database
+table.
+
+It is obvious that this could potentially lead to fetching tens or even hundreds
+of thousands of rows in an effort to satisfy the method caller. This will
+effectively kill the lazy loading properties of [classname]#SQLContainer# and
+therefore the following warning is expressed here:
+
+
+[WARNING]
+====
+It is highly recommended not to call the [methodname]#getitemIds()# method,
+unless it is known that in the use case in question the item ID set will always
+be of reasonable size.
+
+====
+
+
+
+
+
+