<dependency>
<groupId>org.linkki-framework</groupId>
<artifactId>linkki-bom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Getting Started
You can either add the required dependencies to an existing project or use one of the Maven archetypes to get started.
Maven dependencies
linkki-bom
The linkki BOM in linkki-bom
groups all dependency versions that are known to be valid and tested to work together for linkki projects. This will reduce the developers’ pain of having to test the compatibility of different versions and reduce the chances to have version mismatches.
To create a linkki project, just add this linkki BOM and any of the following dependencies depending on the feature set you need.
linkki-core
<dependency>
<groupId>org.linkki-framework</groupId>
<artifactId>linkki-core-vaadin-flow</artifactId>
</dependency>
linkki-vaadin-flow-component
linkki-vaadin-flow-component
contains the following additional features:
<dependency>
<groupId>org.linkki-framework</groupId>
<artifactId>linkki-vaadin-flow-component</artifactId>
</dependency>
linkki-application-framework
linkki-application-framework
contains the following additional features:
-
LinkkiUi
withApplicationLayout
andApplicationConfig
as well as an adjusted theme -
UI Components to display validation messages
<dependency>
<groupId>org.linkki-framework</groupId>
<artifactId>linkki-application-framework-vaadin-flow</artifactId>
</dependency>
linkki-core-nestedcomponent-vaadin-flow
linkki-core-nestedcomponent-vaadin-flow
contains the following additional features:
<dependency>
<groupId>org.linkki-framework</groupId>
<artifactId>linkki-core-nestedcomponent-vaadin-flow</artifactId>
</dependency>
linkki-ips-vaadin-flow
linkki-ips-vaadin-flow
contains the following additional features:
<dependency>
<groupId>org.linkki-framework</groupId>
<artifactId>linkki-ips-vaadin-flow</artifactId>
</dependency>
In addition to the linkki dependency, a linkki application with Vaadin may require a Vaadin Spring Boot starter.
Initial project structure
BusinessPartner
-
A spring specific class which allows our project to be run as a Java application. This class will not be found in the plain archetype.
BusinessPartnerInfo
-
Defines basic information about our linkki application.
BusinessPartnerConfig
-
Provides an instance of our
BusinessPartnerInfo
class and providesApplicationMenuItemDefinition
items to create anApplicationMenu
for theApplicationHeader
. BusinessPartnerLayout
-
Uses the
BusinessPartnerConfig
class to provide information for our application. HelloPmo
-
Defines a section on the webpage which is used in the UI of the application. You can apply annotations like
@UITextfield
to your methods to create specific UI elements. For more information about creating a UI see UI elements. BusinessPartnerPage
-
Allows displaying and editing data in a certain layout and can consist of so called sections defined with multiple PMOs.
BusinessPartnerView
-
Defines the entrypoint of a our main page.