Concepts
These are the core building blocks of Mateu. Understanding them lets you build any UI the framework supports.
What Mateu does
Section titled “What Mateu does”Mateu turns a plain Java class into a running UI. Fields become form state. Annotated methods become actions. Routes are declared with @UI and @Route. The framework handles everything between.
The request cycle is stateless: each request instantiates the ViewModel, hydrates it with URL and form data, executes the requested action, and discards the object.
Recommended reading order
Section titled “Recommended reading order”- State, actions and fields — fields, controls, actions, return types
- Execution model — the stateless request cycle
- ViewModel lifecycle — instantiate → hydrate → execute → respond
- Routing and parameters — path params, query params, URL binding
- UI vs Route —
@UIvs@Routeand how they compose - Field stereotypes — overriding inferred controls with
@Stereotype - Validation — Bean Validation annotations in the UI
- Action behavior —
@Button,@Toolbar,@Action, row-level actions - UI effects — what actions can return and what each type does
- Declarative vs fluent — when to use annotations vs the builder API
What you will learn
Section titled “What you will learn”These concepts explain how Mateu:
- turns a Java class into a rendered form
- maps URL parameters to ViewModel fields
- executes actions inside a stateless lifecycle
- sends effects back to the browser (messages, navigation, state updates)
- lets you override inferred rendering with stereotypes
- validates input using standard Bean Validation