aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc
diff options
context:
space:
mode:
authorMarkus Koivisto <markus@vaadin.com>2016-01-22 14:55:18 +0200
committerMarkus Koivisto <markus@vaadin.com>2016-01-22 14:55:18 +0200
commit99d6de546c74f0eed230ea8253dda6b85109d2e7 (patch)
tree10fc21c557566fe3241e6e13499df18d80f8dcb2 /documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc
parent610736d9f373d4b37fd39ff8f90aabd13eab7926 (diff)
downloadvaadin-framework-99d6de546c74f0eed230ea8253dda6b85109d2e7.tar.gz
vaadin-framework-99d6de546c74f0eed230ea8253dda6b85109d2e7.zip
Add documentation to master branch
Change-Id: I2504bb10f1ae73ec0cbc08b7ba5a88925caa1674
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.
+
+====
+
+
+
+
+
+