diff options
author | Ilia Motornyi <elmot@vaadin.com> | 2015-12-03 14:59:05 +0000 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2015-12-03 14:59:12 +0000 |
commit | 2af72ba9636bec70046394c41744f89ce4572e35 (patch) | |
tree | ccb3dc2d2239585f8c3f79eb5f131ff61ca9ce86 /documentation/datamodel/datamodel-overview.asciidoc | |
parent | 8aa5fabe89f2967e966a64842a608eceaf80d08f (diff) | |
download | vaadin-framework-2af72ba9636bec70046394c41744f89ce4572e35.tar.gz vaadin-framework-2af72ba9636bec70046394c41744f89ce4572e35.zip |
Revert "Merge branch 'documentation'"7.6.0.beta2
This reverts commit f6874bde3d945c8b2d1b5c17ab50e2d0f1f8ff00.
Change-Id: I67ee1c30ba3e3bcc3c43a1dd2e73a822791514bf
Diffstat (limited to 'documentation/datamodel/datamodel-overview.asciidoc')
-rw-r--r-- | documentation/datamodel/datamodel-overview.asciidoc | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/documentation/datamodel/datamodel-overview.asciidoc b/documentation/datamodel/datamodel-overview.asciidoc deleted file mode 100644 index 95209e0b76..0000000000 --- a/documentation/datamodel/datamodel-overview.asciidoc +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: Overview -order: 1 -layout: page ---- - -[[datamodel.overview]] -= Overview - -The Vaadin Data Model is one of the core concepts of the library. To allow the -view (user interface components) to access the data model of an application -directly, we have introduced a standard data interface. - -The model allows binding user interface components directly to the data that -they display and possibly allow to edit. There are three nested levels of -hierarchy in the data model: __property__, __item__, and __container__. Using a -spreadsheet application as an analogy, these would correspond to a cell, a row, -and a table, respectively. - -.Vaadin Data Model -image::img/datamodel-whitebg.png[] - -The Data Model is realized as a set of interfaces in the -[classname]#com.vaadin.data# package. The package contains the -[classname]#Property#, [classname]#Item#, and [classname]#Container# interfaces, -along with a number of more specialized interfaces and classes. - -Notice that the Data Model does not define data representation, but only -interfaces. This leaves the representation fully to the implementation of the -containers. The representation can be almost anything, such as a plain old Java -object (POJO) structure, a filesystem, or a database query. - -The Data Model is used heavily in the core user interface components of Vaadin, -especially the field components, that is, components that implement the -[classname]#Field# interface or more typically extend -[classname]#AbstractField#, which defines many common features. A key feature of -all the built-in field components is that they can either maintain their data by -themselves or be bound to an external data source. The value of a field is -always available through the [classname]#Property# interface. As more than one -component can be bound to the same data source, it is easy to implement various -viewer-editor patterns. - -The relationships of the various interfaces are shown in -<<figure.datamodel.overview.relationships>>; the value change event and listener -interfaces are shown only for the [classname]#Property# interface, while the -notifier interfaces are omitted altogether. - -[[figure.datamodel.overview.relationships]] -.Interface Relationships in Vaadin Data Model -image::img/datamodel-interfaces-hi.png[] - -The Data Model has many important and useful features, such as support for -change notification. Especially containers have many helper interfaces, -including ones that allow indexing, ordering, sorting, and filtering the data. -Also [classname]#Field# components provide a number of features involving the -data model, such as buffering, validation, and lazy loading. - -Vaadin provides a number of built-in implementations of the data model -interfaces. The built-in implementations are used as the default data models in -many field components. - -In addition to the built-in implementations, many data model implementations, -such as containers, are available as add-ons, either from the Vaadin Directory -or from independent sources. Both commercial and free implementations exist. The -JPAContainer, described in -<<dummy/../../../framework/jpacontainer/jpacontainer-overview.asciidoc#jpacontainer.overview,"Vaadin -JPAContainer">>, is the most often used conmmercial container add-on. The -installation of add-ons is described in -<<dummy/../../../framework/addons/addons-overview.asciidoc#addons.overview,"Using -Vaadin Add-ons">>. Notice that unlike with most regular add-on components, you -do not need to compile a widget set for add-ons that include just data model -implementations. |