Interfaces
Mateu defines a set of Java interfaces that your classes implement to plug into the framework’s rendering, routing, data-loading, and action-handling pipelines.
Page and component rendering
Section titled “Page and component rendering”| Interface | Description |
|---|---|
ComponentTreeSupplier | Implement to provide a custom component tree for a route |
TitleSupplier | Provides the page title dynamically |
SubtitleSupplier | Provides the page subtitle dynamically |
PageTitleSupplier | Provides the browser tab title dynamically |
Application structure
Section titled “Application structure”| Interface | Description |
|---|---|
MenuSupplier | Provides the application navigation menu |
Actionable | A navigable menu item or action link |
Submenu | Marker interface for submenu containers |
App | Marker interface for application root classes |
Data loading
Section titled “Data loading”| Interface | Description |
|---|---|
ListingBackend | Provides paginated, searchable, filterable data for a grid |
ReactiveListingBackend | Reactive (Reactor) variant of ListingBackend |
DataSupplier | Provides arbitrary data to the component |
CommandSupplier | Provides UI commands to execute on the client side |
PostHydrationHandler | Called after the server re-hydrates component state |
Action handling
Section titled “Action handling”| Interface | Description |
|---|---|
ActionHandler | Handles named actions triggered from the UI |
RouteHandler | Handles navigation requests for a route |
HttpRequest | Provides access to request context, parameters, and state |
Persistence
Section titled “Persistence”| Interface | Description |
|---|---|
CrudRepository | Basic CRUD operations for an entity |
CrudAdapter | Full CRUD + listing adapter with separate view/editor forms |
Validation
Section titled “Validation”| Interface | Description |
|---|---|
ValidationSupplier | Provides cross-field validations programmatically |
RuleSupplier | Provides conditional UI rules programmatically |