diff options
author | Markus Koivisto <markus@vaadin.com> | 2016-01-22 14:55:18 +0200 |
---|---|---|
committer | Markus Koivisto <markus@vaadin.com> | 2016-01-22 14:55:18 +0200 |
commit | 99d6de546c74f0eed230ea8253dda6b85109d2e7 (patch) | |
tree | 10fc21c557566fe3241e6e13499df18d80f8dcb2 /documentation/sqlcontainer/sqlcontainer-nonimplemented.asciidoc | |
parent | 610736d9f373d4b37fd39ff8f90aabd13eab7926 (diff) | |
download | vaadin-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.asciidoc | 66 |
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. + +==== + + + + + + |