- Extension ID
- What's new?
- Description
- In what situation should you install this extension?
- Supported versions
- Supported APIs responsible for creating a Vaadin View Object
- Supported APIs responsible for creating a Vaadin Event Handler Object
- AIP Core compatibility
- Supported DBMS servers
- Dependencies with other extensions
- Download and installation instructions
- What results can you expect?
- Example code scenarios
Extension ID
com.castsoftware.vaadin
What's new?
See Vaadin Framework - 1.0 - Release Notes for more information.
Description
This extension provides support for Vaadin Framework - Vaadin is a web app development framework for Java that includes a large library of UI components.
In what situation should you install this extension?
The main purpose of this extension is to provide support for views and events provided in the Vaadin Framework and link them to the relevant java objects (resolved by the JEE Analyzer).
Supported versions
The following table displays the list of version that this extension supports.
Framework Name | Version | Supported |
---|---|---|
Vaadin | 7.x.x | |
8.x.x | ||
Vaadin Flow | 10.x.x | |
14.x.x | ||
22.x.x | ||
23.x.x | ||
24.x.x |
Supported APIs responsible for creating a Vaadin View Object
Framework | Vaadin API responsible | Type of support | Supported |
---|---|---|---|
Vaadin | com.vaadin.navigator.View | Class inheritance Since 1.0.0-alpha2:
| 1.0.0-alpha1 |
Vaadin Flow | com.vaadin.flow.component.orderedlayout.* com.vaadin.flow.component.applayout.* com.vaadin.flow.component.html.* com.vaadin.flow.router.Route | Presence of Route annotation Since 1.0.0-alpha2:
| 1.0.0-alpha1 |
Supported APIs responsible for creating a Vaadin Event Handler Object
Colored cell are the latest additions:
Framework | API | Signature to support | Version added | Handling listener | ||||
---|---|---|---|---|---|---|---|---|
Lambda expression | Method reference | Anonymous class | Custom Instance of Click/Focus/Blur/Listener API class | Regular Method Call* | ||||
Vaadin | com.vaadin.ui.Button.Button | (text, listener) or (icon, listener) | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||
Vaadin | com.vaadin.ui.Button.addClickListener | listener | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||
Vaadin | com.vaadin.ui.AbstractFocusable.addFocusListener | listener | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||
Vaadin | com.vaadin.ui.AbstractFocusable.addBlurListener | listener | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||
Vaadin | com.vaadin.ui.AbstractField.addValueChangeListener | listener | 1.0.0-beta1 | |||||
Vaadin | com.vaadin.ui.CheckBox.addFocusListener | listener | 1.0.0-beta1 | |||||
Vaadin | com.vaadin.ui.CheckBox.addBlurListener | listener | 1.0.0-beta1 | |||||
Vaadin | com.vaadin.event.FieldEvents.FocusNotifier.addFocusListener | listener | 1.0.0-beta1 | |||||
Vaadin | com.vaadin.event.FieldEvents.BlurNotifier.addBlurListener | listener | 1.0.0-beta1 | |||||
Vaadin | com.vaadin.ui.ComboBox.addValueChangeListener | listener | 1.0.0-beta1 | |||||
Vaadin | com.vaadin.ui.ComboBox.addFocusListener | listener | 1.0.0-beta1 | |||||
Vaadin | com.vaadin.ui.ComboBox.addBlurListener | listener | 1.0.0-beta1 | |||||
Vaadin Flow | com.vaadin.flow.component.button.Button.Button | (text, listener) or (icon, listener) | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||
(text, icon, listener) | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||||
Vaadin Flow | com.vaadin.flow.component.ClickNotifier.addClickListener | listener | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||
Vaadin Flow | com.vaadin.flow.component.FocusNotifier.addFocusListener | listener | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||
Vaadin Flow | com.vaadin.flow.component.BlurNotifier.addBlurListener | listener | 1.0.0-alpha1 & 1.0.0-alpha2 | |||||
Vaadin Flow | com.vaadin.flow.component.checkbox.Checkbox.Checkbox | (boolean, listener) or (str, listener) | 1.0.0-beta1 | |||||
(str, boolean, listener) | 1.0.0-beta1 | |||||||
Vaadin Flow | com.vaadin.flow.component.combobox.ComboBox.ComboBox | listener | 1.0.0-beta1 | |||||
(str, listener) or (str, listener, items) | 1.0.0-beta1 | |||||||
Vaadin Flow | com.vaadin.flow.component.AbstractField.addValueChangeListener | listener | 1.0.0-beta1 |
Note
- Providing a regular methodcall* as listener implies that there must by a return statement of type Click/Focus/Blur/Listener that declares the Click/Focus/Blur/Event to be executed on action.
- Vaadin implicitly treats Lambdas and Method references patterns such that the body of the Lambda or Method are seen as XxxEvents.
- When custom (or anonymous XxxListener) classes are explicitly instantiated then the according action methods is executed for example, the method "ButtonClick" for a Click, "blur" for a focus loss and "focus" for a focus gained.
AIP Core compatibility
AIP Core release | Supported |
---|---|
8.3.x |
Supported DBMS servers
DBMS | Supported |
---|---|
CSS/PostgreSQL |
Dependencies with other extensions
Some CAST extensions require the presence of other CAST extensions in order to function correctly. The Vaadin Framework extension requires that the following other CAST extensions are also installed:
- CAST AIP Internal extension (internal technical extension)
- JEE Analyzer
Download and installation instructions
The extension will not be automatically installed by CAST Console, therefore you should ensure that the extension is manually installed using the Application - Extensions interface:
What results can you expect?
Once the analysis/snapshot generation has completed, you can view the results in the normal manner. The following objects and links will be resolved:
Objects
Icon | Description | Name |
---|---|---|
Vaadin View | Name of the java class inheriting Vaadin views or annotated with @Route. | |
Vaadin Event Handler | name_of_component.name_of_event, e.g.:
| |
Java Method (com.castsoftware.java.internal) | since alpha2: For overrided methods:
A new object is created when one of those methods name is found within a listener parameter declare with an Anonymous Vaadin Class. |
Links
Link Type | Source | Destination | Action |
---|---|---|---|
callLink | Vaadin View | Vaadin Event Handler | link created by com.castsoftware.vaadin |
callLink | Vaadin Event Handler | Java Lambda Expression Java Method (com.castsoftware.jee) Method of Anonymous Class/Java Method (com.castsoftware.internal.java) | link created by com.castsoftware.vaadin |
Access Exec | Java Constructor Java Method | Java Lambda Expression | link created by com.castsoftware.jee link deleted by com.castsoftware.vaadin |
Mention | Java Constructor Java Method | Java Method | link created by com.castsoftware.jee link deleted by com.castsoftware.vaadin |
Example code scenarios
Example of Support for View and Event Handler
Result in Enlighten:
For this result the current extension adds or removed the following Objects, Links and Properties:
Objects
Icon | Type of Object | Name of Object | With guid ending if same fullname |
---|---|---|---|
Vaadin View | MyView | N/A | |
Vaadin Event Handler | Button.Click | parent.Button.Click_1 |
Created Links
Caller | Caller name | Type of Link | Callee | Callee name | Callee GUID |
---|---|---|---|---|---|
Vaadin View | MyView | callLink | Vaadin Event Handler | Button.Click | parent.Button.Click_1 |
Vaadin Event Handler | Button.Click (Click_1) | callLink | Java Lambda Expression | MyView$lambda$0 | N/A |
Removed Links
Caller | Caller name | Type of Link | Callee | Callee name |
---|---|---|---|---|
Java Constructor | MyView | Access Exec | Java Lambda Expression | MyView$lambda$0 |
Example of Support for View and Event Handler in Vaadin Flow with Method Reference
Result in Enlighten:
For this result the current extension adds or removed the following Objects, Links and Properties:
Objects
Icon | Type of Object | Name of Object | With GUID ending if same fullname |
---|---|---|---|
Vaadin View | ViewWithMethodReference | N/A | |
Vaadin Event Handler | Button.Click | parent.Button.Click_1 | |
Vaadin Event Handler | Button.Click | parent.Button.Click_2 | |
Vaadin Event Handler | Button.Focus | parent.Button.Focus_1 | |
Vaadin Event Handler | Button.Blur | parent.Button.Blur_1 |
Created Links
Caller | Caller name | Type of Link | Callee | Callee name | Callee GUID |
---|---|---|---|---|---|
Vaadin View | HomeView | callLink | Vaadin Event Handler | Button.Click | parent.Button.Click_1 |
Vaadin View | HomeView | callLink | Vaadin Event Handler | Button.Click | parent.Button.Click_2 |
Vaadin View | HomeView | callLink | Vaadin Event Handler | Button.Focus | parent.Button.Focus_1 |
Vaadin View | HomeView | callLink | Vaadin Event Handler | Button.Blur | parent.Button.Blur_1 |
Vaadin Event Handler | Button.Click (Click_1) | callLink | Java Method | NotifTrigger | N/A |
Vaadin Event Handler | Button.Click (Click_2) | callLink | Java Method | NotifTrigger | N/A |
Vaadin Event Handler | Button.Focus | callLink | Java Method | RedBackground | N/A |
Vaadin Event Handler | Button.Blur | callLink | Java Method | GoBackToDefault | N/A |
Removed Links
Caller | Caller name | Type of Link | Callee | Callee name |
---|---|---|---|---|
Java Constructor | ViewWithMethodReference | Mention | Java Method | NotifTrigger |
Java Constructor | ViewWithMethodReference | Mention | Java Method | RedBackground |
Java Constructor | ViewWithMethodReference | Mention | Java Method | GoBackToDefault |
Example of Support for View and Event Handler with MethodOfAnonymousClass
Result in Enlighten:
For this result the current extension adds or removes the following Objects, Links and Properties:
Objects
Icon | Type of Object | Name of Object | With GUID ending if same fullname |
---|---|---|---|
Vaadin View | AnonymousView | N/A | |
Vaadin Event Handler | Button.Click | parent.Button.Click_1 | |
Vaadin Event Handler | Button.Click | parent.Button.Click_2 | |
Method of Anonymous Class | buttonClick | parent.buttonClick_1 |
Created Links
Caller | Caller name | Type of Link | Callee | Callee name | Callee GUID |
---|---|---|---|---|---|
Vaadin View | AnonymousView | callLink | Vaadin Event Handler | Button.Click | parent.Button.Click_1 |
Vaadin View | AnonymousView | callLink | Vaadin Event Handler | Button.Click | parent.Button.Click_2 |
Vaadin Event Handler | Button.Click | callLink | Java Lambda Expression | AnonymousView$lambda$0 | N/A |
Vaadin Event Handler | Button.Click | callLink | Method of Anonymous Class | buttonClick | parent.buttonClick_1 |
Method of Anonymous Class | buttonClick | callLink | Java Method | getUI | N/A |
Removed Links
Caller | Caller name | Type of Link | Callee | Callee name |
---|---|---|---|---|
Java Constructor | AnonymousView | Access Exec | Java Lambda Expression | AnonymousView$lambda$0 |
Java Constructor | AnonymousView | Access Exec | Java Method | getUI |
Complex binding between View, Event Handler and Action to perform.
Result in Enlighten:
Objects
Icon | Type of Object | Name of Object | With GUID ending if same fullname |
---|---|---|---|
Vaadin View | ComboBoxView10 | N/A | |
Vaadin Event Handler | ComboBox<String>.ValueChange | ComboBox<String>.ValueChange_1 |
Created Links
Caller | Caller name | Type of Link | Callee | Callee name | Callee GUID |
---|---|---|---|---|---|
Vaadin View | ComboBoxView10 | callLink | Vaadin Event Handler | ComboBox<String>.ValueChange | ComboBox<String>.ValueChange_1 |
Vaadin Event Handler | Button.Click | callLink | Java Method | myComboBoxListener | N/A |
Removed Links
None