Skip to content

Build

This section covers the practical work of building Mateu UIs. Each page goes deeper into a specific aspect of the framework. The pages follow a progression from the outer shell inward, and from simple to advanced.

Start with the shell and navigation — these define the frame every user sees. Then move into domain modeling and CRUD, which is where most of your application code lives. Finally, tackle advanced composition patterns like master-detail, custom row actions, and full orchestrator control.

If you are building something new, read the pages in order. If you are solving a specific problem, jump directly to the relevant page.


  • CRUD navigation flow — the list → view → edit flow and how to customize it
  • Listings and capabilities — the central model: a Listing<Row> plus the capability interfaces you declare (Searchable, Filterable, Navigable, Editable, Creatable, Deletable); a CRUD is the full pack
  • AutoCrud<T> — the simplest way to get a CRUD or read-only listing, with capability annotations
  • Customising AutoCrud behaviour — override fetchRows, buildNamedView, or buildCreationForm for custom search, pre-populated forms, and more
  • CrudStore — the repository contract consumed by the auto adapters, with Spring Data JPA integration
  • Customizing CRUD and listings — visibility, layout, actions, and capability annotations
  • Filtered orchestrators — add a dedicated filter model without leaving the auto variants
  • Full control with Crud — explicit models for filters, rows, views, editors, and creation forms
  • EditableView — single-entity view with an Edit button, no list
  • MultiView — the root base class that handles routing and screen wrapping for all orchestrators
  • Listing<Row> — standalone listings: toolbar actions, export, and selector support