123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- ---
- 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.
-
- ====
-
-
-
-
-
|