Architecture

Central aspects of the linkki Framework are

  • the declarative definition of UIs via annotations

  • the flexible data binding

In the first part of this chapter the BindingContext and BindingManager basics, and how they interact, are detailed.

Further on, Data binding with PMOs is explained. These can be simple PMOs, in which values are stored, or PMOs with domain model binding, where values are bound directly to the domain model. The binding of multiple model objects in a PMO is also explained.

Which properties of the defined UI elements can be controlled and which possibilities linkki provides, is discussed in the section Binding of further UI element properties.

The chapter concludes with Cross-Sectional Data Binding.

Modules

linkki is split into several modules from which you can pick what you need:

linkki-core

The core module contains UI framework independent code to setup bindings, aspects, BindingContext etc. In addition, it provides common usable implementations for reading linkki annotations. As a result, linkki-core dependent code can stay unmodified when switching to a different UI framework. It also sets up as much as possible to enable the framework specific part to easily create the UI elements and layout components.

To declare the dependency in maven:

<dependency>
    <groupId>org.linkki-framework</groupId>
    <artifactId>linkki-core</artifactId>
</dependency>

linkki-core-vaadin7

To use linkki with Vaadin 7 you need to reference this module. It provides all the vaadin 7 specific implementations and all component annotations described in UI Components.

To use it in maven, it has to be declared in pom as dependency as shown below:

<dependency>
    <groupId>org.linkki-framework</groupId>
    <artifactId>linkki-core-vaadin7</artifactId>
</dependency>

linkki-application-framework

The application framework contains additional classes for building business applications, described in Application Framework.

To declare the dependency in maven:

<dependency>
    <groupId>org.linkki-framework</groupId>
    <artifactId>linkki-application-framework</artifactId>
</dependency>

Content

  1. BindingContext Basics
  2. Data Binding with PMOs
  3. Data on Multiple Layers
  4. Binding further UI properties
  5. Cross-Sectional Data Binding